Skip to content

Commit

Permalink
HCK-4395: port logging enhancement from SQLServer plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
dannleed committed Jan 11, 2024
1 parent 0378499 commit 6b86cf9
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 8 deletions.
30 changes: 25 additions & 5 deletions reverse_engineering/databaseService/databaseService.js
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,19 @@ const getTableRow = async (connectionClient, dbName, tableName, tableSchema, rec

if (recordSamplingSettings.active === 'absolute') {
amount = Number(recordSamplingSettings.absolute.value);
logger.log(
'info',
{ message: `Get ${amount} rows from '${tableName}' table for sampling JSON data.` },
'Reverse Engineering',
);
} else {
const rowCount = await getTableRowCount(tableSchema, tableName, currentDbConnectionClient);
amount = getSampleDocSize(rowCount, recordSamplingSettings);
logger.log(
'info',
{ message: `Get ${amount} rows of total ${rowCount} from '${tableName}' table for sampling JSON data.` },
'Reverse Engineering',
);
}

return mapResponse(
Expand Down Expand Up @@ -212,8 +222,11 @@ const getViewDistributedColumns = async (connectionClient, dbName, tableName, ta
`);
};

const getDatabaseIndexes = async (connectionClient, dbName) => {
const getDatabaseIndexes = async (connectionClient, dbName, logger) => {
const currentDbConnectionClient = await getNewConnectionClientByDb(connectionClient, dbName);

logger.log('info', { message: `Get '${dbName}' database indexes.`}, 'Reverse Engineering');

return mapResponse(await currentDbConnectionClient.query`
SELECT
TableName = t.name,
Expand Down Expand Up @@ -270,6 +283,8 @@ const getViewsIndexes = async (connectionClient, dbName) => {
const getPartitions = async (connectionClient, dbName) => {
const currentDbConnectionClient = await getNewConnectionClientByDb(connectionClient, dbName);

logger.log('info', { message: `Get '${dbName}' database partitions.`}, 'Reverse Engineering');

return mapResponse(await currentDbConnectionClient.query`
SELECT
sch.name AS schemaName,
Expand Down Expand Up @@ -308,10 +323,12 @@ const getTableColumnsDescription = async (connectionClient, dbName, tableName, s
`);
};

const getDatabaseMemoryOptimizedTables = async (connectionClient, dbName) => {
const getDatabaseMemoryOptimizedTables = async (connectionClient, dbName, logger) => {
try {
const currentDbConnectionClient = await getNewConnectionClientByDb(connectionClient, dbName);

logger.log('info', { message: `Get '${dbName}' database memory optimized indexes.` }, 'Reverse Engineering');

return mapResponse(currentDbConnectionClient.query`
SELECT
T.name,
Expand All @@ -324,7 +341,7 @@ const getDatabaseMemoryOptimizedTables = async (connectionClient, dbName) => {
WHERE T.is_memory_optimized=1
`);
} catch (error) {
logger.log('error', { message: error.message, stack: error.stack, error }, 'Retrieve memory optimzed tables');
logger.log('error', { message: error.message, stack: error.stack, error }, 'Retrieve memory optimized tables');

return [];
}
Expand Down Expand Up @@ -455,13 +472,16 @@ const getTableDefaultConstraintNames = async (connectionClient, dbName, tableNam
`);
};

const getDatabaseUserDefinedTypes = async (connectionClient, dbName) => {
const getDatabaseUserDefinedTypes = async (connectionClient, dbName, logger) => {
const currentDbConnectionClient = await getNewConnectionClientByDb(connectionClient, dbName);

logger.log('info', { message: `Get '${dbName}' database UDTs.` }, 'Reverse Engineering');

return mapResponse(currentDbConnectionClient.query`
select * from sys.types
where is_user_defined = 1
`);
}
};

const mapResponse = async (response = {}) => {
return (await response).recordset;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -361,10 +361,10 @@ const reverseCollectionsToJSON = logger => async (dbConnectionClient, tablesInfo
const [
databaseIndexes, databaseMemoryOptimizedTables, databaseUDT, dataBasePartitions
] = await Promise.all([
getDatabaseIndexes(dbConnectionClient, dbName).catch(logError(logger, 'Getting indexes')),
getDatabaseIndexes(dbConnectionClient, dbName, logger).catch(logError(logger, 'Getting indexes')),
getDatabaseMemoryOptimizedTables(dbConnectionClient, dbName, logger).catch(logError(logger, 'Getting memory optimized tables')),
getDatabaseUserDefinedTypes(dbConnectionClient, dbName).catch(logError(logger, 'Getting user defined types')),
getPartitions(dbConnectionClient, dbName)
getDatabaseUserDefinedTypes(dbConnectionClient, dbName, logger).catch(logError(logger, 'Getting user defined types')),
getPartitions(dbConnectionClient, dbName, logger)
]);


Expand Down

0 comments on commit 6b86cf9

Please # to comment.