forge-sql-orm 2.1.15 → 2.1.16

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 (48) hide show
  1. package/README.md +4 -0
  2. package/dist/core/ForgeSQLQueryBuilder.d.ts +2 -3
  3. package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
  4. package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
  5. package/dist/core/ForgeSQLSelectOperations.d.ts +2 -1
  6. package/dist/core/ForgeSQLSelectOperations.d.ts.map +1 -1
  7. package/dist/core/ForgeSQLSelectOperations.js.map +1 -1
  8. package/dist/core/Rovo.d.ts +40 -0
  9. package/dist/core/Rovo.d.ts.map +1 -1
  10. package/dist/core/Rovo.js +164 -138
  11. package/dist/core/Rovo.js.map +1 -1
  12. package/dist/index.d.ts +1 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +3 -2
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/drizzle/extensions/additionalActions.d.ts.map +1 -1
  17. package/dist/lib/drizzle/extensions/additionalActions.js +72 -22
  18. package/dist/lib/drizzle/extensions/additionalActions.js.map +1 -1
  19. package/dist/utils/cacheTableUtils.d.ts +11 -0
  20. package/dist/utils/cacheTableUtils.d.ts.map +1 -0
  21. package/dist/utils/cacheTableUtils.js +450 -0
  22. package/dist/utils/cacheTableUtils.js.map +1 -0
  23. package/dist/utils/cacheUtils.d.ts.map +1 -1
  24. package/dist/utils/cacheUtils.js +3 -22
  25. package/dist/utils/cacheUtils.js.map +1 -1
  26. package/dist/utils/forgeDriver.d.ts.map +1 -1
  27. package/dist/utils/forgeDriver.js +5 -12
  28. package/dist/utils/forgeDriver.js.map +1 -1
  29. package/dist/utils/metadataContextUtils.d.ts.map +1 -1
  30. package/dist/utils/metadataContextUtils.js +53 -31
  31. package/dist/utils/metadataContextUtils.js.map +1 -1
  32. package/dist/utils/sqlUtils.d.ts +1 -0
  33. package/dist/utils/sqlUtils.d.ts.map +1 -1
  34. package/dist/utils/sqlUtils.js +217 -119
  35. package/dist/utils/sqlUtils.js.map +1 -1
  36. package/dist/webtriggers/applyMigrationsWebTrigger.js +1 -1
  37. package/package.json +9 -9
  38. package/src/core/ForgeSQLQueryBuilder.ts +2 -2
  39. package/src/core/ForgeSQLSelectOperations.ts +2 -1
  40. package/src/core/Rovo.ts +209 -167
  41. package/src/index.ts +1 -3
  42. package/src/lib/drizzle/extensions/additionalActions.ts +98 -42
  43. package/src/utils/cacheTableUtils.ts +511 -0
  44. package/src/utils/cacheUtils.ts +3 -25
  45. package/src/utils/forgeDriver.ts +5 -11
  46. package/src/utils/metadataContextUtils.ts +49 -26
  47. package/src/utils/sqlUtils.ts +298 -142
  48. package/src/webtriggers/applyMigrationsWebTrigger.ts +1 -1
@@ -236,6 +236,71 @@ async function handleNonCachedQuery(target, options, selections, aliasMap, onful
236
236
  throw error;
237
237
  }
238
238
  }
239
+ /**
240
+ * Creates a select query builder with field aliasing and optional caching support.
241
+ *
242
+ * @param db - The database instance
243
+ * @param fields - The fields to select with aliases
244
+ * @param selectFn - Function to create the base select query
245
+ * @param useCache - Whether to enable caching for this query
246
+ * @param options - ForgeSQL ORM options
247
+ * @param cacheTtl - Optional cache TTL override
248
+ * @returns Select query builder with aliasing and optional caching
249
+ */
250
+ /**
251
+ * Creates a catch handler for Promise-like objects
252
+ */
253
+ function createCatchHandler(receiver) {
254
+ return (onrejected) => receiver.then(undefined, onrejected);
255
+ }
256
+ /**
257
+ * Creates a finally handler for Promise-like objects
258
+ */
259
+ function createFinallyHandler(receiver) {
260
+ return (onfinally) => {
261
+ const handleFinally = (value) => Promise.resolve(value).finally(onfinally);
262
+ const handleReject = (reason) => Promise.reject(reason).finally(onfinally);
263
+ return receiver.then(handleFinally, handleReject);
264
+ };
265
+ }
266
+ /**
267
+ * Creates a then handler for cached queries
268
+ */
269
+ function createCachedThenHandler(target, options, cacheTtl, selections, aliasMap) {
270
+ return (onfulfilled, onrejected) => {
271
+ const ttl = cacheTtl ?? options.cacheTTL ?? 120;
272
+ return handleCachedQuery(target, options, ttl, selections, aliasMap, onfulfilled, onrejected);
273
+ };
274
+ }
275
+ /**
276
+ * Creates a then handler for non-cached queries
277
+ */
278
+ function createNonCachedThenHandler(target, options, selections, aliasMap) {
279
+ return (onfulfilled, onrejected) => {
280
+ return handleNonCachedQuery(target, options, selections, aliasMap, onfulfilled, onrejected);
281
+ };
282
+ }
283
+ /**
284
+ * Creates an execute handler that transforms results
285
+ */
286
+ function createExecuteHandler(target, selections, aliasMap) {
287
+ return async (...args) => {
288
+ const rows = await target.execute(...args);
289
+ return (0, __1.applyFromDriverTransform)(rows, selections, aliasMap);
290
+ };
291
+ }
292
+ /**
293
+ * Creates a function call handler that wraps results
294
+ */
295
+ function createFunctionCallHandler(value, target, wrapBuilder) {
296
+ return (...args) => {
297
+ const result = value.apply(target, args);
298
+ if (typeof result === "object" && result !== null && "execute" in result) {
299
+ return wrapBuilder(result);
300
+ }
301
+ return result;
302
+ };
303
+ }
239
304
  /**
240
305
  * Creates a select query builder with field aliasing and optional caching support.
241
306
  *
@@ -254,37 +319,22 @@ function createAliasedSelectBuilder(db, fields, selectFn, useCache, options, cac
254
319
  return new Proxy(rawBuilder, {
255
320
  get(target, prop, receiver) {
256
321
  if (prop === "execute") {
257
- return async (...args) => {
258
- const rows = await target.execute(...args);
259
- return (0, __1.applyFromDriverTransform)(rows, selections, aliasMap);
260
- };
322
+ return createExecuteHandler(target, selections, aliasMap);
261
323
  }
262
324
  if (prop === "then") {
263
- return (onfulfilled, onrejected) => {
264
- if (useCache) {
265
- const ttl = cacheTtl ?? options.cacheTTL ?? 120;
266
- return handleCachedQuery(target, options, ttl, selections, aliasMap, onfulfilled, onrejected);
267
- }
268
- else {
269
- return handleNonCachedQuery(target, options, selections, aliasMap, onfulfilled, onrejected);
270
- }
271
- };
325
+ return useCache
326
+ ? createCachedThenHandler(target, options, cacheTtl, selections, aliasMap)
327
+ : createNonCachedThenHandler(target, options, selections, aliasMap);
272
328
  }
273
329
  if (prop === "catch") {
274
- return (onrejected) => receiver.then(undefined, onrejected);
330
+ return createCatchHandler(receiver);
275
331
  }
276
332
  if (prop === "finally") {
277
- return (onfinally) => receiver.then((value) => Promise.resolve(value).finally(onfinally), (reason) => Promise.reject(reason).finally(onfinally));
333
+ return createFinallyHandler(receiver);
278
334
  }
279
335
  const value = Reflect.get(target, prop, receiver);
280
336
  if (typeof value === "function") {
281
- return (...args) => {
282
- const result = value.apply(target, args);
283
- if (typeof result === "object" && result !== null && "execute" in result) {
284
- return wrapBuilder(result);
285
- }
286
- return result;
287
- };
337
+ return createFunctionCallHandler(value, target, wrapBuilder);
288
338
  }
289
339
  return value;
290
340
  },
@@ -1 +1 @@
1
- {"version":3,"file":"additionalActions.js","sourceRoot":"","sources":["../../../../src/lib/drizzle/extensions/additionalActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"additionalActions.js","sourceRoot":"","sources":["../../../../src/lib/drizzle/extensions/additionalActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ForgeSqlOrmOptions } from "../core/ForgeSQLQueryBuilder";
2
+ /**
3
+ * Extracts all table names from SQL query using node-sql-parser, with regex fallback.
4
+ * Returns them as comma-separated string in format `table1`,`table2`.
5
+ *
6
+ * @param sql - SQL query string
7
+ * @param options - ForgeSQL ORM options for logging
8
+ * @returns Comma-separated string of unique table names in backticks
9
+ */
10
+ export declare function extractBacktickedValues(sql: string, options: ForgeSqlOrmOptions): string;
11
+ //# sourceMappingURL=cacheTableUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheTableUtils.d.ts","sourceRoot":"","sources":["../../src/utils/cacheTableUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAiclE;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAoDxF"}
@@ -0,0 +1,450 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractBacktickedValues = extractBacktickedValues;
4
+ const node_sql_parser_1 = require("node-sql-parser");
5
+ /**
6
+ * Extracts table name from object value.
7
+ */
8
+ function extractTableNameFromObject(value, context) {
9
+ // If it's an array, skip it (not a table name)
10
+ if (Array.isArray(value)) {
11
+ return null;
12
+ }
13
+ // Handle backticks_quote_string type only for node.table context
14
+ if (context?.includes("node.table") &&
15
+ value.type === "backticks_quote_string" &&
16
+ typeof value.value === "string") {
17
+ return value.value === "dual" ? null : value.value.toLowerCase();
18
+ }
19
+ // Try value.name first (most common)
20
+ if (typeof value.name === "string") {
21
+ return value.name === "dual" ? null : value.name.toLowerCase();
22
+ }
23
+ // Try value.table if it's a nested structure
24
+ if (value.table) {
25
+ return normalizeTableName(value.table, context);
26
+ }
27
+ // Log when we encounter an object that we can't extract table name from
28
+ // eslint-disable-next-line no-console
29
+ console.warn(`[cacheTableUtils] Unable to extract table name from object:`, JSON.stringify(value, null, 2), context ? `(context: ${context})` : "");
30
+ return null;
31
+ }
32
+ /**
33
+ * Helper function to safely convert to string and lowercase.
34
+ */
35
+ function normalizeTableName(value, context) {
36
+ if (!value) {
37
+ return null;
38
+ }
39
+ // If it's already a string, use it
40
+ if (typeof value === "string") {
41
+ return value === "dual" ? null : value.toLowerCase();
42
+ }
43
+ // If it's an object, try to extract name from various properties
44
+ if (typeof value === "object") {
45
+ return extractTableNameFromObject(value, context);
46
+ }
47
+ // For other types (number, boolean, etc.), log and don't treat as table name
48
+ // eslint-disable-next-line no-console
49
+ console.warn(`[cacheTableUtils] Unexpected table name type:`, typeof value, value, context ? `(context: ${context})` : "");
50
+ return null;
51
+ }
52
+ /**
53
+ * Checks if a node is a column reference alias.
54
+ */
55
+ function isColumnRefAlias(node) {
56
+ return node.type === "column_ref" && !node.table;
57
+ }
58
+ /**
59
+ * Checks if a node is an explicit alias (has 'as' property but is not a table node).
60
+ */
61
+ function isExplicitAlias(node) {
62
+ return Boolean(node.as && node.type !== "table" && node.type !== "dual" && !node.table);
63
+ }
64
+ /**
65
+ * Checks if a node has a short name that is likely an alias.
66
+ */
67
+ function isShortNameAlias(node) {
68
+ if (!node.name || node.table || node.type === "table" || node.type === "dual") {
69
+ return false;
70
+ }
71
+ const nameStr = typeof node.name === "string" ? node.name : node.name?.name || node.name?.value;
72
+ return typeof nameStr === "string" && nameStr.length <= 2;
73
+ }
74
+ /**
75
+ * Checks if a node is likely an alias (not a real table).
76
+ */
77
+ function isLikelyAlias(node) {
78
+ return isColumnRefAlias(node) || isExplicitAlias(node) || isShortNameAlias(node);
79
+ }
80
+ /**
81
+ * Extracts table name from table node.
82
+ *
83
+ * @param node - AST node with table information
84
+ * @returns Table name in lowercase or null if not applicable
85
+ */
86
+ function extractTableName(node) {
87
+ if (!node) {
88
+ return null;
89
+ }
90
+ // Early return for likely aliases
91
+ if (isLikelyAlias(node)) {
92
+ return null;
93
+ }
94
+ // Handle table node directly
95
+ if (node.type === "table" || node.type === "dual") {
96
+ const fromTable = node.table
97
+ ? normalizeTableName(node.table, `node.type=${node.type}, node.table`)
98
+ : null;
99
+ if (fromTable) {
100
+ return fromTable;
101
+ }
102
+ const fromName = node.name
103
+ ? normalizeTableName(node.name, `node.type=${node.type}, node.name`)
104
+ : null;
105
+ if (fromName) {
106
+ return fromName;
107
+ }
108
+ return null;
109
+ }
110
+ // Handle table reference in different formats
111
+ if (node.table) {
112
+ const tableName = normalizeTableName(node.table, `node.table (type: ${node.type})`);
113
+ if (tableName) {
114
+ return tableName;
115
+ }
116
+ }
117
+ return null;
118
+ }
119
+ /**
120
+ * Processes and adds table name to the set if valid.
121
+ */
122
+ function processTableName(node, tableName, tables) {
123
+ // Filter out a_ prefixed names (field aliases)
124
+ if (tableName.startsWith("a_")) {
125
+ return;
126
+ }
127
+ // Filter out short names that are likely table aliases (u, us, o, oi, etc.)
128
+ // Only filter if it's not a real table node (type === "table" or "dual")
129
+ const isRealTableNode = node.type === "table" || node.type === "dual";
130
+ if (!isRealTableNode && tableName.length <= 2) {
131
+ return;
132
+ }
133
+ tables.add(tableName);
134
+ }
135
+ /**
136
+ * Extracts table name from node and adds to set if valid.
137
+ */
138
+ function extractAndAddTableName(node, tables) {
139
+ const tableName = extractTableName(node);
140
+ if (tableName && tableName.length > 0) {
141
+ processTableName(node, tableName, tables);
142
+ }
143
+ }
144
+ /**
145
+ * Processes CTE (Common Table Expressions) - WITH clause.
146
+ */
147
+ function processCTE(node, tables) {
148
+ if (!node.with && !node.with_list) {
149
+ return;
150
+ }
151
+ const withClauses = node.with_list || (Array.isArray(node.with) ? node.with : [node.with]);
152
+ withClauses.forEach((cte) => {
153
+ if (cte?.stmt) {
154
+ extractTablesFromNode(cte.stmt, tables);
155
+ }
156
+ if (cte?.as?.stmt) {
157
+ extractTablesFromNode(cte.as.stmt, tables);
158
+ }
159
+ });
160
+ }
161
+ /**
162
+ * Processes FROM and JOIN clauses.
163
+ */
164
+ function processFromAndJoin(node, tables) {
165
+ if (node.from) {
166
+ if (Array.isArray(node.from)) {
167
+ node.from.forEach((item) => extractTablesFromNode(item, tables));
168
+ }
169
+ else {
170
+ extractTablesFromNode(node.from, tables);
171
+ }
172
+ }
173
+ if (node.join) {
174
+ if (Array.isArray(node.join)) {
175
+ node.join.forEach((item) => extractTablesFromNode(item, tables));
176
+ }
177
+ else {
178
+ extractTablesFromNode(node.join, tables);
179
+ }
180
+ }
181
+ }
182
+ /**
183
+ * Processes SELECT columns that may contain subqueries.
184
+ */
185
+ function processSelectColumns(node, tables) {
186
+ const columns = node.columns || node.select;
187
+ if (!columns) {
188
+ return;
189
+ }
190
+ if (Array.isArray(columns)) {
191
+ columns.forEach((col) => {
192
+ if (!col)
193
+ return;
194
+ // If the column itself is a subquery
195
+ if (col.type === "subquery" || col.type === "select") {
196
+ extractTablesFromNode(col, tables);
197
+ }
198
+ // Process expression (may contain subqueries)
199
+ if (col.expr) {
200
+ extractTablesFromNode(col.expr, tables);
201
+ }
202
+ // Process AST (alternative structure for subqueries)
203
+ if (col.ast) {
204
+ extractTablesFromNode(col.ast, tables);
205
+ }
206
+ });
207
+ }
208
+ else if (typeof columns === "object") {
209
+ extractTablesFromNode(columns, tables);
210
+ }
211
+ }
212
+ /**
213
+ * Processes ORDER BY or GROUP BY clause.
214
+ */
215
+ function processOrderByOrGroupBy(clause, tables) {
216
+ if (!clause) {
217
+ return;
218
+ }
219
+ if (Array.isArray(clause)) {
220
+ clause.forEach((item) => {
221
+ if (item?.expr) {
222
+ extractTablesFromNode(item.expr, tables);
223
+ }
224
+ extractTablesFromNode(item, tables);
225
+ });
226
+ }
227
+ else {
228
+ extractTablesFromNode(clause, tables);
229
+ }
230
+ }
231
+ /**
232
+ * Processes UNION operations.
233
+ */
234
+ function processUnionNode(unionNode, tables) {
235
+ if (!unionNode) {
236
+ return;
237
+ }
238
+ const isUnionType = unionNode.type === "select" ||
239
+ unionNode.type === "union" ||
240
+ unionNode.type === "union_all" ||
241
+ unionNode.type === "union_distinct" ||
242
+ unionNode.type === "intersect" ||
243
+ unionNode.type === "except" ||
244
+ unionNode.type === "minus";
245
+ if (isUnionType) {
246
+ extractTablesFromNode(unionNode, tables);
247
+ }
248
+ else if (unionNode.select) {
249
+ extractTablesFromNode(unionNode.select, tables);
250
+ }
251
+ else if (unionNode.ast) {
252
+ extractTablesFromNode(unionNode.ast, tables);
253
+ }
254
+ else {
255
+ extractTablesFromNode(unionNode, tables);
256
+ }
257
+ }
258
+ /**
259
+ * Processes UNION/UNION ALL/UNION DISTINCT/INTERSECT/EXCEPT/MINUS clauses.
260
+ */
261
+ function processUnion(node, tables) {
262
+ if (!node.union) {
263
+ return;
264
+ }
265
+ if (Array.isArray(node.union)) {
266
+ node.union.forEach((unionNode) => processUnionNode(unionNode, tables));
267
+ }
268
+ else if (typeof node.union === "object") {
269
+ processUnionNode(node.union, tables);
270
+ }
271
+ }
272
+ /**
273
+ * Processes UNION/INTERSECT/EXCEPT operation nodes.
274
+ */
275
+ function processUnionOperation(node, tables) {
276
+ const isUnionOperation = node.type === "union" ||
277
+ node.type === "union_all" ||
278
+ node.type === "union_distinct" ||
279
+ node.type === "intersect" ||
280
+ node.type === "except" ||
281
+ node.type === "minus";
282
+ if (!isUnionOperation) {
283
+ return;
284
+ }
285
+ if (node.left) {
286
+ extractTablesFromNode(node.left, tables);
287
+ }
288
+ if (node.right) {
289
+ extractTablesFromNode(node.right, tables);
290
+ }
291
+ extractTablesFromNode(node, tables);
292
+ }
293
+ /**
294
+ * Processes _next property (alternative UNION structure).
295
+ */
296
+ function processNext(node, tables) {
297
+ if (!node._next) {
298
+ return;
299
+ }
300
+ if (Array.isArray(node._next)) {
301
+ node._next.forEach((nextNode) => extractTablesFromNode(nextNode, tables));
302
+ }
303
+ else {
304
+ extractTablesFromNode(node._next, tables);
305
+ }
306
+ }
307
+ /**
308
+ * Recursively processes all object properties for any remaining nested structures.
309
+ */
310
+ function processRecursively(node, tables) {
311
+ const isLikelyAlias = (node.type === "column_ref" && !node.table) ||
312
+ (node.name &&
313
+ !node.table &&
314
+ node.type !== "table" &&
315
+ node.type !== "dual" &&
316
+ node.name.length <= 2);
317
+ if (isLikelyAlias || Array.isArray(node)) {
318
+ return;
319
+ }
320
+ Object.values(node).forEach((value) => {
321
+ if (value && typeof value === "object") {
322
+ if (Array.isArray(value)) {
323
+ value.forEach((item) => {
324
+ if (item && typeof item === "object") {
325
+ extractTablesFromNode(item, tables);
326
+ }
327
+ });
328
+ }
329
+ else {
330
+ extractTablesFromNode(value, tables);
331
+ }
332
+ }
333
+ });
334
+ }
335
+ /**
336
+ * Recursively extracts table names from SQL AST node.
337
+ * Handles regular tables, CTEs, subqueries, and complex query structures.
338
+ *
339
+ * @param node - AST node to extract tables from
340
+ * @param tables - Accumulator set for table names
341
+ */
342
+ function extractTablesFromNode(node, tables) {
343
+ if (!node || typeof node !== "object") {
344
+ return;
345
+ }
346
+ // Extract table name if node is a table type
347
+ extractAndAddTableName(node, tables);
348
+ // Handle CTE (Common Table Expressions) - WITH clause
349
+ processCTE(node, tables);
350
+ // Extract tables from FROM and JOIN clauses
351
+ processFromAndJoin(node, tables);
352
+ // Handle subqueries explicitly
353
+ if (node.type === "subquery" || node.type === "select") {
354
+ if (node.ast) {
355
+ extractTablesFromNode(node.ast, tables);
356
+ }
357
+ if (node.from) {
358
+ extractTablesFromNode(node.from, tables);
359
+ }
360
+ }
361
+ // Extract tables from WHERE clause (may contain subqueries)
362
+ if (node.where) {
363
+ extractTablesFromNode(node.where, tables);
364
+ }
365
+ // Extract tables from SELECT columns (may contain subqueries)
366
+ processSelectColumns(node, tables);
367
+ // Extract tables from HAVING clause (may contain subqueries)
368
+ if (node.having) {
369
+ extractTablesFromNode(node.having, tables);
370
+ }
371
+ // Extract tables from ORDER BY clause (may contain subqueries)
372
+ processOrderByOrGroupBy(node.orderby || node.order_by, tables);
373
+ // Extract tables from GROUP BY clause (may contain subqueries)
374
+ processOrderByOrGroupBy(node.groupby || node.group_by, tables);
375
+ // Extract tables from UPDATE statement
376
+ if (node.type === "update" && node.table) {
377
+ extractTablesFromNode(node.table, tables);
378
+ }
379
+ // Extract tables from INSERT statement
380
+ if (node.type === "insert" && node.table) {
381
+ extractTablesFromNode(node.table, tables);
382
+ }
383
+ // Extract tables from DELETE statement
384
+ if (node.type === "delete" && node.from) {
385
+ extractTablesFromNode(node.from, tables);
386
+ }
387
+ // Extract tables from UNION operations
388
+ processUnion(node, tables);
389
+ // Handle node types for UNION/INTERSECT/EXCEPT operations
390
+ processUnionOperation(node, tables);
391
+ // Handle _next property (alternative UNION structure)
392
+ processNext(node, tables);
393
+ // Recursively process all object properties
394
+ processRecursively(node, tables);
395
+ }
396
+ /**
397
+ * Extracts all table names from SQL query using node-sql-parser, with regex fallback.
398
+ * Returns them as comma-separated string in format `table1`,`table2`.
399
+ *
400
+ * @param sql - SQL query string
401
+ * @param options - ForgeSQL ORM options for logging
402
+ * @returns Comma-separated string of unique table names in backticks
403
+ */
404
+ function extractBacktickedValues(sql, options) {
405
+ // Try to use node-sql-parser first
406
+ try {
407
+ const parser = new node_sql_parser_1.Parser();
408
+ const ast = parser.astify(sql.trim());
409
+ const tables = new Set();
410
+ // Handle both single statement and multiple statements
411
+ const statements = Array.isArray(ast) ? ast : [ast];
412
+ statements.forEach((statement) => {
413
+ extractTablesFromNode(statement, tables);
414
+ });
415
+ if (tables.size > 0) {
416
+ // Sort to ensure consistent order for the same input
417
+ const backtickedValues = Array.from(tables)
418
+ .sort((a, b) => a.localeCompare(b, undefined, { sensitivity: "base", numeric: true }))
419
+ .map((table) => `\`${table}\``)
420
+ .join(",");
421
+ if (options.logCache) {
422
+ // eslint-disable-next-line no-console
423
+ console.warn(`Extracted backticked values: ${backtickedValues}`);
424
+ }
425
+ return backtickedValues;
426
+ }
427
+ }
428
+ catch (error) {
429
+ if (options.logCache) {
430
+ // eslint-disable-next-line no-console
431
+ console.error(`Error extracting backticked values: ${error}. Using regex-based extraction instead.`);
432
+ }
433
+ // If parsing fails, fall back to regex-based extraction
434
+ // This handles cases where node-sql-parser doesn't support the SQL syntax
435
+ }
436
+ // Fallback to regex-based extraction (original logic)
437
+ const regex = /`([^`]+)`/g;
438
+ const matches = new Set();
439
+ let match;
440
+ while ((match = regex.exec(sql.toLowerCase())) !== null) {
441
+ if (!match[1].startsWith("a_")) {
442
+ matches.add(`\`${match[1]}\``);
443
+ }
444
+ }
445
+ // Sort to ensure consistent order for the same input
446
+ return Array.from(matches)
447
+ .sort((a, b) => a.localeCompare(b, undefined, { sensitivity: "base", numeric: true }))
448
+ .join(",");
449
+ }
450
+ //# sourceMappingURL=cacheTableUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheTableUtils.js","sourceRoot":"","sources":["../../src/utils/cacheTableUtils.ts"],"names":[],"mappings":"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"}