forge-sql-orm 2.1.23 → 2.1.25
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 +46 -23
- package/dist/core/ForgeSQLAnalyseOperations.d.ts +4 -0
- package/dist/core/ForgeSQLAnalyseOperations.d.ts.map +1 -1
- package/dist/core/ForgeSQLAnalyseOperations.js +17 -21
- package/dist/core/ForgeSQLAnalyseOperations.js.map +1 -1
- package/dist/core/ForgeSQLCrudOperations.d.ts +16 -0
- package/dist/core/ForgeSQLCrudOperations.d.ts.map +1 -1
- package/dist/core/ForgeSQLCrudOperations.js +60 -28
- package/dist/core/ForgeSQLCrudOperations.js.map +1 -1
- package/dist/core/ForgeSQLQueryBuilder.d.ts +15 -28
- package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
- package/dist/core/ForgeSQLQueryBuilder.js +20 -47
- package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
- package/dist/core/Rovo.d.ts +32 -0
- package/dist/core/Rovo.d.ts.map +1 -1
- package/dist/core/Rovo.js +116 -67
- package/dist/core/Rovo.js.map +1 -1
- package/dist/lib/drizzle/extensions/additionalActions.d.ts.map +1 -1
- package/dist/lib/drizzle/extensions/additionalActions.js +168 -118
- package/dist/lib/drizzle/extensions/additionalActions.js.map +1 -1
- package/dist/utils/cacheTableUtils.d.ts +0 -8
- package/dist/utils/cacheTableUtils.d.ts.map +1 -1
- package/dist/utils/cacheTableUtils.js +183 -126
- package/dist/utils/cacheTableUtils.js.map +1 -1
- package/dist/utils/cacheUtils.d.ts +13 -1
- package/dist/utils/cacheUtils.d.ts.map +1 -1
- package/dist/utils/cacheUtils.js +60 -47
- package/dist/utils/cacheUtils.js.map +1 -1
- package/dist/utils/forgeDriverProxy.d.ts.map +1 -1
- package/dist/utils/forgeDriverProxy.js +31 -20
- package/dist/utils/forgeDriverProxy.js.map +1 -1
- package/dist/utils/sqlHints.d.ts.map +1 -1
- package/dist/utils/sqlHints.js +19 -29
- package/dist/utils/sqlHints.js.map +1 -1
- package/dist/utils/sqlUtils.d.ts +0 -29
- package/dist/utils/sqlUtils.d.ts.map +1 -1
- package/dist/utils/sqlUtils.js +107 -78
- package/dist/utils/sqlUtils.js.map +1 -1
- package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts +24 -4
- package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts.map +1 -1
- package/dist/webtriggers/clearCacheSchedulerTrigger.js +24 -4
- package/dist/webtriggers/clearCacheSchedulerTrigger.js.map +1 -1
- package/package.json +9 -9
- package/src/core/ForgeSQLAnalyseOperations.ts +18 -21
- package/src/core/ForgeSQLCrudOperations.ts +83 -33
- package/src/core/ForgeSQLQueryBuilder.ts +59 -154
- package/src/core/Rovo.ts +158 -98
- package/src/lib/drizzle/extensions/additionalActions.ts +287 -382
- package/src/utils/cacheTableUtils.ts +202 -144
- package/src/utils/cacheUtils.ts +70 -47
- package/src/utils/forgeDriverProxy.ts +39 -21
- package/src/utils/sqlHints.ts +21 -26
- package/src/utils/sqlUtils.ts +151 -101
- package/src/webtriggers/clearCacheSchedulerTrigger.ts +24 -4
package/dist/utils/sqlUtils.js
CHANGED
|
@@ -16,12 +16,35 @@ exports.slowQueryPerHours = slowQueryPerHours;
|
|
|
16
16
|
exports.withTimeout = withTimeout;
|
|
17
17
|
exports.withTidbHint = withTidbHint;
|
|
18
18
|
exports.checkProductionEnvironment = checkProductionEnvironment;
|
|
19
|
+
// qlty-ignore: +qlty:file-complexity
|
|
19
20
|
const drizzle_orm_1 = require("drizzle-orm");
|
|
20
21
|
const luxon_1 = require("luxon");
|
|
21
22
|
const sql_1 = require("drizzle-orm/sql/sql");
|
|
22
23
|
const core_1 = require("../core");
|
|
23
24
|
const webtriggers_1 = require("../webtriggers");
|
|
24
25
|
const api_1 = require("@forge/api");
|
|
26
|
+
/**
|
|
27
|
+
* Parses a string value using multiple DateTime parsers.
|
|
28
|
+
*/
|
|
29
|
+
function parseStringToDate(value, format) {
|
|
30
|
+
// 1. Try to parse using the provided format (strict mode)
|
|
31
|
+
const dt = luxon_1.DateTime.fromFormat(value, format);
|
|
32
|
+
if (dt.isValid) {
|
|
33
|
+
return dt.toJSDate();
|
|
34
|
+
}
|
|
35
|
+
// 2. Try to parse as SQL string
|
|
36
|
+
const sqlDt = luxon_1.DateTime.fromSQL(value);
|
|
37
|
+
if (sqlDt.isValid) {
|
|
38
|
+
return sqlDt.toJSDate();
|
|
39
|
+
}
|
|
40
|
+
// 3. Try to parse as RFC2822 string
|
|
41
|
+
const isoDt = luxon_1.DateTime.fromRFC2822(value);
|
|
42
|
+
if (isoDt.isValid) {
|
|
43
|
+
return isoDt.toJSDate();
|
|
44
|
+
}
|
|
45
|
+
// 4. Fallback: use native Date constructor
|
|
46
|
+
return new Date(value);
|
|
47
|
+
}
|
|
25
48
|
/**
|
|
26
49
|
* Parses a date string into a Date object using the specified format
|
|
27
50
|
* @param value - The date string to parse or Date
|
|
@@ -34,31 +57,9 @@ const parseDateTime = (value, format) => {
|
|
|
34
57
|
result = value;
|
|
35
58
|
}
|
|
36
59
|
else {
|
|
37
|
-
|
|
38
|
-
const dt = luxon_1.DateTime.fromFormat(value, format);
|
|
39
|
-
if (dt.isValid) {
|
|
40
|
-
result = dt.toJSDate();
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
// 2. Try to parse as SQL string
|
|
44
|
-
const sqlDt = luxon_1.DateTime.fromSQL(value);
|
|
45
|
-
if (sqlDt.isValid) {
|
|
46
|
-
result = sqlDt.toJSDate();
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
// 3. Try to parse as RFC2822 string
|
|
50
|
-
const isoDt = luxon_1.DateTime.fromRFC2822(value);
|
|
51
|
-
if (isoDt.isValid) {
|
|
52
|
-
result = isoDt.toJSDate();
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
// 4. Fallback: use native Date constructor
|
|
56
|
-
result = new Date(value);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
+
result = parseStringToDate(value, format);
|
|
60
61
|
}
|
|
61
|
-
//
|
|
62
|
+
// Ensure the result is a valid Date object
|
|
62
63
|
if (Number.isNaN(result.getTime())) {
|
|
63
64
|
result = new Date(value);
|
|
64
65
|
}
|
|
@@ -488,34 +489,48 @@ function applyFromDriverTransform(rows, selections, aliasMap) {
|
|
|
488
489
|
return processNullBranches(transformed);
|
|
489
490
|
});
|
|
490
491
|
}
|
|
492
|
+
/**
|
|
493
|
+
* Checks if an object is a plain object (not Date, Array, etc.).
|
|
494
|
+
*/
|
|
495
|
+
function isPlainObject(obj) {
|
|
496
|
+
return (obj !== null &&
|
|
497
|
+
typeof obj === "object" &&
|
|
498
|
+
(!obj.constructor || obj.constructor.name === "Object"));
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Processes a single value in the null branches processing.
|
|
502
|
+
*/
|
|
503
|
+
function processValueEntry(key, value, result, allNull) {
|
|
504
|
+
if (value === null || value === undefined) {
|
|
505
|
+
result[key] = null;
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
if (typeof value === "object" && isPlainObject(value)) {
|
|
509
|
+
const processed = processNullBranches(value);
|
|
510
|
+
result[key] = processed;
|
|
511
|
+
if (processed !== null) {
|
|
512
|
+
allNull.value = false;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
result[key] = value;
|
|
517
|
+
allNull.value = false;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
491
520
|
function processNullBranches(obj) {
|
|
492
521
|
if (obj === null || typeof obj !== "object") {
|
|
493
522
|
return obj;
|
|
494
523
|
}
|
|
495
524
|
// Skip built-in objects like Date, Array, etc.
|
|
496
|
-
if (obj
|
|
525
|
+
if (!isPlainObject(obj)) {
|
|
497
526
|
return obj;
|
|
498
527
|
}
|
|
499
528
|
const result = {};
|
|
500
|
-
|
|
529
|
+
const allNull = { value: true };
|
|
501
530
|
for (const [key, value] of Object.entries(obj)) {
|
|
502
|
-
|
|
503
|
-
result[key] = null;
|
|
504
|
-
continue;
|
|
505
|
-
}
|
|
506
|
-
if (typeof value === "object") {
|
|
507
|
-
const processed = processNullBranches(value);
|
|
508
|
-
result[key] = processed;
|
|
509
|
-
if (processed !== null) {
|
|
510
|
-
allNull = false;
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
else {
|
|
514
|
-
result[key] = value;
|
|
515
|
-
allNull = false;
|
|
516
|
-
}
|
|
531
|
+
processValueEntry(key, value, result, allNull);
|
|
517
532
|
}
|
|
518
|
-
return allNull ? null : result;
|
|
533
|
+
return allNull.value ? null : result;
|
|
519
534
|
}
|
|
520
535
|
function formatLimitOffset(limitOrOffset) {
|
|
521
536
|
if (typeof limitOrOffset !== "number" || Number.isNaN(limitOrOffset)) {
|
|
@@ -548,6 +563,22 @@ function buildClusterStatementsSummaryQuery(forgeSQLORM, timeDiffMs) {
|
|
|
548
563
|
MICROSECOND
|
|
549
564
|
)`)));
|
|
550
565
|
}
|
|
566
|
+
/**
|
|
567
|
+
* Formats and logs query performance result.
|
|
568
|
+
*/
|
|
569
|
+
function formatAndLogQueryResult(result) {
|
|
570
|
+
const avgTimeMs = Number(result.avgLatency) / 1_000_000;
|
|
571
|
+
const avgMemMB = Number(result.avgMem) / 1_000_000;
|
|
572
|
+
// eslint-disable-next-line no-console
|
|
573
|
+
console.warn(`SQL: ${result.digestText} | Memory: ${avgMemMB.toFixed(2)} MB | Time: ${avgTimeMs.toFixed(2)} ms | stmtType: ${result.stmtType} | Executions: ${Number(result.execCount)}\n Plan:${result.plan}`);
|
|
574
|
+
}
|
|
575
|
+
/**
|
|
576
|
+
* Handles errors in query execution plan retrieval.
|
|
577
|
+
*/
|
|
578
|
+
function handleQueryPlanError(error) {
|
|
579
|
+
// eslint-disable-next-line no-console
|
|
580
|
+
console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
|
|
581
|
+
}
|
|
551
582
|
/**
|
|
552
583
|
* Analyzes and prints query performance data from CLUSTER_STATEMENTS_SUMMARY table.
|
|
553
584
|
*
|
|
@@ -579,17 +610,11 @@ async function printQueriesWithPlan(forgeSQLORM, timeDiffMs, timeout) {
|
|
|
579
610
|
const timeoutMs = timeout ?? 3000;
|
|
580
611
|
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);
|
|
581
612
|
for (const result of results) {
|
|
582
|
-
|
|
583
|
-
const avgTimeMs = Number(result.avgLatency) / 1_000_000;
|
|
584
|
-
const avgMemMB = Number(result.avgMem) / 1_000_000;
|
|
585
|
-
// 1. Query info: SQL, memory, time, executions
|
|
586
|
-
// eslint-disable-next-line no-console
|
|
587
|
-
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}`);
|
|
613
|
+
formatAndLogQueryResult(result);
|
|
588
614
|
}
|
|
589
615
|
}
|
|
590
616
|
catch (error) {
|
|
591
|
-
|
|
592
|
-
console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
|
|
617
|
+
handleQueryPlanError(error);
|
|
593
618
|
}
|
|
594
619
|
}
|
|
595
620
|
async function handleErrorsWithPlan(forgeSQLORM, timeDiffMs, type) {
|
|
@@ -601,17 +626,11 @@ async function handleErrorsWithPlan(forgeSQLORM, timeDiffMs, type) {
|
|
|
601
626
|
const query = baseQuery.orderBy((0, drizzle_orm_1.desc)(orderColumn)).limit(formatLimitOffset(1));
|
|
602
627
|
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);
|
|
603
628
|
for (const result of results) {
|
|
604
|
-
|
|
605
|
-
const avgTimeMs = Number(result.avgLatency) / 1_000_000;
|
|
606
|
-
const avgMemMB = Number(result.avgMem) / 1_000_000;
|
|
607
|
-
// 1. Query info: SQL, memory, time, executions
|
|
608
|
-
// eslint-disable-next-line no-console
|
|
609
|
-
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}`);
|
|
629
|
+
formatAndLogQueryResult(result);
|
|
610
630
|
}
|
|
611
631
|
}
|
|
612
632
|
catch (error) {
|
|
613
|
-
|
|
614
|
-
console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
|
|
633
|
+
handleQueryPlanError(error);
|
|
615
634
|
}
|
|
616
635
|
}
|
|
617
636
|
const SESSION_ALIAS_NAME_ORM = "orm";
|
|
@@ -644,38 +663,48 @@ const SESSION_ALIAS_NAME_ORM = "orm";
|
|
|
644
663
|
*
|
|
645
664
|
* @throws Does not throw - errors are logged to console.debug instead
|
|
646
665
|
*/
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
666
|
+
/**
|
|
667
|
+
* Builds slow query query for specified hours.
|
|
668
|
+
*/
|
|
669
|
+
function buildSlowQueryQuery(forgeSQLORM, hours) {
|
|
670
|
+
return forgeSQLORM
|
|
671
|
+
.getDrizzleQueryBuilder()
|
|
672
|
+
.select({
|
|
673
|
+
query: withTidbHint(core_1.slowQuery.query),
|
|
674
|
+
queryTime: core_1.slowQuery.queryTime,
|
|
675
|
+
memMax: core_1.slowQuery.memMax,
|
|
676
|
+
plan: core_1.slowQuery.plan,
|
|
677
|
+
})
|
|
678
|
+
.from(core_1.slowQuery)
|
|
679
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.isNotNull)(core_1.slowQuery.digest), (0, drizzle_orm_1.ne)(core_1.slowQuery.sessionAlias, SESSION_ALIAS_NAME_ORM), (0, drizzle_orm_1.gte)(core_1.slowQuery.time, (0, drizzle_orm_1.sql) `DATE_SUB
|
|
660
680
|
(NOW(), INTERVAL
|
|
661
681
|
${hours}
|
|
662
682
|
HOUR
|
|
663
|
-
)`)))
|
|
683
|
+
)`)));
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Formats slow query result message.
|
|
687
|
+
*/
|
|
688
|
+
function formatSlowQueryMessage(result) {
|
|
689
|
+
const memMaxMB = result.memMax ? Number(result.memMax) / 1_000_000 : 0;
|
|
690
|
+
return `Found SlowQuery SQL: ${result.query} | Memory: ${memMaxMB.toFixed(2)} MB | Time: ${result.queryTime} ms\n Plan:${result.plan}`;
|
|
691
|
+
}
|
|
692
|
+
async function slowQueryPerHours(forgeSQLORM, hours, timeout) {
|
|
693
|
+
try {
|
|
694
|
+
const timeoutMs = timeout ?? 1500;
|
|
695
|
+
const query = buildSlowQueryQuery(forgeSQLORM, hours);
|
|
696
|
+
const results = await withTimeout(query, `Timeout ${timeoutMs}ms in slowQueryPerHours - transient timeouts are usually fine; repeated timeouts mean this diagnostic query is consistently slow and should be investigated`, timeoutMs);
|
|
664
697
|
const response = [];
|
|
665
698
|
for (const result of results) {
|
|
666
|
-
|
|
667
|
-
const memMaxMB = result.memMax ? Number(result.memMax) / 1_000_000 : 0;
|
|
668
|
-
const message = `Found SlowQuery SQL: ${result.query} | Memory: ${memMaxMB.toFixed(2)} MB | Time: ${result.queryTime} ms\n Plan:${result.plan}`;
|
|
699
|
+
const message = formatSlowQueryMessage(result);
|
|
669
700
|
response.push(message);
|
|
670
|
-
// 1. Query info: SQL, memory, time, executions
|
|
671
701
|
// eslint-disable-next-line no-console
|
|
672
702
|
console.warn(message);
|
|
673
703
|
}
|
|
674
704
|
return response;
|
|
675
705
|
}
|
|
676
706
|
catch (error) {
|
|
677
|
-
|
|
678
|
-
console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
|
|
707
|
+
handleQueryPlanError(error);
|
|
679
708
|
return [
|
|
680
709
|
`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}`,
|
|
681
710
|
];
|
|
@@ -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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"}
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { ForgeSqlOrmOptions } from "../core/ForgeSQLQueryBuilder";
|
|
2
2
|
/**
|
|
3
|
-
* Scheduler trigger for clearing expired cache entries.
|
|
3
|
+
* Scheduler trigger for proactively clearing expired cache entries.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* **Why this trigger is needed:**
|
|
6
|
+
*
|
|
7
|
+
* While forge-sql-orm uses Forge KVS TTL feature to mark entries as expired, **actual deletion
|
|
8
|
+
* is asynchronous and may take up to 48 hours**. During this window, expired entries remain in
|
|
9
|
+
* storage and can impact INSERT/UPDATE performance if the cache grows large.
|
|
10
|
+
*
|
|
11
|
+
* This scheduler trigger proactively cleans up expired entries by querying the expiration index
|
|
12
|
+
* and deleting entries where expiration < now, preventing cache growth from impacting data
|
|
13
|
+
* modification operations.
|
|
14
|
+
*
|
|
15
|
+
* **When to use:**
|
|
16
|
+
* - Your cache grows large over time
|
|
17
|
+
* - INSERT/UPDATE operations are slowing down due to cache size
|
|
18
|
+
* - You need strict expiry semantics (immediate cleanup)
|
|
19
|
+
* - You want to reduce storage costs proactively
|
|
20
|
+
*
|
|
21
|
+
* **When optional:**
|
|
22
|
+
* - Small cache footprint
|
|
23
|
+
* - No performance impact on data modifications
|
|
24
|
+
* - You can tolerate expired entries being returned for up to 48 hours
|
|
7
25
|
*
|
|
8
26
|
* @note This function is automatically disabled in production environments and will return a 500 error if called.
|
|
9
27
|
*
|
|
@@ -26,7 +44,7 @@ import { ForgeSqlOrmOptions } from "../core/ForgeSQLQueryBuilder";
|
|
|
26
44
|
*
|
|
27
45
|
* @example
|
|
28
46
|
* ```yaml
|
|
29
|
-
* # In manifest.yml
|
|
47
|
+
* # In manifest.yml (optional - only if cache growth impacts INSERT/UPDATE performance)
|
|
30
48
|
* scheduledTrigger:
|
|
31
49
|
* - key: clear-cache-trigger
|
|
32
50
|
* function: clearCache
|
|
@@ -36,6 +54,8 @@ import { ForgeSqlOrmOptions } from "../core/ForgeSQLQueryBuilder";
|
|
|
36
54
|
* - key: clearCache
|
|
37
55
|
* handler: index.clearCache
|
|
38
56
|
* ```
|
|
57
|
+
*
|
|
58
|
+
* @see https://developer.atlassian.com/platform/forge/runtime-reference/storage-api-basic-api/#ttl
|
|
39
59
|
*/
|
|
40
60
|
export declare const clearCacheSchedulerTrigger: (options?: ForgeSqlOrmOptions) => Promise<{
|
|
41
61
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clearCacheSchedulerTrigger.d.ts","sourceRoot":"","sources":["../../src/webtriggers/clearCacheSchedulerTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"clearCacheSchedulerTrigger.d.ts","sourceRoot":"","sources":["../../src/webtriggers/clearCacheSchedulerTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,eAAO,MAAM,0BAA0B,GAAU,UAAU,kBAAkB;;;;;;;EAwC5E,CAAC"}
|
|
@@ -3,10 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.clearCacheSchedulerTrigger = void 0;
|
|
4
4
|
const cacheUtils_1 = require("../utils/cacheUtils");
|
|
5
5
|
/**
|
|
6
|
-
* Scheduler trigger for clearing expired cache entries.
|
|
6
|
+
* Scheduler trigger for proactively clearing expired cache entries.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* **Why this trigger is needed:**
|
|
9
|
+
*
|
|
10
|
+
* While forge-sql-orm uses Forge KVS TTL feature to mark entries as expired, **actual deletion
|
|
11
|
+
* is asynchronous and may take up to 48 hours**. During this window, expired entries remain in
|
|
12
|
+
* storage and can impact INSERT/UPDATE performance if the cache grows large.
|
|
13
|
+
*
|
|
14
|
+
* This scheduler trigger proactively cleans up expired entries by querying the expiration index
|
|
15
|
+
* and deleting entries where expiration < now, preventing cache growth from impacting data
|
|
16
|
+
* modification operations.
|
|
17
|
+
*
|
|
18
|
+
* **When to use:**
|
|
19
|
+
* - Your cache grows large over time
|
|
20
|
+
* - INSERT/UPDATE operations are slowing down due to cache size
|
|
21
|
+
* - You need strict expiry semantics (immediate cleanup)
|
|
22
|
+
* - You want to reduce storage costs proactively
|
|
23
|
+
*
|
|
24
|
+
* **When optional:**
|
|
25
|
+
* - Small cache footprint
|
|
26
|
+
* - No performance impact on data modifications
|
|
27
|
+
* - You can tolerate expired entries being returned for up to 48 hours
|
|
10
28
|
*
|
|
11
29
|
* @note This function is automatically disabled in production environments and will return a 500 error if called.
|
|
12
30
|
*
|
|
@@ -29,7 +47,7 @@ const cacheUtils_1 = require("../utils/cacheUtils");
|
|
|
29
47
|
*
|
|
30
48
|
* @example
|
|
31
49
|
* ```yaml
|
|
32
|
-
* # In manifest.yml
|
|
50
|
+
* # In manifest.yml (optional - only if cache growth impacts INSERT/UPDATE performance)
|
|
33
51
|
* scheduledTrigger:
|
|
34
52
|
* - key: clear-cache-trigger
|
|
35
53
|
* function: clearCache
|
|
@@ -39,6 +57,8 @@ const cacheUtils_1 = require("../utils/cacheUtils");
|
|
|
39
57
|
* - key: clearCache
|
|
40
58
|
* handler: index.clearCache
|
|
41
59
|
* ```
|
|
60
|
+
*
|
|
61
|
+
* @see https://developer.atlassian.com/platform/forge/runtime-reference/storage-api-basic-api/#ttl
|
|
42
62
|
*/
|
|
43
63
|
const clearCacheSchedulerTrigger = async (options) => {
|
|
44
64
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clearCacheSchedulerTrigger.js","sourceRoot":"","sources":["../../src/webtriggers/clearCacheSchedulerTrigger.ts"],"names":[],"mappings":";;;AAAA,oDAAwD;AAGxD
|
|
1
|
+
{"version":3,"file":"clearCacheSchedulerTrigger.js","sourceRoot":"","sources":["../../src/webtriggers/clearCacheSchedulerTrigger.ts"],"names":[],"mappings":";;;AAAA,oDAAwD;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACI,MAAM,0BAA0B,GAAG,KAAK,EAAE,OAA4B,EAAE,EAAE;IAC/E,IAAI,CAAC;QACH,MAAM,UAAU,GAAuB,OAAO,IAAI;YAChD,cAAc,EAAE,KAAK;YACrB,wBAAwB,EAAE,KAAK;YAC/B,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,OAAO;YACxB,oBAAoB,EAAE,KAAK;YAC3B,yBAAyB,EAAE,YAAY;YACvC,mBAAmB,EAAE,MAAM;SAC5B,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC;QAEpC,OAAO;YACL,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,kBAAkB,CAAC,EAAE;YACjD,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,sCAAsC;gBAC/C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,kBAAkB,CAAC,EAAE;YACjD,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,uBAAuB;YACnC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;gBACpF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;SACH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAxCW,QAAA,0BAA0B,8BAwCrC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "forge-sql-orm",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.25",
|
|
4
4
|
"description": "Drizzle ORM integration for Atlassian @forge/sql. Provides a custom driver, schema migration, two levels of caching (local and global via @forge/kvs), optimistic locking, and query analysis.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"homepage": "https://github.com/forge-sql-orm/forge-sql-orm#readme",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@eslint/js": "^9.39.2",
|
|
29
29
|
"@types/luxon": "^3.7.1",
|
|
30
|
-
"@types/node": "^25.0
|
|
31
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
32
|
-
"@typescript-eslint/parser": "^8.
|
|
30
|
+
"@types/node": "^25.4.0",
|
|
31
|
+
"@typescript-eslint/eslint-plugin": "^8.57.0",
|
|
32
|
+
"@typescript-eslint/parser": "^8.57.0",
|
|
33
33
|
"@vitest/coverage-v8": "^4.0.18",
|
|
34
34
|
"@vitest/ui": "^4.0.18",
|
|
35
35
|
"eslint": "^9.39.2",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"eslint-plugin-import": "^2.32.0",
|
|
38
38
|
"eslint-plugin-vitest": "^0.5.4",
|
|
39
39
|
"husky": "^9.1.7",
|
|
40
|
-
"knip": "^5.
|
|
40
|
+
"knip": "^5.86.0",
|
|
41
41
|
"patch-package": "^8.0.1",
|
|
42
42
|
"prettier": "^3.8.1",
|
|
43
43
|
"ts-node": "^10.9.2",
|
|
@@ -71,15 +71,15 @@
|
|
|
71
71
|
"README.md"
|
|
72
72
|
],
|
|
73
73
|
"peerDependencies": {
|
|
74
|
-
"@forge/sql": "^3.0.
|
|
74
|
+
"@forge/sql": "^3.0.19",
|
|
75
75
|
"drizzle-orm": "^0.45.1"
|
|
76
76
|
},
|
|
77
77
|
"optionalDependencies": {
|
|
78
|
-
"@forge/kvs": "^1.
|
|
78
|
+
"@forge/kvs": "^1.4.0"
|
|
79
79
|
},
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@forge/api": "^7.
|
|
82
|
-
"@forge/events": "^2.0
|
|
81
|
+
"@forge/api": "^7.1.0",
|
|
82
|
+
"@forge/events": "^2.1.0",
|
|
83
83
|
"luxon": "^3.7.2",
|
|
84
84
|
"node-sql-parser": "^5.4.0"
|
|
85
85
|
},
|
|
@@ -200,16 +200,10 @@ export class ForgeSQLAnalyseOperation implements SchemaAnalyzeForgeSql {
|
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
/**
|
|
203
|
-
*
|
|
204
|
-
* @param {string} query - The SQL query to analyze
|
|
205
|
-
* @param {unknown[]} bindParams - The query parameters
|
|
206
|
-
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
203
|
+
* Maps decoded plan row to ExplainAnalyzeRow format.
|
|
207
204
|
*/
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
.fetch()
|
|
211
|
-
.executeRawSQL<DecodedPlanRow>(`EXPLAIN ${query}`, bindParams as SqlParameters);
|
|
212
|
-
return results.map((row) => ({
|
|
205
|
+
private mapDecodedPlanRow(row: DecodedPlanRow): ExplainAnalyzeRow {
|
|
206
|
+
return {
|
|
213
207
|
id: row.id,
|
|
214
208
|
estRows: row.estRows,
|
|
215
209
|
actRows: row.actRows,
|
|
@@ -219,7 +213,20 @@ export class ForgeSQLAnalyseOperation implements SchemaAnalyzeForgeSql {
|
|
|
219
213
|
operatorInfo: row["operator info"],
|
|
220
214
|
memory: row.memory,
|
|
221
215
|
disk: row.disk,
|
|
222
|
-
}
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Executes EXPLAIN on a raw SQL query.
|
|
221
|
+
* @param {string} query - The SQL query to analyze
|
|
222
|
+
* @param {unknown[]} bindParams - The query parameters
|
|
223
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
224
|
+
*/
|
|
225
|
+
async explainRaw(query: string, bindParams: unknown[]): Promise<ExplainAnalyzeRow[]> {
|
|
226
|
+
const results = await this.forgeOperations
|
|
227
|
+
.fetch()
|
|
228
|
+
.executeRawSQL<DecodedPlanRow>(`EXPLAIN ${query}`, bindParams as SqlParameters);
|
|
229
|
+
return results.map((row) => this.mapDecodedPlanRow(row));
|
|
223
230
|
}
|
|
224
231
|
|
|
225
232
|
/**
|
|
@@ -242,17 +249,7 @@ export class ForgeSQLAnalyseOperation implements SchemaAnalyzeForgeSql {
|
|
|
242
249
|
const results = await this.forgeOperations
|
|
243
250
|
.fetch()
|
|
244
251
|
.executeRawSQL<DecodedPlanRow>(`EXPLAIN ANALYZE ${query}`, bindParams as SqlParameters);
|
|
245
|
-
return results.map((row) => (
|
|
246
|
-
id: row.id,
|
|
247
|
-
estRows: row.estRows,
|
|
248
|
-
actRows: row.actRows,
|
|
249
|
-
task: row.task,
|
|
250
|
-
accessObject: row["access object"],
|
|
251
|
-
executionInfo: row["execution info"],
|
|
252
|
-
operatorInfo: row["operator info"],
|
|
253
|
-
memory: row.memory,
|
|
254
|
-
disk: row.disk,
|
|
255
|
-
}));
|
|
252
|
+
return results.map((row) => this.mapDecodedPlanRow(row));
|
|
256
253
|
}
|
|
257
254
|
|
|
258
255
|
/**
|