forge-sql-orm 2.1.15 → 2.1.17
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.
- package/README.md +194 -1
- package/dist/async/PrintQueryConsumer.d.ts +98 -0
- package/dist/async/PrintQueryConsumer.d.ts.map +1 -0
- package/dist/async/PrintQueryConsumer.js +89 -0
- package/dist/async/PrintQueryConsumer.js.map +1 -0
- package/dist/core/ForgeSQLQueryBuilder.d.ts +2 -3
- package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
- package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
- package/dist/core/ForgeSQLSelectOperations.d.ts +2 -1
- package/dist/core/ForgeSQLSelectOperations.d.ts.map +1 -1
- package/dist/core/ForgeSQLSelectOperations.js.map +1 -1
- package/dist/core/Rovo.d.ts +40 -0
- package/dist/core/Rovo.d.ts.map +1 -1
- package/dist/core/Rovo.js +164 -138
- package/dist/core/Rovo.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/drizzle/extensions/additionalActions.d.ts.map +1 -1
- package/dist/lib/drizzle/extensions/additionalActions.js +72 -22
- package/dist/lib/drizzle/extensions/additionalActions.js.map +1 -1
- package/dist/utils/cacheTableUtils.d.ts +11 -0
- package/dist/utils/cacheTableUtils.d.ts.map +1 -0
- package/dist/utils/cacheTableUtils.js +450 -0
- package/dist/utils/cacheTableUtils.js.map +1 -0
- package/dist/utils/cacheUtils.d.ts.map +1 -1
- package/dist/utils/cacheUtils.js +3 -22
- package/dist/utils/cacheUtils.js.map +1 -1
- package/dist/utils/forgeDriver.d.ts.map +1 -1
- package/dist/utils/forgeDriver.js +5 -12
- package/dist/utils/forgeDriver.js.map +1 -1
- package/dist/utils/forgeDriverProxy.js +7 -5
- package/dist/utils/forgeDriverProxy.js.map +1 -1
- package/dist/utils/metadataContextUtils.d.ts +44 -4
- package/dist/utils/metadataContextUtils.d.ts.map +1 -1
- package/dist/utils/metadataContextUtils.js +155 -50
- package/dist/utils/metadataContextUtils.js.map +1 -1
- package/dist/utils/sqlUtils.d.ts +3 -1
- package/dist/utils/sqlUtils.d.ts.map +1 -1
- package/dist/utils/sqlUtils.js +264 -144
- package/dist/utils/sqlUtils.js.map +1 -1
- package/dist/webtriggers/applyMigrationsWebTrigger.js +1 -1
- package/package.json +14 -13
- package/src/async/PrintQueryConsumer.ts +114 -0
- package/src/core/ForgeSQLQueryBuilder.ts +2 -2
- package/src/core/ForgeSQLSelectOperations.ts +2 -1
- package/src/core/Rovo.ts +209 -167
- package/src/index.ts +2 -3
- package/src/lib/drizzle/extensions/additionalActions.ts +98 -42
- package/src/utils/cacheTableUtils.ts +511 -0
- package/src/utils/cacheUtils.ts +3 -25
- package/src/utils/forgeDriver.ts +5 -11
- package/src/utils/forgeDriverProxy.ts +9 -9
- package/src/utils/metadataContextUtils.ts +169 -52
- package/src/utils/sqlUtils.ts +372 -177
- package/src/webtriggers/applyMigrationsWebTrigger.ts +1 -1
package/dist/utils/sqlUtils.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export declare const parseDateTime: (value: string | Date, format: string) => Da
|
|
|
42
42
|
* Helper function to validate and format a date-like value using Luxon DateTime.
|
|
43
43
|
* @param value - Date object, ISO/RFC2822/SQL/HTTP string, or timestamp (number|string).
|
|
44
44
|
* @param format - DateTime format string (Luxon format tokens).
|
|
45
|
+
* @param isTimeStamp - Whether to validate timestamp range
|
|
45
46
|
* @returns Formatted date string.
|
|
46
47
|
* @throws Error if value cannot be parsed as a valid date.
|
|
47
48
|
*/
|
|
@@ -94,7 +95,7 @@ export declare function nextVal(sequenceName: string): number;
|
|
|
94
95
|
*
|
|
95
96
|
* @param forgeSQLORM - The ForgeSQL operation instance for database access
|
|
96
97
|
* @param timeDiffMs - Time window in milliseconds to look back for queries (e.g., 1500 for last 1.5 seconds)
|
|
97
|
-
* @param timeout - Optional timeout in milliseconds for the query execution (defaults to
|
|
98
|
+
* @param timeout - Optional timeout in milliseconds for the query execution (defaults to 3000ms)
|
|
98
99
|
*
|
|
99
100
|
* @example
|
|
100
101
|
* ```typescript
|
|
@@ -108,6 +109,7 @@ export declare function nextVal(sequenceName: string): number;
|
|
|
108
109
|
* @throws Does not throw - errors are logged to console.debug instead
|
|
109
110
|
*/
|
|
110
111
|
export declare function printQueriesWithPlan(forgeSQLORM: ForgeSqlOperation, timeDiffMs: number, timeout?: number): Promise<void>;
|
|
112
|
+
export declare function handleErrorsWithPlan(forgeSQLORM: ForgeSqlOperation, timeDiffMs: number, type: "OOM" | "TIMEOUT"): Promise<void>;
|
|
111
113
|
/**
|
|
112
114
|
* Analyzes and logs slow queries from the last specified number of hours.
|
|
113
115
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,
|
|
1
|
+
{"version":3,"file":"sqlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/sqlUtils.js
CHANGED
|
@@ -11,6 +11,7 @@ exports.applyFromDriverTransform = applyFromDriverTransform;
|
|
|
11
11
|
exports.formatLimitOffset = formatLimitOffset;
|
|
12
12
|
exports.nextVal = nextVal;
|
|
13
13
|
exports.printQueriesWithPlan = printQueriesWithPlan;
|
|
14
|
+
exports.handleErrorsWithPlan = handleErrorsWithPlan;
|
|
14
15
|
exports.slowQueryPerHours = slowQueryPerHours;
|
|
15
16
|
exports.withTimeout = withTimeout;
|
|
16
17
|
exports.withTidbHint = withTidbHint;
|
|
@@ -62,34 +63,33 @@ const parseDateTime = (value, format) => {
|
|
|
62
63
|
};
|
|
63
64
|
exports.parseDateTime = parseDateTime;
|
|
64
65
|
/**
|
|
65
|
-
*
|
|
66
|
-
* @param value - Date object, ISO/RFC2822/SQL/HTTP string, or timestamp (number|string).
|
|
67
|
-
* @param format - DateTime format string (Luxon format tokens).
|
|
68
|
-
* @returns Formatted date string.
|
|
69
|
-
* @throws Error if value cannot be parsed as a valid date.
|
|
66
|
+
* Parses a string value into DateTime using multiple format parsers
|
|
70
67
|
*/
|
|
71
|
-
function
|
|
68
|
+
function parseStringToDateTime(value) {
|
|
69
|
+
const parsers = [luxon_1.DateTime.fromISO, luxon_1.DateTime.fromRFC2822, luxon_1.DateTime.fromSQL, luxon_1.DateTime.fromHTTP];
|
|
70
|
+
for (const parser of parsers) {
|
|
71
|
+
const dt = parser(value);
|
|
72
|
+
if (dt.isValid) {
|
|
73
|
+
return dt;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Try parsing as number string
|
|
77
|
+
const parsed = Number(value);
|
|
78
|
+
if (!Number.isNaN(parsed)) {
|
|
79
|
+
return luxon_1.DateTime.fromMillis(parsed);
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Converts a value to DateTime
|
|
85
|
+
*/
|
|
86
|
+
function valueToDateTime(value) {
|
|
72
87
|
let dt = null;
|
|
73
88
|
if (value instanceof Date) {
|
|
74
89
|
dt = luxon_1.DateTime.fromJSDate(value);
|
|
75
90
|
}
|
|
76
91
|
else if (typeof value === "string") {
|
|
77
|
-
|
|
78
|
-
luxon_1.DateTime.fromISO,
|
|
79
|
-
luxon_1.DateTime.fromRFC2822,
|
|
80
|
-
luxon_1.DateTime.fromSQL,
|
|
81
|
-
luxon_1.DateTime.fromHTTP,
|
|
82
|
-
]) {
|
|
83
|
-
dt = parser(value);
|
|
84
|
-
if (dt.isValid)
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
if (!dt?.isValid) {
|
|
88
|
-
const parsed = Number(value);
|
|
89
|
-
if (!Number.isNaN(parsed)) {
|
|
90
|
-
dt = luxon_1.DateTime.fromMillis(parsed);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
92
|
+
dt = parseStringToDateTime(value);
|
|
93
93
|
}
|
|
94
94
|
else if (typeof value === "number") {
|
|
95
95
|
dt = luxon_1.DateTime.fromMillis(value);
|
|
@@ -100,15 +100,33 @@ function formatDateTime(value, format, isTimeStamp) {
|
|
|
100
100
|
if (!dt?.isValid) {
|
|
101
101
|
throw new Error("Invalid Date");
|
|
102
102
|
}
|
|
103
|
+
return dt;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Validates timestamp range for Atlassian Forge compatibility
|
|
107
|
+
*/
|
|
108
|
+
function validateTimestampRange(dt) {
|
|
103
109
|
const minDate = luxon_1.DateTime.fromSeconds(1);
|
|
104
110
|
const maxDate = luxon_1.DateTime.fromMillis(2147483647 * 1000); // 2038-01-19 03:14:07.999 UTC
|
|
111
|
+
if (dt < minDate) {
|
|
112
|
+
throw new Error("Atlassian Forge does not support zero or negative timestamps. Allowed range: from '1970-01-01 00:00:01.000000' to '2038-01-19 03:14:07.999999'.");
|
|
113
|
+
}
|
|
114
|
+
if (dt > maxDate) {
|
|
115
|
+
throw new Error("Atlassian Forge does not support timestamps beyond 2038-01-19 03:14:07.999999. Please use a smaller date within the supported range.");
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Helper function to validate and format a date-like value using Luxon DateTime.
|
|
120
|
+
* @param value - Date object, ISO/RFC2822/SQL/HTTP string, or timestamp (number|string).
|
|
121
|
+
* @param format - DateTime format string (Luxon format tokens).
|
|
122
|
+
* @param isTimeStamp - Whether to validate timestamp range
|
|
123
|
+
* @returns Formatted date string.
|
|
124
|
+
* @throws Error if value cannot be parsed as a valid date.
|
|
125
|
+
*/
|
|
126
|
+
function formatDateTime(value, format, isTimeStamp) {
|
|
127
|
+
const dt = valueToDateTime(value);
|
|
105
128
|
if (isTimeStamp) {
|
|
106
|
-
|
|
107
|
-
throw new Error("Atlassian Forge does not support zero or negative timestamps. Allowed range: from '1970-01-01 00:00:01.000000' to '2038-01-19 03:14:07.999999'.");
|
|
108
|
-
}
|
|
109
|
-
if (dt > maxDate) {
|
|
110
|
-
throw new Error("Atlassian Forge does not support timestamps beyond 2038-01-19 03:14:07.999999. Please use a smaller date within the supported range.");
|
|
111
|
-
}
|
|
129
|
+
validateTimestampRange(dt);
|
|
112
130
|
}
|
|
113
131
|
return dt.toFormat(format);
|
|
114
132
|
}
|
|
@@ -142,6 +160,65 @@ function getPrimaryKeys(table) {
|
|
|
142
160
|
}
|
|
143
161
|
return [];
|
|
144
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Processes foreign keys from foreignKeysSymbol
|
|
165
|
+
*/
|
|
166
|
+
function processForeignKeysFromSymbol(table, foreignKeysSymbol) {
|
|
167
|
+
const foreignKeys = [];
|
|
168
|
+
// @ts-ignore
|
|
169
|
+
const fkArray = table[foreignKeysSymbol];
|
|
170
|
+
if (!fkArray) {
|
|
171
|
+
return foreignKeys;
|
|
172
|
+
}
|
|
173
|
+
for (const fk of fkArray) {
|
|
174
|
+
if (fk.reference) {
|
|
175
|
+
const item = fk.reference(fk);
|
|
176
|
+
foreignKeys.push(item);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return foreignKeys;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Extracts config builders from config builder data
|
|
183
|
+
*/
|
|
184
|
+
function extractConfigBuilders(configBuilderData) {
|
|
185
|
+
if (Array.isArray(configBuilderData)) {
|
|
186
|
+
return configBuilderData;
|
|
187
|
+
}
|
|
188
|
+
return Object.values(configBuilderData).map((item) => item.value ?? item);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Checks if a builder is a ForeignKeyBuilder
|
|
192
|
+
*/
|
|
193
|
+
function isForeignKeyBuilder(builder) {
|
|
194
|
+
if (!builder?.constructor) {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
const builderName = builder.constructor.name.toLowerCase();
|
|
198
|
+
return builderName.includes("foreignkeybuilder");
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Processes foreign keys from extraSymbol
|
|
202
|
+
*/
|
|
203
|
+
function processForeignKeysFromExtra(table, extraSymbol) {
|
|
204
|
+
const foreignKeys = [];
|
|
205
|
+
// @ts-ignore
|
|
206
|
+
const extraConfigBuilder = table[extraSymbol];
|
|
207
|
+
if (!extraConfigBuilder || typeof extraConfigBuilder !== "function") {
|
|
208
|
+
return foreignKeys;
|
|
209
|
+
}
|
|
210
|
+
const configBuilderData = extraConfigBuilder(table);
|
|
211
|
+
if (!configBuilderData) {
|
|
212
|
+
return foreignKeys;
|
|
213
|
+
}
|
|
214
|
+
const configBuilders = extractConfigBuilders(configBuilderData);
|
|
215
|
+
for (const builder of configBuilders) {
|
|
216
|
+
if (isForeignKeyBuilder(builder)) {
|
|
217
|
+
foreignKeys.push(builder);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return foreignKeys;
|
|
221
|
+
}
|
|
145
222
|
/**
|
|
146
223
|
* Processes foreign keys from both foreignKeysSymbol and extraSymbol
|
|
147
224
|
* @param table - The table schema
|
|
@@ -153,51 +230,85 @@ function processForeignKeys(table, foreignKeysSymbol, extraSymbol) {
|
|
|
153
230
|
const foreignKeys = [];
|
|
154
231
|
// Process foreign keys from foreignKeysSymbol
|
|
155
232
|
if (foreignKeysSymbol) {
|
|
156
|
-
|
|
157
|
-
const fkArray = table[foreignKeysSymbol];
|
|
158
|
-
if (fkArray) {
|
|
159
|
-
for (const fk of fkArray) {
|
|
160
|
-
if (fk.reference) {
|
|
161
|
-
const item = fk.reference(fk);
|
|
162
|
-
foreignKeys.push(item);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
233
|
+
foreignKeys.push(...processForeignKeysFromSymbol(table, foreignKeysSymbol));
|
|
166
234
|
}
|
|
167
235
|
// Process foreign keys from extraSymbol
|
|
168
236
|
if (extraSymbol) {
|
|
169
|
-
|
|
170
|
-
const extraConfigBuilder = table[extraSymbol];
|
|
171
|
-
if (extraConfigBuilder && typeof extraConfigBuilder === "function") {
|
|
172
|
-
const configBuilderData = extraConfigBuilder(table);
|
|
173
|
-
if (configBuilderData) {
|
|
174
|
-
const configBuilders = Array.isArray(configBuilderData)
|
|
175
|
-
? configBuilderData
|
|
176
|
-
: Object.values(configBuilderData).map((item) => item.value ?? item);
|
|
177
|
-
for (const builder of configBuilders) {
|
|
178
|
-
if (!builder?.constructor)
|
|
179
|
-
continue;
|
|
180
|
-
const builderName = builder.constructor.name.toLowerCase();
|
|
181
|
-
if (builderName.includes("foreignkeybuilder")) {
|
|
182
|
-
foreignKeys.push(builder);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
237
|
+
foreignKeys.push(...processForeignKeysFromExtra(table, extraSymbol));
|
|
187
238
|
}
|
|
188
239
|
return foreignKeys;
|
|
189
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* Extracts symbols from table schema.
|
|
243
|
+
* @param table - The table schema
|
|
244
|
+
* @returns Object containing relevant symbols
|
|
245
|
+
*/
|
|
246
|
+
function extractTableSymbols(table) {
|
|
247
|
+
const symbols = Object.getOwnPropertySymbols(table);
|
|
248
|
+
return {
|
|
249
|
+
nameSymbol: symbols.find((s) => s.toString().includes("Name")),
|
|
250
|
+
columnsSymbol: symbols.find((s) => s.toString().includes("Columns")),
|
|
251
|
+
foreignKeysSymbol: symbols.find((s) => s.toString().includes("ForeignKeys)")),
|
|
252
|
+
extraSymbol: symbols.find((s) => s.toString().includes("ExtraConfigBuilder")),
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Maps builder to appropriate array based on its type.
|
|
257
|
+
* @param builder - The builder object
|
|
258
|
+
* @param builders - The builders object containing all arrays
|
|
259
|
+
* @returns True if builder was added to a specific array, false otherwise
|
|
260
|
+
*/
|
|
261
|
+
function addBuilderToTypedArray(builder, builders) {
|
|
262
|
+
if (!builder?.constructor) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
const builderName = builder.constructor.name.toLowerCase();
|
|
266
|
+
const builderMap = {
|
|
267
|
+
indexbuilder: builders.indexes,
|
|
268
|
+
checkbuilder: builders.checks,
|
|
269
|
+
primarykeybuilder: builders.primaryKeys,
|
|
270
|
+
uniqueconstraintbuilder: builders.uniqueConstraints,
|
|
271
|
+
};
|
|
272
|
+
for (const [type, array] of Object.entries(builderMap)) {
|
|
273
|
+
if (builderName.includes(type)) {
|
|
274
|
+
array.push(builder);
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Processes extra configuration builders and adds them to the builders object.
|
|
282
|
+
* @param table - The table schema
|
|
283
|
+
* @param extraSymbol - The extra symbol from table
|
|
284
|
+
* @param builders - The builders object to populate
|
|
285
|
+
*/
|
|
286
|
+
function processExtraConfigBuilders(table, extraSymbol, builders) {
|
|
287
|
+
if (!extraSymbol) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
// @ts-ignore
|
|
291
|
+
const extraConfigBuilder = table[extraSymbol];
|
|
292
|
+
if (!extraConfigBuilder || typeof extraConfigBuilder !== "function") {
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
const configBuilderData = extraConfigBuilder(table);
|
|
296
|
+
if (!configBuilderData) {
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
const configBuilders = extractConfigBuilders(configBuilderData);
|
|
300
|
+
for (const builder of configBuilders) {
|
|
301
|
+
addBuilderToTypedArray(builder, builders);
|
|
302
|
+
builders.extras.push(builder);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
190
305
|
/**
|
|
191
306
|
* Extracts table metadata from the schema.
|
|
192
307
|
* @param {AnyMySqlTable} table - The table schema
|
|
193
308
|
* @returns {MetadataInfo} Object containing table metadata
|
|
194
309
|
*/
|
|
195
310
|
function getTableMetadata(table) {
|
|
196
|
-
const
|
|
197
|
-
const nameSymbol = symbols.find((s) => s.toString().includes("Name"));
|
|
198
|
-
const columnsSymbol = symbols.find((s) => s.toString().includes("Columns"));
|
|
199
|
-
const foreignKeysSymbol = symbols.find((s) => s.toString().includes("ForeignKeys)"));
|
|
200
|
-
const extraSymbol = symbols.find((s) => s.toString().includes("ExtraConfigBuilder"));
|
|
311
|
+
const { nameSymbol, columnsSymbol, foreignKeysSymbol, extraSymbol } = extractTableSymbols(table);
|
|
201
312
|
// Initialize builders arrays
|
|
202
313
|
const builders = {
|
|
203
314
|
indexes: [],
|
|
@@ -210,41 +321,7 @@ function getTableMetadata(table) {
|
|
|
210
321
|
// Process foreign keys
|
|
211
322
|
builders.foreignKeys = processForeignKeys(table, foreignKeysSymbol, extraSymbol);
|
|
212
323
|
// Process extra configuration if available
|
|
213
|
-
|
|
214
|
-
// @ts-ignore
|
|
215
|
-
const extraConfigBuilder = table[extraSymbol];
|
|
216
|
-
if (extraConfigBuilder && typeof extraConfigBuilder === "function") {
|
|
217
|
-
const configBuilderData = extraConfigBuilder(table);
|
|
218
|
-
if (configBuilderData) {
|
|
219
|
-
// Convert configBuilderData to array if it's an object
|
|
220
|
-
const configBuilders = Array.isArray(configBuilderData)
|
|
221
|
-
? configBuilderData
|
|
222
|
-
: Object.values(configBuilderData).map((item) => item.value ?? item);
|
|
223
|
-
// Process each builder
|
|
224
|
-
for (const builder of configBuilders) {
|
|
225
|
-
if (!builder?.constructor)
|
|
226
|
-
continue;
|
|
227
|
-
const builderName = builder.constructor.name.toLowerCase();
|
|
228
|
-
// Map builder types to their corresponding arrays
|
|
229
|
-
const builderMap = {
|
|
230
|
-
indexbuilder: builders.indexes,
|
|
231
|
-
checkbuilder: builders.checks,
|
|
232
|
-
primarykeybuilder: builders.primaryKeys,
|
|
233
|
-
uniqueconstraintbuilder: builders.uniqueConstraints,
|
|
234
|
-
};
|
|
235
|
-
// Add builder to appropriate array if it matches any type
|
|
236
|
-
for (const [type, array] of Object.entries(builderMap)) {
|
|
237
|
-
if (builderName.includes(type)) {
|
|
238
|
-
array.push(builder);
|
|
239
|
-
break;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
// Always add to extras array
|
|
243
|
-
builders.extras.push(builder);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
324
|
+
processExtraConfigBuilders(table, extraSymbol, builders);
|
|
248
325
|
return {
|
|
249
326
|
tableName: nameSymbol ? table[nameSymbol] : "",
|
|
250
327
|
columns: columnsSymbol ? table[columnsSymbol] : {},
|
|
@@ -322,35 +399,57 @@ function mapSelectFieldsWithAlias(fields) {
|
|
|
322
399
|
}
|
|
323
400
|
const aliasMap = {};
|
|
324
401
|
const selections = {};
|
|
325
|
-
for (
|
|
326
|
-
const [name, fields1] = Object.entries(fields)[i];
|
|
402
|
+
for (const [name, fields1] of Object.entries(fields)) {
|
|
327
403
|
mapSelectAllFieldsToAlias(selections, name, name, fields1, aliasMap);
|
|
328
404
|
}
|
|
329
405
|
return { selections, aliasMap };
|
|
330
406
|
}
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
407
|
+
/**
|
|
408
|
+
* Checks if value is a SQL object with queryChunks
|
|
409
|
+
*/
|
|
410
|
+
function isSQLValue(value) {
|
|
411
|
+
return (value !== null && typeof value === "object" && (0, sql_1.isSQLWrapper)(value) && "queryChunks" in value);
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Extracts the alias name chunk from query chunks if it exists and is a SQL object
|
|
415
|
+
*/
|
|
416
|
+
function getAliasNameChunk(queryChunks) {
|
|
417
|
+
if (queryChunks.length <= 3) {
|
|
418
|
+
return undefined;
|
|
419
|
+
}
|
|
420
|
+
const aliasNameChunk = queryChunks.at(-2);
|
|
421
|
+
if ((0, sql_1.isSQLWrapper)(aliasNameChunk) && "queryChunks" in aliasNameChunk) {
|
|
422
|
+
return aliasNameChunk;
|
|
423
|
+
}
|
|
424
|
+
return undefined;
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Extracts string value from a SQL chunk if it contains a single string value
|
|
428
|
+
*/
|
|
429
|
+
function extractStringValueFromChunk(chunk) {
|
|
430
|
+
if (chunk.queryChunks?.length !== 1 || !chunk.queryChunks[0]) {
|
|
431
|
+
return undefined;
|
|
432
|
+
}
|
|
433
|
+
const stringChunk = chunk.queryChunks[0];
|
|
434
|
+
if (!("value" in stringChunk)) {
|
|
435
|
+
return undefined;
|
|
436
|
+
}
|
|
437
|
+
const values = stringChunk.value;
|
|
438
|
+
if (values?.length === 1) {
|
|
439
|
+
return values[0];
|
|
351
440
|
}
|
|
352
441
|
return undefined;
|
|
353
442
|
}
|
|
443
|
+
function getAliasFromDrizzleAlias(value) {
|
|
444
|
+
if (!isSQLValue(value)) {
|
|
445
|
+
return undefined;
|
|
446
|
+
}
|
|
447
|
+
const aliasNameChunk = getAliasNameChunk(value.queryChunks);
|
|
448
|
+
if (!aliasNameChunk) {
|
|
449
|
+
return undefined;
|
|
450
|
+
}
|
|
451
|
+
return extractStringValueFromChunk(aliasNameChunk);
|
|
452
|
+
}
|
|
354
453
|
function transformValue(value, alias, aliasMap) {
|
|
355
454
|
const column = aliasMap[alias];
|
|
356
455
|
if (!column)
|
|
@@ -424,6 +523,28 @@ function formatLimitOffset(limitOrOffset) {
|
|
|
424
523
|
function nextVal(sequenceName) {
|
|
425
524
|
return drizzle_orm_1.sql.raw(`NEXTVAL(${sequenceName})`);
|
|
426
525
|
}
|
|
526
|
+
/**
|
|
527
|
+
* Helper function to build base query for CLUSTER_STATEMENTS_SUMMARY table
|
|
528
|
+
*/
|
|
529
|
+
function buildClusterStatementsSummaryQuery(forgeSQLORM, timeDiffMs) {
|
|
530
|
+
const statementsTable = SystemTables_1.clusterStatementsSummary;
|
|
531
|
+
return forgeSQLORM
|
|
532
|
+
.getDrizzleQueryBuilder()
|
|
533
|
+
.select({
|
|
534
|
+
digestText: withTidbHint(statementsTable.digestText),
|
|
535
|
+
avgLatency: statementsTable.avgLatency,
|
|
536
|
+
avgMem: statementsTable.avgMem,
|
|
537
|
+
execCount: statementsTable.execCount,
|
|
538
|
+
plan: statementsTable.plan,
|
|
539
|
+
stmtType: statementsTable.stmtType,
|
|
540
|
+
})
|
|
541
|
+
.from(statementsTable)
|
|
542
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.isNotNull)(statementsTable.digest), (0, drizzle_orm_1.not)((0, drizzle_orm_1.ilike)(statementsTable.digestText, "%information_schema%")), (0, drizzle_orm_1.notInArray)(statementsTable.stmtType, ["Use", "Set", "Show", "Commit", "Rollback", "Begin"]), (0, drizzle_orm_1.gte)(statementsTable.lastSeen, (0, drizzle_orm_1.sql) `DATE_SUB
|
|
543
|
+
(NOW(), INTERVAL
|
|
544
|
+
${timeDiffMs * 1000}
|
|
545
|
+
MICROSECOND
|
|
546
|
+
)`)));
|
|
547
|
+
}
|
|
427
548
|
/**
|
|
428
549
|
* Analyzes and prints query performance data from CLUSTER_STATEMENTS_SUMMARY table.
|
|
429
550
|
*
|
|
@@ -437,7 +558,7 @@ function nextVal(sequenceName) {
|
|
|
437
558
|
*
|
|
438
559
|
* @param forgeSQLORM - The ForgeSQL operation instance for database access
|
|
439
560
|
* @param timeDiffMs - Time window in milliseconds to look back for queries (e.g., 1500 for last 1.5 seconds)
|
|
440
|
-
* @param timeout - Optional timeout in milliseconds for the query execution (defaults to
|
|
561
|
+
* @param timeout - Optional timeout in milliseconds for the query execution (defaults to 3000ms)
|
|
441
562
|
*
|
|
442
563
|
* @example
|
|
443
564
|
* ```typescript
|
|
@@ -452,31 +573,30 @@ function nextVal(sequenceName) {
|
|
|
452
573
|
*/
|
|
453
574
|
async function printQueriesWithPlan(forgeSQLORM, timeDiffMs, timeout) {
|
|
454
575
|
try {
|
|
455
|
-
const statementsTable = SystemTables_1.clusterStatementsSummary;
|
|
456
576
|
const timeoutMs = timeout ?? 3000;
|
|
457
|
-
const results = await withTimeout(forgeSQLORM
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
577
|
+
const results = await withTimeout(buildClusterStatementsSummaryQuery(forgeSQLORM, timeDiffMs), `Timeout ${timeoutMs}ms in printQueriesWithPlan - transient timeouts are usually fine; repeated timeouts mean this diagnostic query is consistently slow and should be investigated`, timeoutMs + 200);
|
|
578
|
+
for (const result of results) {
|
|
579
|
+
// Average execution time (convert from nanoseconds to milliseconds)
|
|
580
|
+
const avgTimeMs = Number(result.avgLatency) / 1_000_000;
|
|
581
|
+
const avgMemMB = Number(result.avgMem) / 1_000_000;
|
|
582
|
+
// 1. Query info: SQL, memory, time, executions
|
|
583
|
+
// eslint-disable-next-line no-console
|
|
584
|
+
console.warn(`SQL: ${result.digestText} | Memory: ${avgMemMB.toFixed(2)} MB | Time: ${avgTimeMs.toFixed(2)} ms | stmtType: ${result.stmtType} | Executions: ${result.execCount}\n Plan:${result.plan}`);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
catch (error) {
|
|
588
|
+
// eslint-disable-next-line no-console
|
|
589
|
+
console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
async function handleErrorsWithPlan(forgeSQLORM, timeDiffMs, type) {
|
|
593
|
+
try {
|
|
594
|
+
const statementsTable = SystemTables_1.clusterStatementsSummary;
|
|
595
|
+
const timeoutMs = 3000;
|
|
596
|
+
const baseQuery = buildClusterStatementsSummaryQuery(forgeSQLORM, timeDiffMs);
|
|
597
|
+
const orderColumn = type === "OOM" ? statementsTable.avgMem : statementsTable.avgLatency;
|
|
598
|
+
const query = baseQuery.orderBy((0, drizzle_orm_1.desc)(orderColumn)).limit(formatLimitOffset(1));
|
|
599
|
+
const results = await withTimeout(query, `Timeout ${timeoutMs}ms in handleErrorsWithPlan - transient timeouts are usually fine; repeated timeouts mean this diagnostic query is consistently slow and should be investigated`, timeoutMs + 200);
|
|
480
600
|
for (const result of results) {
|
|
481
601
|
// Average execution time (convert from nanoseconds to milliseconds)
|
|
482
602
|
const avgTimeMs = Number(result.avgLatency) / 1_000_000;
|
|
@@ -585,6 +705,6 @@ async function withTimeout(promise, message, timeoutMs) {
|
|
|
585
705
|
function withTidbHint(column) {
|
|
586
706
|
// We lie a bit to TypeScript here: at runtime this is a new SQL fragment,
|
|
587
707
|
// but returning TExpr keeps the column type info in downstream inference.
|
|
588
|
-
return (0, drizzle_orm_1.sql) `/*+ SET_VAR(tidb_session_alias=${drizzle_orm_1.sql.raw(
|
|
708
|
+
return (0, drizzle_orm_1.sql) `/*+ SET_VAR(tidb_session_alias=${drizzle_orm_1.sql.raw(SESSION_ALIAS_NAME_ORM)}) */ ${column}`;
|
|
589
709
|
}
|
|
590
710
|
//# sourceMappingURL=sqlUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlUtils.js","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlUtils.js","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ const applySchemaMigrations = async (migration) => {
|
|
|
44
44
|
if (Array.isArray(migrationList) && migrationList.length > 0) {
|
|
45
45
|
const sortedMigrations = migrationList.toSorted((a, b) => a.migratedAt.getTime() - b.migratedAt.getTime());
|
|
46
46
|
migrationHistory = sortedMigrations
|
|
47
|
-
.map((y) => `${y.id}, ${y.name}, ${y.migratedAt.
|
|
47
|
+
.map((y) => `${y.id}, ${y.name}, ${y.migratedAt.toISOString()}`)
|
|
48
48
|
.join("\n");
|
|
49
49
|
}
|
|
50
50
|
// eslint-disable-next-line no-console
|