@metis-data/db-details
Advanced tools
@@ -17,2 +17,5 @@ import DbDetails from "../db-details"; | ||
| private dbDetails; | ||
| private activeAndIdleConnections; | ||
| private tableSizePrettyMode; | ||
| private dbVersion; | ||
| private options; | ||
@@ -25,2 +28,3 @@ private connection; | ||
| aggregateResourcesToOneResource(): Promise<void>; | ||
| isConnection(obj: any): obj is Connection; | ||
| getDbDetailsUseConnectionString(connection: Connection): Promise<any>; | ||
@@ -27,0 +31,0 @@ getDbDetails(clientOrConnectionConfig: Connection | Client, options?: DbDetailsOptions): Promise<any>; |
@@ -29,6 +29,6 @@ "use strict"; | ||
| setClientFromClientInstance(client) { | ||
| this.client = new pg_1.Client(client); | ||
| this.client = client; | ||
| } | ||
| setDataResourcesFromDb() { | ||
| var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; | ||
| var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t; | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
@@ -54,3 +54,12 @@ const mgClient = new pg_client_1.MPgClient(this.client); | ||
| } | ||
| if ((_l = this.options) === null || _l === void 0 ? void 0 : _l.getAllExtraData) { | ||
| if (((_l = this.options) === null || _l === void 0 ? void 0 : _l.getActiveAndIdleConnections) && !((_m = this.options) === null || _m === void 0 ? void 0 : _m.getAllExtraData)) { | ||
| this.activeAndIdleConnections = yield mgClient.queryDatabase((0, queries_1.query9_get_active_and_idle_connections)(this.client.database)); | ||
| } | ||
| if (((_o = this.options) === null || _o === void 0 ? void 0 : _o.getDbSizeInPrettyMode) && !((_p = this.options) === null || _p === void 0 ? void 0 : _p.getAllExtraData)) { | ||
| this.tableSizePrettyMode = yield mgClient.queryDatabase(queries_1.query10_get_db_size_pretty_mode); | ||
| } | ||
| if (((_q = this.options) === null || _q === void 0 ? void 0 : _q.getDbVersion) && !((_r = this.options) === null || _r === void 0 ? void 0 : _r.getAllExtraData)) { | ||
| this.dbVersion = yield mgClient.queryDatabase(queries_1.query11_get_db_version); | ||
| } | ||
| if ((_s = this.options) === null || _s === void 0 ? void 0 : _s.getAllExtraData) { | ||
| this.databaseAvailableExtensions = yield mgClient.queryDatabase(queries_1.query3_get_database_available_extensions); | ||
@@ -61,4 +70,7 @@ this.databaseConfig = yield mgClient.queryDatabase(queries_1.query5_get_database_config); | ||
| this.indexUsage = yield mgClient.queryDatabase(queries_1.query8_get_index_usage); | ||
| this.activeAndIdleConnections = yield mgClient.queryDatabase((0, queries_1.query9_get_active_and_idle_connections)(this.client.database)); | ||
| this.tableSizePrettyMode = yield mgClient.queryDatabase(queries_1.query10_get_db_size_pretty_mode); | ||
| this.dbVersion = yield mgClient.queryDatabase(queries_1.query11_get_db_version); | ||
| } | ||
| if (!(this.options && ((_m = this.options) === null || _m === void 0 ? void 0 : _m.keepClientConnectionOpen))) { | ||
| if (!(this.options && ((_t = this.options) === null || _t === void 0 ? void 0 : _t.keepClientConnectionOpen))) { | ||
| mgClient.endClient(); | ||
@@ -69,3 +81,3 @@ } | ||
| manageSlowQueryLogRead() { | ||
| var _a, _b; | ||
| var _a, _b, _c; | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
@@ -76,3 +88,3 @@ try { | ||
| const isFdwExtensionAvailable = yield mgClient.queryDatabase(queries_1.query6_helper_check_if_postgres_fdw_extension_available); | ||
| if (!(isFdwExtensionAvailable[0].name === 'log_fdw')) { | ||
| if (!(((_a = isFdwExtensionAvailable[0]) === null || _a === void 0 ? void 0 : _a.extname) === 'log_fdw')) { | ||
| yield mgClient.queryDatabase(queries_1.query6_helper_create_fdw_extension); | ||
@@ -84,3 +96,3 @@ } | ||
| this.logFileName = `'${logFileName[0].name}'`; | ||
| if ((_a = isForeignTableExist[0]) === null || _a === void 0 ? void 0 : _a.exists) { | ||
| if ((_b = isForeignTableExist[0]) === null || _b === void 0 ? void 0 : _b.exists) { | ||
| yield mgClient.queryDatabase(queries_1.query6_helper_dropForeignTable.replace('FOREIGN_TABLE_NAME', `${foreignTableName}`)); | ||
@@ -93,3 +105,3 @@ } | ||
| this.slowQueryLogData = yield mgClient.queryDatabase(queries_1.query6_get_from_table_log_fdw_slow_query_log.replace('FOREIGN_TABLE_NAME', foreignTableName)); | ||
| if (!(this.options && ((_b = this.options) === null || _b === void 0 ? void 0 : _b.keepClientConnectionOpen))) { | ||
| if (!(this.options && ((_c = this.options) === null || _c === void 0 ? void 0 : _c.keepClientConnectionOpen))) { | ||
| mgClient.endClient(); | ||
@@ -137,2 +149,11 @@ } | ||
| } | ||
| isConnection(obj) { | ||
| return (typeof obj === 'object' && | ||
| typeof obj.host === 'string' && | ||
| typeof obj.database === 'string' && | ||
| typeof obj.user === 'string' && | ||
| typeof obj.password === 'string' && | ||
| (typeof obj.port === 'undefined' || typeof obj.port === 'number') && | ||
| (typeof obj.ssl === 'undefined' || typeof obj.ssl === 'boolean')); | ||
| } | ||
| getDbDetailsUseConnectionString(connection) { | ||
@@ -155,5 +176,8 @@ return __awaiter(this, void 0, void 0, function* () { | ||
| } | ||
| else { | ||
| else if (this.isConnection(clientOrConnectionConfig)) { | ||
| this.setClientFromConnection(clientOrConnectionConfig); | ||
| } | ||
| else { | ||
| throw Error('clientOrConnectionConfig is not provided or empty'); | ||
| } | ||
| yield this.setDataResourcesFromDb(); | ||
@@ -175,5 +199,8 @@ this.aggregateResourcesToOneResource(); | ||
| } | ||
| else { | ||
| else if (this.isConnection(clientOrConnectionConfig)) { | ||
| this.setClientFromConnection(clientOrConnectionConfig); | ||
| } | ||
| else { | ||
| throw Error('clientOrConnectionConfig is not provided or empty'); | ||
| } | ||
| yield this.setDataResourcesFromDb(); | ||
@@ -187,3 +214,6 @@ this.aggregateResourcesToOneResource(); | ||
| tableSize: this.tableSize, | ||
| indexUsage: this.indexUsage | ||
| indexUsage: this.indexUsage, | ||
| activeAndIdleConnections: this.activeAndIdleConnections, | ||
| tableSizePrettyMode: this.tableSizePrettyMode[0]['pg_size_pretty'] || '', | ||
| dbVersion: this.dbVersion[0]['substring'] || 'unknown' | ||
| }; | ||
@@ -202,7 +232,13 @@ } | ||
| } | ||
| else { | ||
| else if (this.isConnection(clientOrConnectionConfig)) { | ||
| this.setClientFromConnection(clientOrConnectionConfig); | ||
| } | ||
| else { | ||
| throw Error('clientOrConnectionConfig is not provided or empty'); | ||
| } | ||
| yield this.manageSlowQueryLogRead(); | ||
| return this.slowQueryLogData; | ||
| return { | ||
| logFileName: this.logFileName, | ||
| data: this.slowQueryLogData | ||
| }; | ||
| } | ||
@@ -209,0 +245,0 @@ catch (error) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/dialects/postgres/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/dialects/postgres/index.ts"],"names":[],"mappings":"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"} |
| declare const query1_get_tables_rows_count_from_pg_class = "SELECT n.nspname AS schema_name, c.relname AS table_name, c.reltuples AS rows, c.relpages AS pages, c.oid AS relid\nFROM pg_class c\nJOIN pg_namespace n ON c.relnamespace = n.oid\nWHERE c.relkind = 'r'"; | ||
| declare const query2_get_tables_extra_data_from_pg_stats_extension = "SELECT relid,\nrelname as table_name, \n(schemaname || '.' || relname) as full_table_name,\nn_live_tup::INTEGER as rows,\nn_dead_tup::INTEGER as dead_rows,\nn_mod_since_analyze,\nCASE\n WHEN n_live_tup = 0 THEN 0\n ELSE n_mod_since_analyze / n_live_tup\nEND AS pct_mod_since_analyze,\nlast_analyze as last_analyze_date,\nlast_autoanalyze as last_autoanalyze_date,\npg_total_relation_size(relid) / 1024 as total_table_size_kb, \npg_table_size(relid) / 1024 as table_size_kb,\npg_indexes_size(relid) / 1024 as indexes_size_kb,\npg_size_pretty(pg_total_relation_size(relid)) as total_table_size_pretty, \npg_size_pretty(pg_table_size(relid)) as table_size_pretty,\npg_size_pretty(pg_indexes_size(relid)) as index_size_pretty\nFROM pg_stat_user_tables;"; | ||
| declare const query3_get_database_available_extensions = "SELECT name, default_version, installed_version, comment \nFROM pg_available_extensions \nORDER BY name"; | ||
| declare const query4_get_database_stat_statements = "\nselect distinct on (queryid ) queryid as query_id,\npgss.calls as calls,\npgss.query,\npgss.rows,\npgss.total_exec_time,\npgss.mean_exec_time,\npgss.dbid as db_id,\npgd.datname as database_name,\nblk_read_time + blk_write_time as disk_io_time,\nto_jsonb(pgss) - 'userId' - 'dbid' - 'mean_exec_time' - 'total_exec_time' - 'rows' - 'query' - 'queryid' - 'calls' as metadata\nfrom \npg_stat_statements as pgss\njoin pg_database as d on pgss.dbid = d.oid\njoin pg_database pgd on pgd.oid = pgss.dbid\nwhere rows > 0 and total_exec_time > 0\norder by queryid desc\nlimit 300;"; | ||
| declare const query4_get_database_stat_statements = "\nselect distinct on (queryid ) queryid as query_id,\npgss.calls as calls,\npgss.query,\npgss.rows,\npgss.total_exec_time,\npgss.mean_exec_time,\npgss.dbid as db_id,\npgd.datname as database_name,\nblk_read_time + blk_write_time as disk_io_time,\nto_jsonb(pgss)::jsonb - 'userId'::text - 'dbid'::text - 'mean_exec_time'::text - 'total_exec_time'::text - 'rows'::text - 'query'::text - 'queryid'::text - 'calls'::text as metadata\nfrom \npg_stat_statements as pgss\njoin pg_database as d on pgss.dbid = d.oid\njoin pg_database pgd on pgd.oid = pgss.dbid\nwhere rows > 0 and total_exec_time > 0\norder by queryid desc\nlimit 300;"; | ||
| declare const query5_get_database_config = "show all"; | ||
| declare const query6_get_from_table_log_fdw_slow_query_log = "SELECT * FROM FOREIGN_TABLE_NAME where message like '%plan%'"; | ||
| declare const query6_helper_check_if_postgres_fdw_extension_available = "SELECT name FROM pg_available_extensions as pae where pae.name = 'log_fdw';"; | ||
| declare const query6_helper_check_if_postgres_fdw_extension_available = "SELECT extname FROM pg_extension as pe where pe.extname = 'log_fdw';"; | ||
| declare const query6_helper_create_fdw_extension = "CREATE EXTENSION log_fdw;"; | ||
@@ -16,2 +16,5 @@ declare const query6_helper_create_server = "CREATE SERVER IF NOT EXISTS metis_log_server FOREIGN DATA WRAPPER log_fdw;"; | ||
| declare const query8_get_index_usage = "SELECT\nsui.schemaname AS schema, sui.relid, sui.relname AS table, sui.indexrelid, sui.indexrelname AS index,\nsui.idx_scan AS index_scans, sui.idx_tup_read AS index_rows_reads, sui.idx_tup_fetch AS index_rows_writes,\nsio_ui.idx_blks_read AS pages_read_from_disk, sio_ui.idx_blks_hit AS pages_read_from_buffer\nFROM pg_stat_user_indexes AS sui\nJOIN pg_statio_user_indexes AS sio_ui\nON sui.relid = sio_ui.relid\nAND sui.indexrelid = sio_ui.indexrelid;"; | ||
| export { query1_get_tables_rows_count_from_pg_class, query2_get_tables_extra_data_from_pg_stats_extension, query3_get_database_available_extensions, query4_get_database_stat_statements, query5_get_database_config, query6_get_from_table_log_fdw_slow_query_log, query6_helper_check_if_postgres_fdw_extension_available, query6_helper_create_server, query6_helper_create_fdw_extension, query6_helper_get_log_file_to_create_table_from, query6_helper_check_if_table_exists, query6_helper_dropForeignTable, query6_helper_create_foreign_table, query7_get_tables_size, query8_get_index_usage }; | ||
| declare const query9_get_active_and_idle_connections: (databaseName: string) => string; | ||
| declare const query10_get_db_size_pretty_mode = "SELECT pg_size_pretty( pg_database_size(current_database()))"; | ||
| declare const query11_get_db_version = "SELECT substring(version() from 'PostgreSQL ([0-9]+.[0-9]+)')"; | ||
| export { query1_get_tables_rows_count_from_pg_class, query2_get_tables_extra_data_from_pg_stats_extension, query3_get_database_available_extensions, query4_get_database_stat_statements, query5_get_database_config, query6_get_from_table_log_fdw_slow_query_log, query6_helper_check_if_postgres_fdw_extension_available, query6_helper_create_server, query6_helper_create_fdw_extension, query6_helper_get_log_file_to_create_table_from, query6_helper_check_if_table_exists, query6_helper_dropForeignTable, query6_helper_create_foreign_table, query7_get_tables_size, query8_get_index_usage, query9_get_active_and_idle_connections, query10_get_db_size_pretty_mode, query11_get_db_version }; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.query8_get_index_usage = exports.query7_get_tables_size = exports.query6_helper_create_foreign_table = exports.query6_helper_dropForeignTable = exports.query6_helper_check_if_table_exists = exports.query6_helper_get_log_file_to_create_table_from = exports.query6_helper_create_fdw_extension = exports.query6_helper_create_server = exports.query6_helper_check_if_postgres_fdw_extension_available = exports.query6_get_from_table_log_fdw_slow_query_log = exports.query5_get_database_config = exports.query4_get_database_stat_statements = exports.query3_get_database_available_extensions = exports.query2_get_tables_extra_data_from_pg_stats_extension = exports.query1_get_tables_rows_count_from_pg_class = void 0; | ||
| exports.query11_get_db_version = exports.query10_get_db_size_pretty_mode = exports.query9_get_active_and_idle_connections = exports.query8_get_index_usage = exports.query7_get_tables_size = exports.query6_helper_create_foreign_table = exports.query6_helper_dropForeignTable = exports.query6_helper_check_if_table_exists = exports.query6_helper_get_log_file_to_create_table_from = exports.query6_helper_create_fdw_extension = exports.query6_helper_create_server = exports.query6_helper_check_if_postgres_fdw_extension_available = exports.query6_get_from_table_log_fdw_slow_query_log = exports.query5_get_database_config = exports.query4_get_database_stat_statements = exports.query3_get_database_available_extensions = exports.query2_get_tables_extra_data_from_pg_stats_extension = exports.query1_get_tables_rows_count_from_pg_class = void 0; | ||
| const query1_get_tables_rows_count_from_pg_class = `SELECT n.nspname AS schema_name, c.relname AS table_name, c.reltuples AS rows, c.relpages AS pages, c.oid AS relid | ||
@@ -43,3 +43,3 @@ FROM pg_class c | ||
| blk_read_time + blk_write_time as disk_io_time, | ||
| to_jsonb(pgss) - 'userId' - 'dbid' - 'mean_exec_time' - 'total_exec_time' - 'rows' - 'query' - 'queryid' - 'calls' as metadata | ||
| to_jsonb(pgss)::jsonb - 'userId'::text - 'dbid'::text - 'mean_exec_time'::text - 'total_exec_time'::text - 'rows'::text - 'query'::text - 'queryid'::text - 'calls'::text as metadata | ||
| from | ||
@@ -57,3 +57,3 @@ pg_stat_statements as pgss | ||
| exports.query6_get_from_table_log_fdw_slow_query_log = query6_get_from_table_log_fdw_slow_query_log; | ||
| const query6_helper_check_if_postgres_fdw_extension_available = `SELECT name FROM pg_available_extensions as pae where pae.name = 'log_fdw';`; | ||
| const query6_helper_check_if_postgres_fdw_extension_available = `SELECT extname FROM pg_extension as pe where pe.extname = 'log_fdw';`; | ||
| exports.query6_helper_check_if_postgres_fdw_extension_available = query6_helper_check_if_postgres_fdw_extension_available; | ||
@@ -101,2 +101,14 @@ const query6_helper_create_fdw_extension = `CREATE EXTENSION log_fdw;`; | ||
| exports.query8_get_index_usage = query8_get_index_usage; | ||
| const query9_get_active_and_idle_connections = (databaseName) => `SELECT datname as database, | ||
| COUNT(*) FILTER (WHERE state = 'active') AS active_connections, | ||
| COUNT(*) FILTER (WHERE state = 'idle') AS idle_connections | ||
| FROM pg_stat_activity | ||
| WHERE datname = '${databaseName}' | ||
| GROUP BY datname | ||
| ORDER BY datname`; | ||
| exports.query9_get_active_and_idle_connections = query9_get_active_and_idle_connections; | ||
| const query10_get_db_size_pretty_mode = `SELECT pg_size_pretty( pg_database_size(current_database()))`; | ||
| exports.query10_get_db_size_pretty_mode = query10_get_db_size_pretty_mode; | ||
| const query11_get_db_version = `SELECT substring(version() from 'PostgreSQL ([0-9]+.[0-9]+)')`; | ||
| exports.query11_get_db_version = query11_get_db_version; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/dialects/postgres/queries/index.ts"],"names":[],"mappings":";;;AACA,MAAM,0CAA0C,GAAG;;;sBAG7B,CAAC;AAuFf,gGAA0C;AArFlD,MAAM,oDAAoD,GAAG;;;;;;;;;;;;;;;;;;0BAkBnC,CAAA;AAoElB,oHAAoD;AAlE5D,MAAM,wCAAwC,GAAG;;cAEnC,CAAC;AAiEP,4FAAwC;AA/DhD,MAAM,mCAAmC,GAAG;;;;;;;;;;;;;;;;;WAiBjC,CAAC;AA+CJ,kFAAmC;AA7C3C,MAAM,0BAA0B,GAAG,UAAU,CAAC;AA8CtC,gEAA0B;AA1ClC,MAAM,4CAA4C,GAAG,8DAA8D,CAAC;AA2C5G,oGAA4C;AA1CpD,MAAM,uDAAuD,GAAG,6EAA6E,CAAC;AA2CtI,0HAAuD;AA1C/D,MAAM,kCAAkC,GAAG,2BAA2B,CAAC;AA4C/D,gFAAkC;AA3C1C,MAAM,2BAA2B,GAAG,4EAA4E,CAAC;AA0CzG,kEAA2B;AAzCnC,MAAM,+CAA+C,GAAG,yFAAyF,CAAC;AA2C1I,0GAA+C;AA1CvD,MAAM,mCAAmC,GAAG,gGAAgG,CAAA;AA2CpI,kFAAmC;AA1C3C,MAAM,8BAA8B,GAAG,uCAAuC,CAAC;AA2CvE,wEAA8B;AA1CtC,MAAM,kCAAkC,GAAG,sGAAsG,CAAA;AA2CzI,gFAAkC;AAzC1C,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;2DAkB4B,CAAC;AAwBpD,wDAAsB;AAtB9B,MAAM,sBAAsB,GAAG;;;;;;;wCAOS,CAAA;AAgBhC,wDAAsB"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/dialects/postgres/queries/index.ts"],"names":[],"mappings":";;;AACA,MAAM,0CAA0C,GAAG;;;sBAG7B,CAAC;AAkGf,gGAA0C;AAhGlD,MAAM,oDAAoD,GAAG;;;;;;;;;;;;;;;;;;0BAkBnC,CAAA;AA+ElB,oHAAoD;AA7E5D,MAAM,wCAAwC,GAAG;;cAEnC,CAAC;AA4EP,4FAAwC;AA1EhD,MAAM,mCAAmC,GAAG;;;;;;;;;;;;;;;;;WAiBjC,CAAC;AA0DJ,kFAAmC;AAxD3C,MAAM,0BAA0B,GAAG,UAAU,CAAC;AAyDtC,gEAA0B;AArDlC,MAAM,4CAA4C,GAAG,8DAA8D,CAAC;AAsD5G,oGAA4C;AArDpD,MAAM,uDAAuD,GAAG,sEAAsE,CAAC;AAsD/H,0HAAuD;AArD/D,MAAM,kCAAkC,GAAG,2BAA2B,CAAC;AAuD/D,gFAAkC;AAtD1C,MAAM,2BAA2B,GAAG,4EAA4E,CAAC;AAqDzG,kEAA2B;AApDnC,MAAM,+CAA+C,GAAG,yFAAyF,CAAC;AAsD1I,0GAA+C;AArDvD,MAAM,mCAAmC,GAAG,gGAAgG,CAAA;AAsDpI,kFAAmC;AArD3C,MAAM,8BAA8B,GAAG,uCAAuC,CAAC;AAsDvE,wEAA8B;AArDtC,MAAM,kCAAkC,GAAG,sGAAsG,CAAA;AAsDzI,gFAAkC;AApD1C,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;2DAkB4B,CAAC;AAmCpD,wDAAsB;AAjC9B,MAAM,sBAAsB,GAAG;;;;;;;wCAOS,CAAA;AA2BhC,wDAAsB;AAzB9B,MAAM,sCAAsC,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC;;;;mBAItD,YAAY;;iBAEd,CAAC;AAoBV,wFAAsC;AAlB9C,MAAM,+BAA+B,GAAG,8DAA8D,CAAC;AAmB/F,0EAA+B;AAlBvC,MAAM,sBAAsB,GAAG,+DAA+D,CAAC;AAmBvF,wDAAsB"} |
@@ -15,2 +15,5 @@ export declare type Dialect = "postgres" | "mysql"; | ||
| getAllExtraData?: boolean; | ||
| getActiveAndIdleConnections?: boolean; | ||
| getDbSizeInPrettyMode?: boolean; | ||
| getDbVersion?: boolean; | ||
| } | ||
@@ -17,0 +20,0 @@ export interface Connection { |
+1
-1
| { | ||
| "name": "@metis-data/db-details", | ||
| "version": "3.0.0", | ||
| "version": "3.0.1", | ||
| "description": "> TODO: description", | ||
@@ -5,0 +5,0 @@ "author": "gidimetis <gideons@metisdata.io>", |
| //# sourceMappingURL=generate-metis-db-details.js.map |
| {"version":3,"file":"generate-metis-db-details.js","sourceRoot":"","sources":["../../lib/dialects/generate-metis-db-details.ts"],"names":[],"mappings":""} |
| import DbDetails from "../db-details"; | ||
| import Connection from "./../../types"; | ||
| export default class PGDbDetails extends DbDetails<any> { | ||
| getDbDetailsInPgStructureObjectForm(connection: any, options: any): Promise<any>; | ||
| getPgClassDetails(connection: Connection): Promise<any>; | ||
| getPgStructure(connection: Connection): Promise<any>; | ||
| structureClassAggregation(pgStructure: any, partialPgClassTableData: any): Promise<any>; | ||
| getDbDetails(connection: Connection): Promise<any>; | ||
| } |
| "use strict"; | ||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
| function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
| return new (P || (P = Promise))(function (resolve, reject) { | ||
| function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
| function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
| function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
| step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
| }); | ||
| }; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const db_details_1 = __importDefault(require("../db-details")); | ||
| const pg_structure_1 = __importDefault(require("pg-structure")); | ||
| const postgres_numeric_types_1 = require("./enums/postgres-numeric-types"); | ||
| const pg_client_1 = require("../utils/pg-client"); | ||
| const indexedArrayToArray = (arr, operation, restriction) => { | ||
| if (!arr) { | ||
| return []; | ||
| } | ||
| const newArr = []; | ||
| arr.forEach((element) => { | ||
| if (!restriction || (restriction && restriction(element))) | ||
| if (element) { | ||
| newArr.push(operation(element)); | ||
| } | ||
| }); | ||
| return newArr; | ||
| }; | ||
| const buildMExpressions = (column) => { | ||
| if (typeof column === "string") { | ||
| return column; | ||
| } | ||
| return undefined; | ||
| }; | ||
| const buildMColumn = (column) => { | ||
| if (typeof column === "string") { | ||
| return undefined; | ||
| } | ||
| if (!column || !column.type) { | ||
| return undefined; | ||
| } | ||
| return { | ||
| name: column.name, | ||
| dataType: typeof column.type === "object" && | ||
| typeof column.type !== null && | ||
| typeof column.type !== "string" | ||
| ? column.type.name | ||
| : "no type", | ||
| internalName: typeof column.type === "object" && | ||
| typeof column.type !== null && | ||
| typeof column.type !== "string" | ||
| ? column.type.internalName | ||
| : "no type", | ||
| isNull: !column.notNull, | ||
| length: column.length, | ||
| isForeignKey: column.isForeignKey, | ||
| isPrimaryKey: column.isPrimaryKey, | ||
| fullCatalogName: column.fullCatalogName, | ||
| minValue: column.minValue, | ||
| maxValue: column.maxValue, | ||
| indexes: indexedArrayToArray(column.indexes, buildMIndexName), | ||
| }; | ||
| }; | ||
| const buildMIndex = (index) => { | ||
| if (!index) { | ||
| return undefined; | ||
| } | ||
| return { | ||
| name: index.name, | ||
| relatedColumns: indexedArrayToArray(index.columnsAndExpressions, buildMColumn, (element) => typeof element !== "string"), | ||
| relatedExpressions: indexedArrayToArray(index.columnsAndExpressions, buildMExpressions, (element) => typeof element === "string"), | ||
| }; | ||
| }; | ||
| const buildMIndexName = (index) => { | ||
| if (!index) { | ||
| return undefined; | ||
| } | ||
| return { | ||
| name: index.name | ||
| }; | ||
| }; | ||
| const buildMConstraint = (constraint) => { | ||
| var _a; | ||
| if (!constraint) { | ||
| return undefined; | ||
| } | ||
| return { | ||
| name: constraint === null || constraint === void 0 ? void 0 : constraint.name, | ||
| type: constraint.constructor.name, | ||
| comment: constraint === null || constraint === void 0 ? void 0 : constraint.comment, | ||
| schema: (_a = constraint === null || constraint === void 0 ? void 0 : constraint.schema) === null || _a === void 0 ? void 0 : _a.name, | ||
| }; | ||
| }; | ||
| const buildMTriggers = (trigger) => { | ||
| return { | ||
| name: trigger === null || trigger === void 0 ? void 0 : trigger.name, | ||
| oid: trigger === null || trigger === void 0 ? void 0 : trigger.oid, | ||
| arrayOid: trigger === null || trigger === void 0 ? void 0 : trigger.arrayOid, | ||
| category: trigger === null || trigger === void 0 ? void 0 : trigger.category, | ||
| classOid: trigger === null || trigger === void 0 ? void 0 : trigger.classOid, | ||
| comment: trigger === null || trigger === void 0 ? void 0 : trigger.comment, | ||
| internalName: trigger === null || trigger === void 0 ? void 0 : trigger.internalName, | ||
| }; | ||
| }; | ||
| const buildMForeignKey = (foreignKey) => { | ||
| const mColumns = indexedArrayToArray(foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.columns, buildMColumn); | ||
| return { | ||
| name: foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.name, | ||
| columns: mColumns, | ||
| referencedColumns: indexedArrayToArray(foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.referencedColumns, buildMColumn), | ||
| mandatoryParent: foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.mandatoryParent, | ||
| index: buildMIndex(foreignKey === null || foreignKey === void 0 ? void 0 : foreignKey.index), | ||
| }; | ||
| }; | ||
| const buildPrimaryKeyData = (primaryKey) => { | ||
| const mColumns = indexedArrayToArray(primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.columns, buildMColumn); | ||
| const sizeInBytes = mColumns.reduce((acc, cur) => { | ||
| if (cur.length != undefined && cur.dataType === "character") { | ||
| acc = acc + cur.length * 1; | ||
| } | ||
| if (cur.length === undefined) { | ||
| acc = acc + (postgres_numeric_types_1.NumericTypesPgEnum[cur.dataType] || 0); | ||
| } | ||
| return acc; | ||
| }, 0); | ||
| const numOfColumns = mColumns === null || mColumns === void 0 ? void 0 : mColumns.length; | ||
| return { | ||
| name: primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.name, | ||
| index: undefined, | ||
| columns: mColumns, | ||
| commentData: primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.commentData, | ||
| sizeInBytes: sizeInBytes, | ||
| numOfColumns: numOfColumns, | ||
| }; | ||
| }; | ||
| const buildTable = (table) => { | ||
| var _a, _b; | ||
| if (!table) { | ||
| return undefined; | ||
| } | ||
| return { | ||
| name: table === null || table === void 0 ? void 0 : table.name, | ||
| schemaName: (_a = table === null || table === void 0 ? void 0 : table.schema) === null || _a === void 0 ? void 0 : _a.name, | ||
| tableId: table === null || table === void 0 ? void 0 : table.oid, | ||
| columns: indexedArrayToArray(table.columns, buildMColumn), | ||
| indexes: indexedArrayToArray(table.indexes, buildMIndex), | ||
| constraints: indexedArrayToArray(table.constraints, buildMConstraint), | ||
| triggers: indexedArrayToArray(table.triggers, buildMTriggers), | ||
| pkData: buildPrimaryKeyData(table.primaryKey), | ||
| pk: ((_b = table === null || table === void 0 ? void 0 : table.primaryKey) === null || _b === void 0 ? void 0 : _b.name) || "no-pk", | ||
| fk: indexedArrayToArray(table === null || table === void 0 ? void 0 : table.foreignKeys, buildMForeignKey), | ||
| }; | ||
| }; | ||
| const buildSchema = (schema) => { | ||
| if (!schema) { | ||
| return []; | ||
| } | ||
| return { | ||
| name: schema.name, | ||
| tables: indexedArrayToArray(schema.tables, buildTable), | ||
| }; | ||
| }; | ||
| class PGDbDetails extends db_details_1.default { | ||
| getDbDetailsInPgStructureObjectForm(connection, options) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const db = yield (0, pg_structure_1.default)({ | ||
| host: connection.host, | ||
| database: connection.database, | ||
| user: connection.user, | ||
| password: connection.password, | ||
| }, options); | ||
| return db; | ||
| }); | ||
| } | ||
| getPgClassDetails(connection) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const q = `SELECT relid, | ||
| schemaname, | ||
| relname as table_name, | ||
| (schemaname || '.' || relname) as full_table_name, | ||
| n_live_tup as rows, | ||
| n_dead_tup as dead_rows, | ||
| n_mod_since_analyze, | ||
| CASE | ||
| WHEN n_live_tup = 0 THEN 0 | ||
| ELSE n_mod_since_analyze / n_live_tup | ||
| END AS pct_mod_since_analyze, | ||
| last_analyze as last_analyze_date, | ||
| last_autoanalyze as last_autoanalyze_date, | ||
| pg_total_relation_size(relid) / 1024 as total_table_size_kb, | ||
| pg_table_size(relid) / 1024 as table_size_kb, | ||
| pg_indexes_size(relid) / 1024 as indexes_size_kb, | ||
| pg_size_pretty(pg_total_relation_size(relid)) as total_table_size_pretty, | ||
| pg_size_pretty(pg_table_size(relid)) as table_size_pretty, | ||
| pg_size_pretty(pg_indexes_size(relid)) as index_size_pretty | ||
| FROM pg_stat_user_tables;`; | ||
| const pgC = new pg_client_1.MPgClient(connection); | ||
| return pgC.queryDatabase(q); | ||
| }); | ||
| } | ||
| getPgStructure(connection) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const db = yield (0, pg_structure_1.default)({ | ||
| host: connection.host, | ||
| database: connection.database, | ||
| user: connection.user, | ||
| password: connection.password, | ||
| ssl: connection.ssl, | ||
| }); | ||
| return indexedArrayToArray(db.schemas, buildSchema); | ||
| }); | ||
| } | ||
| structureClassAggregation(pgStructure, partialPgClassTableData) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const pgClassTablesMap = new Map(); | ||
| partialPgClassTableData.map((tableMetaData) => { | ||
| if (tableMetaData && (tableMetaData === null || tableMetaData === void 0 ? void 0 : tableMetaData.relid)) { | ||
| pgClassTablesMap.set(tableMetaData.relid, tableMetaData); | ||
| } | ||
| }); | ||
| const aggregateStructure = pgStructure.map((schema) => { | ||
| return schema === null || schema === void 0 ? void 0 : schema.tables.map((table) => { | ||
| const pgClassTableData = pgClassTablesMap.get(table.tableId); | ||
| return Object.assign(Object.assign({}, table), pgClassTableData); | ||
| }); | ||
| }); | ||
| return aggregateStructure; | ||
| }); | ||
| } | ||
| getDbDetails(connection) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const pgStructure = yield this.getPgStructure(connection); | ||
| const partialPgClassTableData = yield this.getPgClassDetails(connection); | ||
| this.structureClassAggregation(pgStructure, partialPgClassTableData); | ||
| console.log('hey'); | ||
| }); | ||
| } | ||
| } | ||
| exports.default = PGDbDetails; | ||
| //# sourceMappingURL=postgres.js.map |
| {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../lib/dialects/postgres/postgres.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAsC;AACtC,gEAQsB;AAEtB,2EAAoE;AACpE,kDAA+C;AAE/C,MAAM,mBAAmB,GAAG,CAC1B,GAAQ,EACR,SAAc,EACd,WAAiB,EACV,EAAE;IACT,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,EAAE,CAAC;KACX;IACD,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACtB,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAuB,EAAO,EAAE;IACzD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,MAAM,CAAC;KACf;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAuB,EAAO,EAAE;IACpD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAC3B,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EACN,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI;YAC3B,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;YAClB,CAAC,CAAC,SAAS;QACf,YAAY,EACV,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI;YAC3B,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY;YAC1B,CAAC,CAAC,SAAS;QACf,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QAErB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,eAAe,EAAE,MAAM,CAAC,eAAe;QAEvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;KAC9D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAY,EAAO,EAAE;IACxC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;IACD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,cAAc,EAAE,mBAAmB,CACjC,KAAK,CAAC,qBAAqB,EAC3B,YAAY,EACZ,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CACzC;QACD,kBAAkB,EAAE,mBAAmB,CACrC,KAAK,CAAC,qBAAqB,EAC3B,iBAAiB,EACjB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CACzC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAY,EAAO,EAAE;IAC5C,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;IACD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,UAAsB,EAAO,EAAE;;IACvD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,SAAS,CAAC;KAClB;IACD,OAAO;QACL,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;QACtB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI;QACjC,OAAO,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO;QAC5B,MAAM,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,IAAI;KACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC1C,OAAO;QACL,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;QACnB,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;QACjB,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;QAC3B,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;QACzB,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;KACpC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,UAAsB,EAAO,EAAE;IACvD,MAAM,QAAQ,GAAa,mBAAmB,CAC5C,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EACnB,YAAY,CACb,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;QACtB,OAAO,EAAE,QAAQ;QACjB,iBAAiB,EAAE,mBAAmB,CACpC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,iBAAiB,EAC7B,YAAY,CACb;QAED,eAAe,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,eAAe;QAC5C,KAAK,EAAE,WAAW,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC;KACtC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,UAAsB,EAAO,EAAE;IAC1D,MAAM,QAAQ,GAAa,mBAAmB,CAC5C,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EACnB,YAAY,CACb,CAAC;IACF,MAAM,WAAW,GAAW,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;QACjE,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE;YAC3D,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;SAC5B;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;YAC5B,GAAG,GAAG,GAAG,GAAG,CAAC,2CAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACrD;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAM,YAAY,GAAW,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC;IAE9C,OAAO;QACL,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;QACtB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW;QACpC,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAY,EAAO,EAAE;;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,IAAI,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI;QACjB,UAAU,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,IAAI;QAC/B,OAAO,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG;QACnB,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC;QACzD,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;QACxD,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACrE,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC;QAC7D,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7C,EAAE,EAAE,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,IAAI,KAAI,OAAO;QACtC,EAAE,EAAE,mBAAmB,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,EAAE,gBAAgB,CAAC;KAC9D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE;IACrC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAqB,WAAY,SAAQ,oBAAc;IAC/C,mCAAmC,CACvC,UAAe,EACf,OAAY;;YAEZ,MAAM,EAAE,GAAO,MAAM,IAAA,sBAAW,EAC9B;gBACE,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,EACD,OAAO,CACR,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAEY,iBAAiB,CAAC,UAAsB;;YACnD,MAAM,CAAC,GAAW;;;;;;;;;;;;;;;;;;;8BAmBQ,CAAA;YAE1B,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAC7B,CAAC;KAAA;IAEK,cAAc,CAAC,UAAsB;;YACzC,MAAM,EAAE,GAAO,MAAM,IAAA,sBAAW,EAAC;gBAC/B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,GAAG,EAAE,UAAU,CAAC,GAAG;aACpB,CAAC,CAAC;YACH,OAAO,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEtD,CAAC;KAAA;IAEK,yBAAyB,CAAC,WAAW,EAAE,uBAAuB;;YAClE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;YACnC,uBAAuB,CAAC,GAAG,CAAC,CAAC,aAAkB,EAAE,EAAE;gBACjD,IAAG,aAAa,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,CAAA,EAAE;oBACxC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;iBACzD;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,kBAAkB,GAAI,WAAW,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;gBACxD,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;oBACtC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7D,uCACI,KAAK,GACL,gBAAgB,EACnB;gBACJ,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YAEF,OAAO,kBAAkB,CAAA;QAC3B,CAAC;KAAA;IAEK,YAAY,CAAC,UAAsB;;YACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;KAAA;CACF;AAlFD,8BAkFC"} |
| import Connection from "../../../types"; | ||
| export declare const getPgClassDetails: (connection: Connection) => Promise<any>; |
| "use strict"; | ||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
| function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
| return new (P || (P = Promise))(function (resolve, reject) { | ||
| function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
| function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
| function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
| step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
| }); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.getPgClassDetails = void 0; | ||
| const pg_client_1 = require("../../utils/pg-client"); | ||
| const getPgClassDetails = (connection) => __awaiter(void 0, void 0, void 0, function* () { | ||
| try { | ||
| const query = `SELECT relid, | ||
| schemaname, | ||
| relname as table_name, | ||
| (schemaname || '.' || relname) as full_table_name, | ||
| n_live_tup as rows, | ||
| n_dead_tup as dead_rows, | ||
| n_mod_since_analyze, | ||
| CASE | ||
| WHEN n_live_tup = 0 THEN 0 | ||
| ELSE n_mod_since_analyze / n_live_tup | ||
| END AS pct_mod_since_analyze, | ||
| last_analyze as last_analyze_date, | ||
| last_autoanalyze as last_autoanalyze_date, | ||
| pg_total_relation_size(relid) / 1024 as total_table_size_kb, | ||
| pg_table_size(relid) / 1024 as table_size_kb, | ||
| pg_indexes_size(relid) / 1024 as indexes_size_kb, | ||
| pg_size_pretty(pg_total_relation_size(relid)) as total_table_size_pretty, | ||
| pg_size_pretty(pg_table_size(relid)) as table_size_pretty, | ||
| pg_size_pretty(pg_indexes_size(relid)) as index_size_pretty | ||
| FROM pg_stat_user_tables;`; | ||
| const client = new pg_client_1.MPgClient(connection); | ||
| return client.queryDatabase(query); | ||
| } | ||
| catch (error) { | ||
| throw error; | ||
| } | ||
| }); | ||
| exports.getPgClassDetails = getPgClassDetails; | ||
| //# sourceMappingURL=pg-class-resource.js.map |
| {"version":3,"file":"pg-class-resource.js","sourceRoot":"","sources":["../../../../lib/dialects/postgres/resources/pg-class-resource.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qDAAkD;AAGzC,MAAM,iBAAiB,GAAG,CAAO,UAAsB,EAAE,EAAE;IAChE,IAAI;QACF,MAAM,KAAK,GAAW;;;;;;;;;;;;;;;;;;;gCAmBI,CAAA;QAE1B,MAAM,MAAM,GAAG,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;KACnC;IACD,OAAO,KAAK,EAAE;QACV,MAAM,KAAK,CAAC;KACf;AACH,CAAC,CAAA,CAAA;AA7BY,QAAA,iBAAiB,qBA6B7B"} |
| export declare const sendSpansToBackend: (queriesToSend: any, apiKey: any, metisExporterUrl: any, logFileName: any, metisBackendUrl: any) => Promise<void>; | ||
| export declare const makeSpan: (query: any, queryType: any, plan: any, connection: any, logFileName: string) => Promise<{ | ||
| parent_id: any; | ||
| name: any; | ||
| kind: string; | ||
| timestamp: number; | ||
| duration: any; | ||
| start_time: string; | ||
| end_time: string; | ||
| attributes: { | ||
| "db.name": any; | ||
| "db.user": any; | ||
| "db.system": string; | ||
| "db.operation": any; | ||
| "db.statement": any; | ||
| "db.statement.metis": string; | ||
| "db.statement.metis.plan": string; | ||
| "net.peer.name": any; | ||
| "net.peer.ip": any; | ||
| }; | ||
| status: { | ||
| status_code: string; | ||
| }; | ||
| context: { | ||
| span_id: string; | ||
| trace_id: string; | ||
| }; | ||
| resource: { | ||
| "app.tag.pr": string; | ||
| "service.name": string; | ||
| "service.version": string; | ||
| "telemetry.sdk.name": string; | ||
| "telemetry.sdk.version": string; | ||
| "telemetry.sdk.language": string; | ||
| }; | ||
| }>; | ||
| export declare function post(url: any, data: any, options: any): Promise<unknown>; | ||
| export declare function chuncker(data: any, limit?: number): Generator<any[], any[], unknown>; | ||
| export declare function sendMultiSpans(url: any, apiKey: any, spans: any): Promise<any[]>; | ||
| export declare const sendSpansFromSlowQueryLog: (metisApikey: any, metisExporterUrl: any, slowQueryLogData: any, connection: any, logFileName: any, metisBackendUrl: any) => Promise<void>; |
| "use strict"; | ||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
| function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
| return new (P || (P = Promise))(function (resolve, reject) { | ||
| function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
| function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
| function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
| step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
| }); | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.sendSpansFromSlowQueryLog = exports.sendMultiSpans = exports.chuncker = exports.post = exports.makeSpan = exports.sendSpansToBackend = void 0; | ||
| const uuidv4_1 = require("uuidv4"); | ||
| const sendSpansToBackend = (queriesToSend, apiKey, metisExporterUrl, logFileName, metisBackendUrl) => __awaiter(void 0, void 0, void 0, function* () { | ||
| if (!apiKey) { | ||
| console.debug("API Key doesnt exists"); | ||
| } | ||
| const data = { | ||
| "prName": logFileName, | ||
| "prId": "no-set", | ||
| "prUrl": "no-set" | ||
| }; | ||
| try { | ||
| const options = { | ||
| method: "POST", | ||
| headers: { | ||
| Accept: "application/json", | ||
| "Content-Type": "application/json", | ||
| "Content-Length": JSON.stringify(data).length, | ||
| "x-api-key": apiKey, | ||
| }, | ||
| }; | ||
| yield post(`${metisBackendUrl ? metisBackendUrl : 'https://app.metisdata.io'}/api/tests/create`, JSON.stringify(data), options); | ||
| const url = metisExporterUrl; | ||
| yield sendMultiSpans(url, apiKey, queriesToSend); | ||
| } | ||
| catch (error) { | ||
| console.error(error); | ||
| } | ||
| }); | ||
| exports.sendSpansToBackend = sendSpansToBackend; | ||
| const makeSpan = (query, queryType, plan, connection, logFileName) => __awaiter(void 0, void 0, void 0, function* () { | ||
| const span_id = (0, uuidv4_1.uuid)(); | ||
| const traceId = (0, uuidv4_1.uuid)(); | ||
| const duration = plan && plan["Execution Time"] || 1; | ||
| const timestamp = Date.now(); | ||
| const startDate = new Date(timestamp).toISOString(); | ||
| const endDate = new Date(timestamp + duration).toISOString(); | ||
| const vendor = "github-action"; | ||
| let hostName = vendor; | ||
| try { | ||
| hostName = connection.host; | ||
| } | ||
| catch (e) { | ||
| } | ||
| const resource = { | ||
| "app.tag.pr": logFileName, | ||
| "service.name": hostName, | ||
| "service.version": 'or0.000000000000001%', | ||
| "telemetry.sdk.name": vendor, | ||
| "telemetry.sdk.version": 'or0.000000000000000000000000001%', | ||
| "telemetry.sdk.language": vendor, | ||
| }; | ||
| return { | ||
| parent_id: null, | ||
| name: queryType || "REPL", | ||
| kind: "SpanKind.CLIENT", | ||
| timestamp: Date.now(), | ||
| duration: duration, | ||
| start_time: startDate, | ||
| end_time: endDate, | ||
| attributes: { | ||
| "db.name": connection === null || connection === void 0 ? void 0 : connection.database, | ||
| "db.user": connection === null || connection === void 0 ? void 0 : connection.user, | ||
| "db.system": 'postgres', | ||
| "db.operation": queryType, | ||
| "db.statement": query, | ||
| "db.statement.metis": query + `/*traceparent=${traceId}-${span_id}*/''`, | ||
| "db.statement.metis.plan": JSON.stringify(plan, null, 0), | ||
| "net.peer.name": connection === null || connection === void 0 ? void 0 : connection.host, | ||
| "net.peer.ip": connection === null || connection === void 0 ? void 0 : connection.host, | ||
| }, | ||
| status: { | ||
| status_code: "UNSET", | ||
| }, | ||
| context: { | ||
| span_id: span_id, | ||
| trace_id: traceId, | ||
| }, | ||
| resource, | ||
| }; | ||
| }); | ||
| exports.makeSpan = makeSpan; | ||
| function post(url, data, options) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const parsedUrl = new URL(url); | ||
| let http; | ||
| if (parsedUrl.protocol === 'https:') { | ||
| http = require('https'); | ||
| } | ||
| else { | ||
| http = require('http'); | ||
| } | ||
| return new Promise((resolve, reject) => { | ||
| const req = http.request(url, options, (res) => { | ||
| if (res.statusCode < 200 || res.statusCode > 299) { | ||
| return reject({ | ||
| statusCode: res.statusCode, | ||
| message: `HTTP status code ${res.statusCode}`, | ||
| }); | ||
| } | ||
| const body = []; | ||
| res.on("data", (chunk) => body.push(chunk)); | ||
| res.on("end", () => { | ||
| const resString = Buffer.concat(body).toString(); | ||
| resolve(resString); | ||
| }); | ||
| }); | ||
| req.on("error", (err) => { | ||
| reject(err); | ||
| }); | ||
| req.on("timeout", () => { | ||
| req.destroy(); | ||
| reject(new Error("Request time out")); | ||
| }); | ||
| req.write(data); | ||
| req.end(); | ||
| }); | ||
| }); | ||
| } | ||
| exports.post = post; | ||
| function* chuncker(data, limit = 200000) { | ||
| if (!data) { | ||
| return []; | ||
| } | ||
| let result = []; | ||
| let counter = 0; | ||
| for (const item of data) { | ||
| counter += item.length; | ||
| result.push(item); | ||
| if (counter >= limit) { | ||
| yield result; | ||
| counter = 0; | ||
| result = []; | ||
| } | ||
| } | ||
| yield result; | ||
| } | ||
| exports.chuncker = chuncker; | ||
| function sendMultiSpans(url, apiKey, spans) { | ||
| return __awaiter(this, void 0, void 0, function* () { | ||
| const spansString = spans.map((d) => JSON.stringify(d, null, 0)); | ||
| const response = []; | ||
| for (let chuckedData of chuncker(spansString)) { | ||
| const dataString = JSON.stringify(chuckedData, null, 0); | ||
| const options = { | ||
| method: "POST", | ||
| headers: { | ||
| Accept: "application/json", | ||
| "Content-Type": "application/json", | ||
| "Content-Length": dataString.length, | ||
| "x-api-key": apiKey, | ||
| }, | ||
| }; | ||
| response.push(yield post(url, dataString, options)); | ||
| } | ||
| return response; | ||
| }); | ||
| } | ||
| exports.sendMultiSpans = sendMultiSpans; | ||
| const sendSpansFromSlowQueryLog = (metisApikey, metisExporterUrl, slowQueryLogData, connection, logFileName, metisBackendUrl) => __awaiter(void 0, void 0, void 0, function* () { | ||
| if (metisApikey && metisExporterUrl) { | ||
| const spans = yield Promise.all(slowQueryLogData.map((item) => __awaiter(void 0, void 0, void 0, function* () { | ||
| const splitted = item.message.split("plan:"); | ||
| const jsonStr = JSON.parse(splitted[1]); | ||
| return yield (0, exports.makeSpan)(jsonStr['Query Text'], 'select', { Plan: jsonStr.Plan }, connection, logFileName); | ||
| }))); | ||
| (0, exports.sendSpansToBackend)(spans, metisApikey, metisExporterUrl, logFileName, metisBackendUrl); | ||
| } | ||
| }); | ||
| exports.sendSpansFromSlowQueryLog = sendSpansFromSlowQueryLog; | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/dialects/postgres/send-spans/index.ts"],"names":[],"mappings":"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"} |
| export default class StringUtils { | ||
| static removeExtraSpaces(str: string): string; | ||
| static removeBackSlashes(str: string): string; | ||
| static removeSqlComments(str: string): string; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| class StringUtils { | ||
| static removeExtraSpaces(str) { | ||
| return str.replace(/\s+/g, ' ').trim(); | ||
| } | ||
| static removeBackSlashes(str) { | ||
| return str.replace(/\//g, ' ').trim(); | ||
| } | ||
| static removeSqlComments(str) { | ||
| return str.replace(/(\/\*[^*]*\*\/)|(\/\/[^*]*)|(--[^.].*)/gm, ''); | ||
| } | ||
| } | ||
| exports.default = StringUtils; | ||
| //# sourceMappingURL=string-utils.js.map |
| {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../lib/dialects/utils/string-utils.ts"],"names":[],"mappings":";;AAAA,MAAqB,WAAW;IAE9B,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAXD,8BAWC"} |
Network access
Supply chain riskThis module accesses the network.
Found 2 instances
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
0
-100%0
-100%66534
-30.96%31
-32.61%856
-35.78%