@bhushanpawar/sqldb 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +695 -4
  2. package/dist/cache/cache-manager.d.ts.map +1 -1
  3. package/dist/cache/cache-manager.js +2 -1
  4. package/dist/cache/cache-manager.js.map +1 -1
  5. package/dist/cli/index.d.ts +3 -0
  6. package/dist/cli/index.d.ts.map +1 -0
  7. package/dist/cli/index.js +225 -0
  8. package/dist/cli/index.js.map +1 -0
  9. package/dist/cli/schema-generator.d.ts +28 -0
  10. package/dist/cli/schema-generator.d.ts.map +1 -0
  11. package/dist/cli/schema-generator.js +159 -0
  12. package/dist/cli/schema-generator.js.map +1 -0
  13. package/dist/client.d.ts +32 -0
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +56 -14
  16. package/dist/client.js.map +1 -1
  17. package/dist/connection/mariadb.d.ts +21 -0
  18. package/dist/connection/mariadb.d.ts.map +1 -1
  19. package/dist/connection/mariadb.js +121 -3
  20. package/dist/connection/mariadb.js.map +1 -1
  21. package/dist/db-schema.d.ts +413 -0
  22. package/dist/db-schema.d.ts.map +1 -0
  23. package/dist/db-schema.js +1149 -0
  24. package/dist/db-schema.js.map +1 -0
  25. package/dist/discovery/dependency-graph.d.ts +3 -0
  26. package/dist/discovery/dependency-graph.d.ts.map +1 -1
  27. package/dist/discovery/dependency-graph.js +11 -0
  28. package/dist/discovery/dependency-graph.js.map +1 -1
  29. package/dist/discovery/schema-reader.d.ts +1 -1
  30. package/dist/discovery/schema-reader.d.ts.map +1 -1
  31. package/dist/discovery/schema-reader.js +48 -19
  32. package/dist/discovery/schema-reader.js.map +1 -1
  33. package/dist/index.d.ts +9 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +63 -3
  36. package/dist/index.js.map +1 -1
  37. package/dist/query/operations.d.ts +7 -0
  38. package/dist/query/operations.d.ts.map +1 -1
  39. package/dist/query/operations.js +204 -22
  40. package/dist/query/operations.js.map +1 -1
  41. package/dist/types/client.d.ts +32 -0
  42. package/dist/types/client.d.ts.map +1 -0
  43. package/dist/types/client.js +3 -0
  44. package/dist/types/client.js.map +1 -0
  45. package/dist/types/config.d.ts +3 -0
  46. package/dist/types/config.d.ts.map +1 -1
  47. package/dist/types/config.js +14 -1
  48. package/dist/types/config.js.map +1 -1
  49. package/dist/types/query.d.ts +12 -0
  50. package/dist/types/query.d.ts.map +1 -1
  51. package/dist/types/schema.d.ts +6 -0
  52. package/dist/types/schema.d.ts.map +1 -1
  53. package/dist/types/warming.d.ts +47 -0
  54. package/dist/types/warming.d.ts.map +1 -0
  55. package/dist/types/warming.js +3 -0
  56. package/dist/types/warming.js.map +1 -0
  57. package/dist/warming/auto-warming-manager.d.ts +65 -0
  58. package/dist/warming/auto-warming-manager.d.ts.map +1 -0
  59. package/dist/warming/auto-warming-manager.js +256 -0
  60. package/dist/warming/auto-warming-manager.js.map +1 -0
  61. package/dist/warming/query-stats-tracker.d.ts +53 -0
  62. package/dist/warming/query-stats-tracker.d.ts.map +1 -0
  63. package/dist/warming/query-stats-tracker.js +273 -0
  64. package/dist/warming/query-stats-tracker.js.map +1 -0
  65. package/package.json +4 -1
package/dist/client.js CHANGED
@@ -14,15 +14,19 @@ const operations_1 = require("./query/operations");
14
14
  const table_proxy_1 = require("./query/table-proxy");
15
15
  const hooks_manager_1 = require("./hooks/hooks-manager");
16
16
  const query_tracker_1 = require("./query/query-tracker");
17
+ const query_stats_tracker_1 = require("./warming/query-stats-tracker");
18
+ const auto_warming_manager_1 = require("./warming/auto-warming-manager");
17
19
  class SmartDBClient {
18
20
  constructor(config) {
19
21
  this.initialized = false;
20
22
  this.discoveredTables = new Set();
23
+ this.tableSchemas = new Map();
21
24
  this.config = {
22
25
  ...config,
23
26
  cache: { ...config_1.DEFAULT_CACHE_CONFIG, ...config.cache },
24
27
  discovery: { ...config_1.DEFAULT_DISCOVERY_CONFIG, ...config.discovery },
25
28
  logging: { ...config_1.DEFAULT_LOGGING_CONFIG, ...config.logging },
29
+ warming: { ...config_1.DEFAULT_WARMING_CONFIG, ...config.warming },
26
30
  };
27
31
  this.queryTracker = new query_tracker_1.InMemoryQueryTracker();
28
32
  }
@@ -53,22 +57,16 @@ class SmartDBClient {
53
57
  if (this.config.discovery.refreshInterval && this.config.discovery.refreshInterval > 0) {
54
58
  setInterval(() => this.refreshSchema(), this.config.discovery.refreshInterval);
55
59
  }
60
+ // Initialize auto-warming system if enabled
61
+ if (this.config.warming.enabled) {
62
+ this.statsTracker = new query_stats_tracker_1.QueryStatsTracker(this.dbManager, this.config.warming);
63
+ await this.statsTracker.initialize();
64
+ this.warmingManager = new auto_warming_manager_1.AutoWarmingManager(this.dbManager, this.cacheManager, this.statsTracker, this.config.warming, this.config.mariadb);
65
+ await this.warmingManager.start();
66
+ this.log('info', 'Auto-warming enabled');
67
+ }
56
68
  this.initialized = true;
57
69
  this.log('info', 'SmartDBClient initialized successfully');
58
- // Create dynamic table accessors using Proxy
59
- return new Proxy(this, {
60
- get(target, prop) {
61
- // If prop exists on target, return it
62
- if (prop in target) {
63
- return target[prop];
64
- }
65
- // Otherwise, treat it as a table name
66
- if (typeof prop === 'string' && !prop.startsWith('_')) {
67
- return target.getTableOperations(prop);
68
- }
69
- return undefined;
70
- },
71
- });
72
70
  }
73
71
  async discoverSchema() {
74
72
  this.log('info', 'Discovering database schema...');
@@ -79,6 +77,7 @@ class SmartDBClient {
79
77
  this.log('info', `Discovered ${tables.length} tables`);
80
78
  for (const table of tables) {
81
79
  this.discoveredTables.add(table.tableName);
80
+ this.tableSchemas.set(table.tableName, table);
82
81
  }
83
82
  // Discover relationships
84
83
  const relationships = await relationshipParser.parseRelationships();
@@ -91,6 +90,7 @@ class SmartDBClient {
91
90
  async refreshSchema() {
92
91
  this.log('info', 'Refreshing database schema...');
93
92
  this.discoveredTables.clear();
93
+ this.tableSchemas.clear();
94
94
  this.dependencyGraph.clear();
95
95
  await this.discoverSchema();
96
96
  this.log('info', 'Schema refreshed successfully');
@@ -113,6 +113,9 @@ class SmartDBClient {
113
113
  getDiscoveredTables() {
114
114
  return Array.from(this.discoveredTables);
115
115
  }
116
+ getTableSchema(tableName) {
117
+ return this.tableSchemas.get(tableName);
118
+ }
116
119
  getQueries(correlationId) {
117
120
  return this.queryTracker.getQueries(correlationId);
118
121
  }
@@ -128,14 +131,53 @@ class SmartDBClient {
128
131
  overall: mariadbHealthy && redisHealthy,
129
132
  };
130
133
  }
134
+ /**
135
+ * Generate TypeScript interface from database schema
136
+ */
137
+ generateSchema(options) {
138
+ const { SchemaGenerator } = require('./cli/schema-generator');
139
+ const generator = new SchemaGenerator(this);
140
+ if (options?.withExample) {
141
+ return generator.generateWithExample(options);
142
+ }
143
+ return generator.generateCompleteSchema(options);
144
+ }
131
145
  async close() {
132
146
  this.log('info', 'Closing SmartDBClient...');
147
+ // Stop auto-warming if enabled
148
+ if (this.warmingManager) {
149
+ await this.warmingManager.stop();
150
+ }
133
151
  await this.cacheManager.clear();
134
152
  await this.dbManager.close();
135
153
  await this.redisManager.close();
136
154
  this.initialized = false;
137
155
  this.log('info', 'SmartDBClient closed');
138
156
  }
157
+ /**
158
+ * Get auto-warming statistics
159
+ */
160
+ getWarmingStats() {
161
+ return this.warmingManager?.getLastWarmingStats() || null;
162
+ }
163
+ /**
164
+ * Manually trigger cache warming
165
+ */
166
+ async warmCache() {
167
+ if (!this.warmingManager) {
168
+ throw new Error('Auto-warming is not enabled. Set warming.enabled = true in config.');
169
+ }
170
+ return await this.warmingManager.warmCache();
171
+ }
172
+ /**
173
+ * Get query statistics summary
174
+ */
175
+ async getQueryStatsSummary() {
176
+ if (!this.statsTracker) {
177
+ return null;
178
+ }
179
+ return await this.statsTracker.getStatsSummary();
180
+ }
139
181
  log(level, message, meta) {
140
182
  if (this.config.logging?.logger) {
141
183
  this.config.logging.logger(level, message, meta);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,29 @@ export declare class MariaDBConnectionManager {
5
5
  private pool;
6
6
  private config;
7
7
  private queryTracker?;
8
+ private enableQueryLogging;
8
9
  constructor(config: MariaDBConfig, queryTracker?: QueryTracker);
9
10
  setQueryTracker(tracker: QueryTracker): void;
11
+ /**
12
+ * Categorize query type based on SQL statement
13
+ */
14
+ private categorizeQuery;
15
+ /**
16
+ * Extract table name from SQL query
17
+ */
18
+ private extractTableName;
19
+ /**
20
+ * Format SQL for logging (truncate if too long)
21
+ */
22
+ private formatSqlForLogging;
23
+ /**
24
+ * Get performance emoji based on execution time
25
+ */
26
+ private getPerformanceEmoji;
27
+ /**
28
+ * Log query execution with nice formatting
29
+ */
30
+ private logQuery;
10
31
  connect(): Promise<mariadb.Pool>;
11
32
  getConnection(): Promise<mariadb.PoolConnection>;
12
33
  query<T = any>(sql: string, params?: any[], correlationId?: string): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"mariadb.d.ts","sourceRoot":"","sources":["../../src/connection/mariadb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAG7D,qBAAa,wBAAwB;IACnC,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAe;gBAExB,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,YAAY;IAK9D,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAItC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IAchC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IAKhD,KAAK,CAAC,CAAC,GAAG,GAAG,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,GAAG,EAAE,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,CAAC,CAAC;IAwCP,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,WAAW,IAAI,OAAO;CAGvB"}
1
+ {"version":3,"file":"mariadb.d.ts","sourceRoot":"","sources":["../../src/connection/mariadb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAK7D,qBAAa,wBAAwB;IACnC,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,kBAAkB,CAAkB;gBAEhC,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,YAAY;IAO9D,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAiCV,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IAchC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IAKhD,KAAK,CAAC,CAAC,GAAG,GAAG,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,GAAG,EAAE,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,CAAC,CAAC;IAmEP,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,WAAW,IAAI,OAAO;CAGvB"}
@@ -39,12 +39,120 @@ const query_tracker_1 = require("../query/query-tracker");
39
39
  class MariaDBConnectionManager {
40
40
  constructor(config, queryTracker) {
41
41
  this.pool = null;
42
+ this.enableQueryLogging = false;
42
43
  this.config = config;
43
44
  this.queryTracker = queryTracker;
45
+ // Enable query logging if logging is configured
46
+ this.enableQueryLogging = !!config.logging;
44
47
  }
45
48
  setQueryTracker(tracker) {
46
49
  this.queryTracker = tracker;
47
50
  }
51
+ /**
52
+ * Categorize query type based on SQL statement
53
+ */
54
+ categorizeQuery(sql) {
55
+ const trimmed = sql.trim().toUpperCase();
56
+ if (trimmed.startsWith('SELECT'))
57
+ return 'SELECT';
58
+ if (trimmed.startsWith('INSERT'))
59
+ return 'INSERT';
60
+ if (trimmed.startsWith('UPDATE'))
61
+ return 'UPDATE';
62
+ if (trimmed.startsWith('DELETE'))
63
+ return 'DELETE';
64
+ if (trimmed.startsWith('CREATE'))
65
+ return 'CREATE';
66
+ if (trimmed.startsWith('ALTER'))
67
+ return 'ALTER';
68
+ if (trimmed.startsWith('DROP'))
69
+ return 'DROP';
70
+ return 'OTHER';
71
+ }
72
+ /**
73
+ * Extract table name from SQL query
74
+ */
75
+ extractTableName(sql, queryType) {
76
+ try {
77
+ const trimmed = sql.trim();
78
+ let match = null;
79
+ switch (queryType) {
80
+ case 'SELECT':
81
+ // SELECT ... FROM table_name
82
+ match = trimmed.match(/FROM\s+`?(\w+)`?/i);
83
+ break;
84
+ case 'INSERT':
85
+ // INSERT INTO table_name
86
+ match = trimmed.match(/INSERT\s+INTO\s+`?(\w+)`?/i);
87
+ break;
88
+ case 'UPDATE':
89
+ // UPDATE table_name
90
+ match = trimmed.match(/UPDATE\s+`?(\w+)`?/i);
91
+ break;
92
+ case 'DELETE':
93
+ // DELETE FROM table_name
94
+ match = trimmed.match(/DELETE\s+FROM\s+`?(\w+)`?/i);
95
+ break;
96
+ case 'CREATE':
97
+ case 'ALTER':
98
+ case 'DROP':
99
+ // CREATE/ALTER/DROP TABLE table_name
100
+ match = trimmed.match(/TABLE\s+(?:IF\s+(?:NOT\s+)?EXISTS\s+)?`?(\w+)`?/i);
101
+ break;
102
+ }
103
+ return match ? match[1] : null;
104
+ }
105
+ catch {
106
+ return null;
107
+ }
108
+ }
109
+ /**
110
+ * Format SQL for logging (truncate if too long)
111
+ */
112
+ formatSqlForLogging(sql, maxLength = 100) {
113
+ const cleaned = sql.replace(/\s+/g, ' ').trim();
114
+ if (cleaned.length <= maxLength) {
115
+ return cleaned;
116
+ }
117
+ return cleaned.substring(0, maxLength) + '...';
118
+ }
119
+ /**
120
+ * Get performance emoji based on execution time
121
+ */
122
+ getPerformanceEmoji(ms) {
123
+ if (ms < 10)
124
+ return '⚡'; // Very fast
125
+ if (ms < 50)
126
+ return '🚀'; // Fast
127
+ if (ms < 200)
128
+ return '✅'; // Good
129
+ if (ms < 500)
130
+ return '⚠️'; // Slow
131
+ return '🐌'; // Very slow
132
+ }
133
+ /**
134
+ * Log query execution with nice formatting
135
+ */
136
+ logQuery(queryType, tableName, sql, executionTimeMs, resultCount, error) {
137
+ if (!this.enableQueryLogging)
138
+ return;
139
+ const emoji = error ? '❌' : this.getPerformanceEmoji(executionTimeMs);
140
+ const table = tableName || 'unknown';
141
+ const formattedSql = this.formatSqlForLogging(sql, 100 * 10);
142
+ const timestamp = new Date().toISOString();
143
+ if (error) {
144
+ console.log(`[${timestamp}] ${emoji} ${queryType} on ${table} - FAILED after ${executionTimeMs}ms`);
145
+ console.log(` SQL: ${formattedSql}`);
146
+ console.log(` Error: ${error}`);
147
+ }
148
+ else {
149
+ const resultsText = queryType === 'SELECT' ? `${resultCount} rows` : `${resultCount} affected`;
150
+ console.log(`[${timestamp}] ${emoji} ${queryType} on ${table} - ${executionTimeMs}ms - ${resultsText}`);
151
+ if (executionTimeMs > 200) {
152
+ console.log(` SQL: ${formattedSql}`);
153
+ }
154
+ }
155
+ }
48
156
  async connect() {
49
157
  if (this.pool) {
50
158
  return this.pool;
@@ -64,6 +172,9 @@ class MariaDBConnectionManager {
64
172
  const pool = await this.connect();
65
173
  const queryId = (0, query_tracker_1.generateQueryId)();
66
174
  const startTime = Date.now();
175
+ // Categorize query
176
+ const queryType = this.categorizeQuery(sql);
177
+ const tableName = this.extractTableName(sql, queryType);
67
178
  const metadata = {
68
179
  queryId,
69
180
  correlationId,
@@ -74,22 +185,29 @@ class MariaDBConnectionManager {
74
185
  try {
75
186
  const result = await pool.query(sql, params);
76
187
  const endTime = Date.now();
188
+ const executionTimeMs = endTime - startTime;
77
189
  metadata.endTime = endTime;
78
- metadata.executionTimeMs = endTime - startTime;
190
+ metadata.executionTimeMs = executionTimeMs;
79
191
  metadata.resultCount = Array.isArray(result) ? result.length : 1;
80
192
  if (this.queryTracker) {
81
193
  this.queryTracker.trackQuery(metadata);
82
194
  }
195
+ // Log query execution
196
+ this.logQuery(queryType, tableName, sql, executionTimeMs, metadata.resultCount);
83
197
  return result;
84
198
  }
85
199
  catch (error) {
86
200
  const endTime = Date.now();
201
+ const executionTimeMs = endTime - startTime;
202
+ const errorMessage = error instanceof Error ? error.message : String(error);
87
203
  metadata.endTime = endTime;
88
- metadata.executionTimeMs = endTime - startTime;
89
- metadata.error = error instanceof Error ? error.message : String(error);
204
+ metadata.executionTimeMs = executionTimeMs;
205
+ metadata.error = errorMessage;
90
206
  if (this.queryTracker) {
91
207
  this.queryTracker.trackQuery(metadata);
92
208
  }
209
+ // Log query error
210
+ this.logQuery(queryType, tableName, sql, executionTimeMs, 0, errorMessage);
93
211
  throw error;
94
212
  }
95
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mariadb.js","sourceRoot":"","sources":["../../src/connection/mariadb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mariadb.js","sourceRoot":"","sources":["../../src/connection/mariadb.ts"],"names":[],"mappings":"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"}