forge-sql-orm 2.0.18 → 2.0.19
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 +95 -4
- package/dist/ForgeSQLORM.js +314 -49
- package/dist/ForgeSQLORM.js.map +1 -1
- package/dist/ForgeSQLORM.mjs +314 -49
- package/dist/ForgeSQLORM.mjs.map +1 -1
- package/dist/core/ForgeSQLAnalyseOperations.d.ts +250 -0
- package/dist/core/ForgeSQLAnalyseOperations.d.ts.map +1 -0
- package/dist/core/ForgeSQLORM.d.ts +12 -2
- package/dist/core/ForgeSQLORM.d.ts.map +1 -1
- package/dist/core/ForgeSQLQueryBuilder.d.ts +105 -9
- package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
- package/dist/core/ForgeSQLSelectOperations.d.ts.map +1 -1
- package/dist/core/SystemTables.d.ts +167 -0
- package/dist/core/SystemTables.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/utils/sqlUtils.d.ts +2 -2
- package/dist/utils/sqlUtils.d.ts.map +1 -1
- package/dist/webtriggers/applyMigrationsWebTrigger.d.ts.map +1 -1
- package/dist/webtriggers/dropMigrationWebTrigger.d.ts +2 -4
- package/dist/webtriggers/dropMigrationWebTrigger.d.ts.map +1 -1
- package/package.json +4 -12
- package/src/core/ForgeSQLAnalyseOperations.ts +461 -0
- package/src/core/ForgeSQLORM.ts +43 -7
- package/src/core/ForgeSQLQueryBuilder.ts +121 -18
- package/src/core/ForgeSQLSelectOperations.ts +4 -6
- package/src/core/SystemTables.ts +175 -0
- package/src/index.ts +1 -0
- package/src/utils/forgeDriverProxy.ts +1 -1
- package/src/utils/sqlUtils.ts +10 -16
- package/src/webtriggers/applyMigrationsWebTrigger.ts +32 -16
- package/src/webtriggers/dropMigrationWebTrigger.ts +5 -6
- package/src/webtriggers/fetchSchemaWebTrigger.ts +2 -10
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { ForgeSqlOperation, SchemaAnalyzeForgeSql } from "./ForgeSQLQueryBuilder";
|
|
2
|
+
import { Query } from "drizzle-orm";
|
|
3
|
+
import { ClusterStatementRowCamelCase, ExplainAnalyzeRow, SlowQueryNormalized } from "./SystemTables";
|
|
4
|
+
import { AnyMySqlTable } from "drizzle-orm/mysql-core/index";
|
|
5
|
+
/**
|
|
6
|
+
* Interface representing a raw slow query row from the database
|
|
7
|
+
*/
|
|
8
|
+
interface SlowQueryRaw {
|
|
9
|
+
Time: string;
|
|
10
|
+
Txn_start_ts: number;
|
|
11
|
+
User: string;
|
|
12
|
+
Host: string;
|
|
13
|
+
Conn_ID: number;
|
|
14
|
+
DB: string;
|
|
15
|
+
Query: string;
|
|
16
|
+
Digest: string;
|
|
17
|
+
Query_time: number;
|
|
18
|
+
Compile_time: number;
|
|
19
|
+
Optimize_time: number;
|
|
20
|
+
Process_time: number;
|
|
21
|
+
Wait_time: number;
|
|
22
|
+
Parse_time: number;
|
|
23
|
+
Rewrite_time: number;
|
|
24
|
+
Cop_time: number;
|
|
25
|
+
Cop_proc_avg: number;
|
|
26
|
+
Cop_proc_max: number;
|
|
27
|
+
Cop_proc_p90: number;
|
|
28
|
+
Cop_proc_addr: string;
|
|
29
|
+
Cop_wait_avg: number;
|
|
30
|
+
Cop_wait_max: number;
|
|
31
|
+
Cop_wait_p90: number;
|
|
32
|
+
Cop_wait_addr: string;
|
|
33
|
+
Mem_max: number;
|
|
34
|
+
Disk_max: number;
|
|
35
|
+
Total_keys: number;
|
|
36
|
+
Process_keys: number;
|
|
37
|
+
Request_count: number;
|
|
38
|
+
KV_total: number;
|
|
39
|
+
PD_total: number;
|
|
40
|
+
Result_rows: number;
|
|
41
|
+
Rocksdb_block_cache_hit_count: number;
|
|
42
|
+
Rocksdb_block_read_count: number;
|
|
43
|
+
Rocksdb_block_read_byte: number;
|
|
44
|
+
Plan: string;
|
|
45
|
+
Binary_plan: string;
|
|
46
|
+
Plan_digest: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Interface representing a row from the cluster statements table
|
|
50
|
+
*/
|
|
51
|
+
export interface ClusterStatementRow {
|
|
52
|
+
INSTANCE: string;
|
|
53
|
+
SUMMARY_BEGIN_TIME: string;
|
|
54
|
+
SUMMARY_END_TIME: string;
|
|
55
|
+
STMT_TYPE: string;
|
|
56
|
+
SCHEMA_NAME: string;
|
|
57
|
+
DIGEST: string;
|
|
58
|
+
DIGEST_TEXT: string;
|
|
59
|
+
TABLE_NAMES: string;
|
|
60
|
+
INDEX_NAMES: string | null;
|
|
61
|
+
SAMPLE_USER: string;
|
|
62
|
+
EXEC_COUNT: number;
|
|
63
|
+
SUM_ERRORS: number;
|
|
64
|
+
SUM_WARNINGS: number;
|
|
65
|
+
SUM_LATENCY: number;
|
|
66
|
+
MAX_LATENCY: number;
|
|
67
|
+
MIN_LATENCY: number;
|
|
68
|
+
AVG_LATENCY: number;
|
|
69
|
+
AVG_PARSE_LATENCY: number;
|
|
70
|
+
MAX_PARSE_LATENCY: number;
|
|
71
|
+
AVG_COMPILE_LATENCY: number;
|
|
72
|
+
MAX_COMPILE_LATENCY: number;
|
|
73
|
+
SUM_COP_TASK_NUM: number;
|
|
74
|
+
MAX_COP_PROCESS_TIME: number;
|
|
75
|
+
MAX_COP_PROCESS_ADDRESS: string;
|
|
76
|
+
MAX_COP_WAIT_TIME: number;
|
|
77
|
+
MAX_COP_WAIT_ADDRESS: string;
|
|
78
|
+
AVG_PROCESS_TIME: number;
|
|
79
|
+
MAX_PROCESS_TIME: number;
|
|
80
|
+
AVG_WAIT_TIME: number;
|
|
81
|
+
MAX_WAIT_TIME: number;
|
|
82
|
+
AVG_BACKOFF_TIME: number;
|
|
83
|
+
MAX_BACKOFF_TIME: number;
|
|
84
|
+
AVG_TOTAL_KEYS: number;
|
|
85
|
+
MAX_TOTAL_KEYS: number;
|
|
86
|
+
AVG_PROCESSED_KEYS: number;
|
|
87
|
+
MAX_PROCESSED_KEYS: number;
|
|
88
|
+
AVG_ROCKSDB_DELETE_SKIPPED_COUNT: number;
|
|
89
|
+
MAX_ROCKSDB_DELETE_SKIPPED_COUNT: number;
|
|
90
|
+
AVG_ROCKSDB_KEY_SKIPPED_COUNT: number;
|
|
91
|
+
MAX_ROCKSDB_KEY_SKIPPED_COUNT: number;
|
|
92
|
+
AVG_ROCKSDB_BLOCK_CACHE_HIT_COUNT: number;
|
|
93
|
+
MAX_ROCKSDB_BLOCK_CACHE_HIT_COUNT: number;
|
|
94
|
+
AVG_ROCKSDB_BLOCK_READ_COUNT: number;
|
|
95
|
+
MAX_ROCKSDB_BLOCK_READ_COUNT: number;
|
|
96
|
+
AVG_ROCKSDB_BLOCK_READ_BYTE: number;
|
|
97
|
+
MAX_ROCKSDB_BLOCK_READ_BYTE: number;
|
|
98
|
+
AVG_PREWRITE_TIME: number;
|
|
99
|
+
MAX_PREWRITE_TIME: number;
|
|
100
|
+
AVG_COMMIT_TIME: number;
|
|
101
|
+
MAX_COMMIT_TIME: number;
|
|
102
|
+
AVG_GET_COMMIT_TS_TIME: number;
|
|
103
|
+
MAX_GET_COMMIT_TS_TIME: number;
|
|
104
|
+
AVG_COMMIT_BACKOFF_TIME: number;
|
|
105
|
+
MAX_COMMIT_BACKOFF_TIME: number;
|
|
106
|
+
AVG_RESOLVE_LOCK_TIME: number;
|
|
107
|
+
MAX_RESOLVE_LOCK_TIME: number;
|
|
108
|
+
AVG_LOCAL_LATCH_WAIT_TIME: number;
|
|
109
|
+
MAX_LOCAL_LATCH_WAIT_TIME: number;
|
|
110
|
+
AVG_WRITE_KEYS: number;
|
|
111
|
+
MAX_WRITE_KEYS: number;
|
|
112
|
+
AVG_WRITE_SIZE: number;
|
|
113
|
+
MAX_WRITE_SIZE: number;
|
|
114
|
+
AVG_PREWRITE_REGIONS: number;
|
|
115
|
+
MAX_PREWRITE_REGIONS: number;
|
|
116
|
+
AVG_TXN_RETRY: number;
|
|
117
|
+
MAX_TXN_RETRY: number;
|
|
118
|
+
SUM_EXEC_RETRY: number;
|
|
119
|
+
SUM_EXEC_RETRY_TIME: number;
|
|
120
|
+
SUM_BACKOFF_TIMES: number;
|
|
121
|
+
BACKOFF_TYPES: string | null;
|
|
122
|
+
AVG_MEM: number;
|
|
123
|
+
MAX_MEM: number;
|
|
124
|
+
AVG_DISK: number;
|
|
125
|
+
MAX_DISK: number;
|
|
126
|
+
AVG_KV_TIME: number;
|
|
127
|
+
AVG_PD_TIME: number;
|
|
128
|
+
AVG_BACKOFF_TOTAL_TIME: number;
|
|
129
|
+
AVG_WRITE_SQL_RESP_TIME: number;
|
|
130
|
+
AVG_TIDB_CPU_TIME: number;
|
|
131
|
+
AVG_TIKV_CPU_TIME: number;
|
|
132
|
+
MAX_RESULT_ROWS: number;
|
|
133
|
+
MIN_RESULT_ROWS: number;
|
|
134
|
+
AVG_RESULT_ROWS: number;
|
|
135
|
+
PREPARED: number;
|
|
136
|
+
AVG_AFFECTED_ROWS: number;
|
|
137
|
+
FIRST_SEEN: string;
|
|
138
|
+
LAST_SEEN: string;
|
|
139
|
+
PLAN_IN_CACHE: number;
|
|
140
|
+
PLAN_CACHE_HITS: number;
|
|
141
|
+
PLAN_IN_BINDING: number;
|
|
142
|
+
QUERY_SAMPLE_TEXT: string;
|
|
143
|
+
PREV_SAMPLE_TEXT: string;
|
|
144
|
+
PLAN_DIGEST: string;
|
|
145
|
+
PLAN: string;
|
|
146
|
+
BINARY_PLAN: string;
|
|
147
|
+
CHARSET: string;
|
|
148
|
+
COLLATION: string;
|
|
149
|
+
PLAN_HINT: string;
|
|
150
|
+
MAX_REQUEST_UNIT_READ: number;
|
|
151
|
+
AVG_REQUEST_UNIT_READ: number;
|
|
152
|
+
MAX_REQUEST_UNIT_WRITE: number;
|
|
153
|
+
AVG_REQUEST_UNIT_WRITE: number;
|
|
154
|
+
MAX_QUEUED_RC_TIME: number;
|
|
155
|
+
AVG_QUEUED_RC_TIME: number;
|
|
156
|
+
RESOURCE_GROUP: string;
|
|
157
|
+
PLAN_CACHE_UNQUALIFIED: number;
|
|
158
|
+
PLAN_CACHE_UNQUALIFIED_LAST_REASON: string;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Class implementing SQL analysis operations for ForgeSQL ORM.
|
|
162
|
+
* Provides methods for analyzing query performance, execution plans, and slow queries.
|
|
163
|
+
*/
|
|
164
|
+
export declare class ForgeSQLAnalyseOperation implements SchemaAnalyzeForgeSql {
|
|
165
|
+
private readonly forgeOperations;
|
|
166
|
+
/**
|
|
167
|
+
* Creates a new instance of ForgeSQLAnalizeOperation.
|
|
168
|
+
* @param {ForgeSqlOperation} forgeOperations - The ForgeSQL operations instance
|
|
169
|
+
*/
|
|
170
|
+
constructor(forgeOperations: ForgeSqlOperation);
|
|
171
|
+
/**
|
|
172
|
+
* Executes EXPLAIN on a raw SQL query.
|
|
173
|
+
* @param {string} query - The SQL query to analyze
|
|
174
|
+
* @param {unknown[]} bindParams - The query parameters
|
|
175
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
176
|
+
*/
|
|
177
|
+
explainRaw(query: string, bindParams: unknown[]): Promise<ExplainAnalyzeRow[]>;
|
|
178
|
+
/**
|
|
179
|
+
* Executes EXPLAIN on a Drizzle query.
|
|
180
|
+
* @param {{ toSQL: () => Query }} query - The Drizzle query to analyze
|
|
181
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
182
|
+
*/
|
|
183
|
+
explain(query: {
|
|
184
|
+
toSQL: () => Query;
|
|
185
|
+
}): Promise<ExplainAnalyzeRow[]>;
|
|
186
|
+
/**
|
|
187
|
+
* Executes EXPLAIN ANALYZE on a raw SQL query.
|
|
188
|
+
* @param {string} query - The SQL query to analyze
|
|
189
|
+
* @param {unknown[]} bindParams - The query parameters
|
|
190
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
191
|
+
*/
|
|
192
|
+
explainAnalyzeRaw(query: string, bindParams: unknown[]): Promise<ExplainAnalyzeRow[]>;
|
|
193
|
+
/**
|
|
194
|
+
* Executes EXPLAIN ANALYZE on a Drizzle query.
|
|
195
|
+
* @param {{ toSQL: () => Query }} query - The Drizzle query to analyze
|
|
196
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
197
|
+
*/
|
|
198
|
+
explainAnalyze(query: {
|
|
199
|
+
toSQL: () => Query;
|
|
200
|
+
}): Promise<ExplainAnalyzeRow[]>;
|
|
201
|
+
/**
|
|
202
|
+
* Decodes a query execution plan from its string representation.
|
|
203
|
+
* @param {string} input - The raw execution plan string
|
|
204
|
+
* @returns {ExplainAnalyzeRow[]} The decoded execution plan rows
|
|
205
|
+
*/
|
|
206
|
+
decodedPlan(input: string): ExplainAnalyzeRow[];
|
|
207
|
+
/**
|
|
208
|
+
* Normalizes a raw slow query row into a more structured format.
|
|
209
|
+
* @param {SlowQueryRaw} row - The raw slow query data
|
|
210
|
+
* @returns {SlowQueryNormalized} The normalized slow query data
|
|
211
|
+
*/
|
|
212
|
+
normalizeSlowQuery(row: SlowQueryRaw): SlowQueryNormalized;
|
|
213
|
+
/**
|
|
214
|
+
* Builds a SQL query for retrieving cluster statement history.
|
|
215
|
+
* @param {string[]} tables - The tables to analyze
|
|
216
|
+
* @param {Date} [from] - The start date for the analysis
|
|
217
|
+
* @param {Date} [to] - The end date for the analysis
|
|
218
|
+
* @returns {string} The SQL query for cluster statement history
|
|
219
|
+
*/
|
|
220
|
+
buildClusterStatementQuery(tables: string[], from?: Date, to?: Date): string;
|
|
221
|
+
/**
|
|
222
|
+
* Retrieves and analyzes slow queries from the database.
|
|
223
|
+
* @returns {Promise<SlowQueryNormalized[]>} The normalized slow query data
|
|
224
|
+
*/
|
|
225
|
+
analyzeSlowQueries(): Promise<SlowQueryNormalized[]>;
|
|
226
|
+
/**
|
|
227
|
+
* Converts a cluster statement row to camelCase format.
|
|
228
|
+
* @param {Record<string, any>} input - The input row data
|
|
229
|
+
* @returns {ClusterStatementRowCamelCase} The converted row data
|
|
230
|
+
*/
|
|
231
|
+
mapToCamelCaseClusterStatement(input: Record<string, any>): ClusterStatementRowCamelCase;
|
|
232
|
+
/**
|
|
233
|
+
* Analyzes query history for specific tables using raw table names.
|
|
234
|
+
* @param {string[]} tables - The table names to analyze
|
|
235
|
+
* @param {Date} [fromDate] - The start date for the analysis
|
|
236
|
+
* @param {Date} [toDate] - The end date for the analysis
|
|
237
|
+
* @returns {Promise<ClusterStatementRowCamelCase[]>} The analyzed query history
|
|
238
|
+
*/
|
|
239
|
+
analyzeQueriesHistoryRaw(tables: string[], fromDate?: Date, toDate?: Date): Promise<ClusterStatementRowCamelCase[]>;
|
|
240
|
+
/**
|
|
241
|
+
* Analyzes query history for specific tables using Drizzle table objects.
|
|
242
|
+
* @param {AnyMySqlTable[]} tables - The Drizzle table objects to analyze
|
|
243
|
+
* @param {Date} [fromDate] - The start date for the analysis
|
|
244
|
+
* @param {Date} [toDate] - The end date for the analysis
|
|
245
|
+
* @returns {Promise<ClusterStatementRowCamelCase[]>} The analyzed query history
|
|
246
|
+
*/
|
|
247
|
+
analyzeQueriesHistory(tables: AnyMySqlTable[], fromDate?: Date, toDate?: Date): Promise<ClusterStatementRowCamelCase[]>;
|
|
248
|
+
}
|
|
249
|
+
export {};
|
|
250
|
+
//# sourceMappingURL=ForgeSQLAnalyseOperations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ForgeSQLAnalyseOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLAnalyseOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CRUDForgeSQL, ForgeSqlOperation, ForgeSqlOrmOptions, SchemaSqlForgeSql } from "./ForgeSQLQueryBuilder";
|
|
1
|
+
import { CRUDForgeSQL, ForgeSqlOperation, ForgeSqlOrmOptions, SchemaAnalyzeForgeSql, SchemaSqlForgeSql } from "./ForgeSQLQueryBuilder";
|
|
2
2
|
import { MySqlRemoteDatabase, MySqlRemotePreparedQueryHKT } from "drizzle-orm/mysql-proxy";
|
|
3
3
|
import type { SelectedFields } from "drizzle-orm/mysql-core/query-builders/select.types";
|
|
4
4
|
import { MySqlSelectBuilder } from "drizzle-orm/mysql-core";
|
|
@@ -32,7 +32,7 @@ declare class ForgeSQLORM implements ForgeSqlOperation {
|
|
|
32
32
|
*
|
|
33
33
|
* @template TSelection - The type of the selected fields
|
|
34
34
|
* @param {TSelection} fields - Object containing the fields to select, with table schemas as values
|
|
35
|
-
* @returns {MySqlSelectBuilder<TSelection,
|
|
35
|
+
* @returns {MySqlSelectBuilder<TSelection, MySqlRemotePreparedQueryHKT>} A distinct select query builder with unique field aliases
|
|
36
36
|
* @throws {Error} If fields parameter is empty
|
|
37
37
|
* @example
|
|
38
38
|
* ```typescript
|
|
@@ -48,11 +48,21 @@ declare class ForgeSQLORM implements ForgeSqlOperation {
|
|
|
48
48
|
* @returns CRUD operations.
|
|
49
49
|
*/
|
|
50
50
|
crud(): CRUDForgeSQL;
|
|
51
|
+
/**
|
|
52
|
+
* Proxies the `modify` method from `ForgeSQLORMImpl`.
|
|
53
|
+
* @returns Modify operations.
|
|
54
|
+
*/
|
|
55
|
+
modify(): CRUDForgeSQL;
|
|
51
56
|
/**
|
|
52
57
|
* Proxies the `fetch` method from `ForgeSQLORMImpl`.
|
|
53
58
|
* @returns Fetch operations.
|
|
54
59
|
*/
|
|
55
60
|
fetch(): SchemaSqlForgeSql;
|
|
61
|
+
/**
|
|
62
|
+
* Provides query analysis capabilities including EXPLAIN ANALYZE and slow query analysis.
|
|
63
|
+
* @returns {SchemaAnalyzeForgeSql} Interface for analyzing query performance
|
|
64
|
+
*/
|
|
65
|
+
analyze(): SchemaAnalyzeForgeSql;
|
|
56
66
|
/**
|
|
57
67
|
* Returns a Drizzle query builder instance.
|
|
58
68
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgeSQLORM.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAW,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ForgeSQLORM.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAW,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAuJ5D;;;GAGG;AACH,cAAM,WAAY,YAAW,iBAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAEpC,OAAO,CAAC,EAAE,kBAAkB;IAIxC;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,UAAU,SAAS,cAAc,EACtC,MAAM,EAAE,UAAU,GACjB,kBAAkB,CAAC,UAAU,EAAE,2BAA2B,CAAC;IAI9D;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,UAAU,SAAS,cAAc,EAC9C,MAAM,EAAE,UAAU,GACjB,kBAAkB,CAAC,UAAU,EAAE,2BAA2B,CAAC;IAI9D;;;OAGG;IACH,IAAI,IAAI,YAAY;IAIpB;;;OAGG;IACH,MAAM,IAAI,YAAY;IAItB;;;OAGG;IACH,KAAK,IAAI,iBAAiB;IAI1B;;;OAGG;IACH,OAAO,IAAI,qBAAqB;IAIhC;;;;;;;;OAQG;IACH,sBAAsB;CAGvB;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -2,33 +2,50 @@ import { UpdateQueryResponse } from "@forge/sql";
|
|
|
2
2
|
import { SqlParameters } from "@forge/sql/out/sql-statement";
|
|
3
3
|
import { AnyMySqlSelectQueryBuilder, AnyMySqlTable, MySqlSelectBuilder } from "drizzle-orm/mysql-core";
|
|
4
4
|
import { MySqlSelectDynamic, type SelectedFields } from "drizzle-orm/mysql-core/query-builders/select.types";
|
|
5
|
-
import { InferInsertModel, SQL } from "drizzle-orm";
|
|
5
|
+
import { InferInsertModel, Query, SQL } from "drizzle-orm";
|
|
6
6
|
import { MySqlRemoteDatabase, MySqlRemotePreparedQueryHKT } from "drizzle-orm/mysql-proxy/index";
|
|
7
7
|
import { SqlHints } from "../utils/sqlHints";
|
|
8
|
+
import { ClusterStatementRowCamelCase, ExplainAnalyzeRow, SlowQueryNormalized } from "./SystemTables";
|
|
8
9
|
/**
|
|
9
|
-
*
|
|
10
|
-
* Provides access to CRUD operations
|
|
10
|
+
* Core interface for ForgeSQL operations.
|
|
11
|
+
* Provides access to CRUD operations, schema-level SQL operations, and query analysis capabilities.
|
|
12
|
+
*
|
|
13
|
+
* @interface ForgeSqlOperation
|
|
14
|
+
* @extends {QueryBuilderForgeSql}
|
|
11
15
|
*/
|
|
12
16
|
export interface ForgeSqlOperation extends QueryBuilderForgeSql {
|
|
13
17
|
/**
|
|
14
|
-
* Provides CRUD (Create,
|
|
18
|
+
* Provides CRUD (Create, Update, Delete) operations.
|
|
19
|
+
* @deprecated Use modify() instead for better type safety and consistency
|
|
15
20
|
* @returns {CRUDForgeSQL} Interface for performing CRUD operations
|
|
16
21
|
*/
|
|
17
22
|
crud(): CRUDForgeSQL;
|
|
18
23
|
/**
|
|
19
|
-
* Provides
|
|
24
|
+
* Provides modify (Create, Update, Delete) operations with optimistic locking support.
|
|
25
|
+
* @returns {CRUDForgeSQL} Interface for performing CRUD operations
|
|
26
|
+
*/
|
|
27
|
+
modify(): CRUDForgeSQL;
|
|
28
|
+
/**
|
|
29
|
+
* Provides schema-level SQL fetch operations with type safety.
|
|
20
30
|
* @returns {SchemaSqlForgeSql} Interface for executing schema-bound SQL queries
|
|
21
31
|
*/
|
|
22
32
|
fetch(): SchemaSqlForgeSql;
|
|
33
|
+
/**
|
|
34
|
+
* Provides query analysis capabilities including EXPLAIN ANALYZE and slow query analysis.
|
|
35
|
+
* @returns {SchemaAnalyzeForgeSql} Interface for analyzing query performance
|
|
36
|
+
*/
|
|
37
|
+
analyze(): SchemaAnalyzeForgeSql;
|
|
23
38
|
}
|
|
24
39
|
/**
|
|
25
40
|
* Interface for Query Builder operations.
|
|
26
|
-
* Provides access to the underlying Drizzle ORM query builder.
|
|
41
|
+
* Provides access to the underlying Drizzle ORM query builder with enhanced functionality.
|
|
42
|
+
*
|
|
43
|
+
* @interface QueryBuilderForgeSql
|
|
27
44
|
*/
|
|
28
45
|
export interface QueryBuilderForgeSql {
|
|
29
46
|
/**
|
|
30
47
|
* Creates a new query builder for the given entity.
|
|
31
|
-
* @returns {
|
|
48
|
+
* @returns {MySqlRemoteDatabase<Record<string, unknown>>} The Drizzle database instance for building queries
|
|
32
49
|
*/
|
|
33
50
|
getDrizzleQueryBuilder(): MySqlRemoteDatabase<Record<string, unknown>>;
|
|
34
51
|
/**
|
|
@@ -67,15 +84,17 @@ export interface QueryBuilderForgeSql {
|
|
|
67
84
|
selectDistinct<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, MySqlRemotePreparedQueryHKT>;
|
|
68
85
|
}
|
|
69
86
|
/**
|
|
70
|
-
* Interface for
|
|
87
|
+
* Interface for Modify (Create, Update, Delete) operations.
|
|
71
88
|
* Provides methods for basic database operations with support for optimistic locking.
|
|
89
|
+
*
|
|
90
|
+
* @interface CRUDForgeSQL
|
|
72
91
|
*/
|
|
73
92
|
export interface CRUDForgeSQL {
|
|
74
93
|
/**
|
|
75
94
|
* Inserts multiple records into the database.
|
|
76
95
|
* @template T - The type of the table schema
|
|
77
96
|
* @param {T} schema - The entity schema
|
|
78
|
-
* @param {
|
|
97
|
+
* @param {InferInsertModel<T>[]} models - The list of entities to insert
|
|
79
98
|
* @param {boolean} [updateIfExists] - Whether to update the row if it already exists (default: false)
|
|
80
99
|
* @returns {Promise<number>} The number of inserted rows
|
|
81
100
|
* @throws {Error} If the insert operation fails
|
|
@@ -120,9 +139,70 @@ export interface CRUDForgeSQL {
|
|
|
120
139
|
*/
|
|
121
140
|
updateFields<T extends AnyMySqlTable>(updateData: Partial<InferInsertModel<T>>, schema: T, where?: SQL<unknown>): Promise<number>;
|
|
122
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Interface for schema analysis operations.
|
|
144
|
+
* Provides methods for analyzing query performance and execution plans.
|
|
145
|
+
*
|
|
146
|
+
* @interface SchemaAnalyzeForgeSql
|
|
147
|
+
*/
|
|
148
|
+
export interface SchemaAnalyzeForgeSql {
|
|
149
|
+
/**
|
|
150
|
+
* Executes EXPLAIN on a Drizzle query.
|
|
151
|
+
* @param {{ toSQL: () => Query }} query - The Drizzle query to analyze
|
|
152
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
153
|
+
*/
|
|
154
|
+
explain(query: {
|
|
155
|
+
toSQL: () => Query;
|
|
156
|
+
}): Promise<ExplainAnalyzeRow[]>;
|
|
157
|
+
/**
|
|
158
|
+
* Executes EXPLAIN on a raw SQL query.
|
|
159
|
+
* @param {string} query - The SQL query to analyze
|
|
160
|
+
* @param {unknown[]} bindParams - The query parameters
|
|
161
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
162
|
+
*/
|
|
163
|
+
explainRaw(query: string, bindParams: unknown[]): Promise<ExplainAnalyzeRow[]>;
|
|
164
|
+
/**
|
|
165
|
+
* Executes EXPLAIN ANALYZE on a Drizzle query.
|
|
166
|
+
* @param {{ toSQL: () => Query }} query - The Drizzle query to analyze
|
|
167
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
168
|
+
*/
|
|
169
|
+
explainAnalyze(query: {
|
|
170
|
+
toSQL: () => Query;
|
|
171
|
+
}): Promise<ExplainAnalyzeRow[]>;
|
|
172
|
+
/**
|
|
173
|
+
* Executes EXPLAIN ANALYZE on a raw SQL query.
|
|
174
|
+
* @param {string} query - The SQL query to analyze
|
|
175
|
+
* @param {unknown[]} bindParams - The query parameters
|
|
176
|
+
* @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
|
|
177
|
+
*/
|
|
178
|
+
explainAnalyzeRaw(query: string, bindParams: unknown[]): Promise<ExplainAnalyzeRow[]>;
|
|
179
|
+
/**
|
|
180
|
+
* Analyzes slow queries from the database.
|
|
181
|
+
* @returns {Promise<SlowQueryNormalized[]>} The normalized slow query data
|
|
182
|
+
*/
|
|
183
|
+
analyzeSlowQueries(): Promise<SlowQueryNormalized[]>;
|
|
184
|
+
/**
|
|
185
|
+
* Analyzes query history for specific tables using Drizzle table objects.
|
|
186
|
+
* @param {AnyMySqlTable[]} tables - The Drizzle table objects to analyze
|
|
187
|
+
* @param {Date} [fromDate] - The start date for the analysis
|
|
188
|
+
* @param {Date} [toDate] - The end date for the analysis
|
|
189
|
+
* @returns {Promise<ClusterStatementRowCamelCase[]>} The analyzed query history
|
|
190
|
+
*/
|
|
191
|
+
analyzeQueriesHistory(tables: AnyMySqlTable[], fromDate?: Date, toDate?: Date): Promise<ClusterStatementRowCamelCase[]>;
|
|
192
|
+
/**
|
|
193
|
+
* Analyzes query history for specific tables using raw table names.
|
|
194
|
+
* @param {string[]} tables - The table names to analyze
|
|
195
|
+
* @param {Date} [fromDate] - The start date for the analysis
|
|
196
|
+
* @param {Date} [toDate] - The end date for the analysis
|
|
197
|
+
* @returns {Promise<ClusterStatementRowCamelCase[]>} The analyzed query history
|
|
198
|
+
*/
|
|
199
|
+
analyzeQueriesHistoryRaw(tables: string[], fromDate?: Date, toDate?: Date): Promise<ClusterStatementRowCamelCase[]>;
|
|
200
|
+
}
|
|
123
201
|
/**
|
|
124
202
|
* Interface for schema-level SQL operations.
|
|
125
203
|
* Provides methods for executing SQL queries with schema binding and type safety.
|
|
204
|
+
*
|
|
205
|
+
* @interface SchemaSqlForgeSql
|
|
126
206
|
*/
|
|
127
207
|
export interface SchemaSqlForgeSql {
|
|
128
208
|
/**
|
|
@@ -155,6 +235,8 @@ export interface SchemaSqlForgeSql {
|
|
|
155
235
|
/**
|
|
156
236
|
* Interface for version field metadata.
|
|
157
237
|
* Defines the configuration for optimistic locking version fields.
|
|
238
|
+
*
|
|
239
|
+
* @interface VersionFieldMetadata
|
|
158
240
|
*/
|
|
159
241
|
export interface VersionFieldMetadata {
|
|
160
242
|
/** Name of the version field */
|
|
@@ -163,6 +245,8 @@ export interface VersionFieldMetadata {
|
|
|
163
245
|
/**
|
|
164
246
|
* Interface for table metadata.
|
|
165
247
|
* Defines the configuration for a specific table.
|
|
248
|
+
*
|
|
249
|
+
* @interface TableMetadata
|
|
166
250
|
*/
|
|
167
251
|
export interface TableMetadata {
|
|
168
252
|
/** Name of the table */
|
|
@@ -173,10 +257,14 @@ export interface TableMetadata {
|
|
|
173
257
|
/**
|
|
174
258
|
* Type for additional metadata configuration.
|
|
175
259
|
* Maps table names to their metadata configuration.
|
|
260
|
+
*
|
|
261
|
+
* @type {AdditionalMetadata}
|
|
176
262
|
*/
|
|
177
263
|
export type AdditionalMetadata = Record<string, TableMetadata>;
|
|
178
264
|
/**
|
|
179
265
|
* Interface for ForgeSQL ORM options
|
|
266
|
+
*
|
|
267
|
+
* @interface ForgeSqlOrmOptions
|
|
180
268
|
*/
|
|
181
269
|
export interface ForgeSqlOrmOptions {
|
|
182
270
|
/** Whether to log raw SQL queries */
|
|
@@ -207,6 +295,8 @@ export interface ForgeSqlOrmOptions {
|
|
|
207
295
|
/**
|
|
208
296
|
* Custom type for MySQL datetime fields.
|
|
209
297
|
* Handles conversion between JavaScript Date objects and MySQL datetime strings.
|
|
298
|
+
*
|
|
299
|
+
* @type {CustomType}
|
|
210
300
|
*/
|
|
211
301
|
export declare const forgeDateTimeString: {
|
|
212
302
|
(): import("drizzle-orm/mysql-core").MySqlCustomColumnBuilder<{
|
|
@@ -241,6 +331,8 @@ export declare const forgeDateTimeString: {
|
|
|
241
331
|
/**
|
|
242
332
|
* Custom type for MySQL timestamp fields.
|
|
243
333
|
* Handles conversion between JavaScript Date objects and MySQL timestamp strings.
|
|
334
|
+
*
|
|
335
|
+
* @type {CustomType}
|
|
244
336
|
*/
|
|
245
337
|
export declare const forgeTimestampString: {
|
|
246
338
|
(): import("drizzle-orm/mysql-core").MySqlCustomColumnBuilder<{
|
|
@@ -275,6 +367,8 @@ export declare const forgeTimestampString: {
|
|
|
275
367
|
/**
|
|
276
368
|
* Custom type for MySQL date fields.
|
|
277
369
|
* Handles conversion between JavaScript Date objects and MySQL date strings.
|
|
370
|
+
*
|
|
371
|
+
* @type {CustomType}
|
|
278
372
|
*/
|
|
279
373
|
export declare const forgeDateString: {
|
|
280
374
|
(): import("drizzle-orm/mysql-core").MySqlCustomColumnBuilder<{
|
|
@@ -309,6 +403,8 @@ export declare const forgeDateString: {
|
|
|
309
403
|
/**
|
|
310
404
|
* Custom type for MySQL time fields.
|
|
311
405
|
* Handles conversion between JavaScript Date objects and MySQL time strings.
|
|
406
|
+
*
|
|
407
|
+
* @type {CustomType}
|
|
312
408
|
*/
|
|
313
409
|
export declare const forgeTimeString: {
|
|
314
410
|
(): import("drizzle-orm/mysql-core").MySqlCustomColumnBuilder<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgeSQLQueryBuilder.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLQueryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,aAAa,EAEb,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACpB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ForgeSQLQueryBuilder.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLQueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgeSQLSelectOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLSelectOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAE5D;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C;;;OAGG;gBACS,OAAO,EAAE,kBAAkB;IAIvC;;;;;;;;OAQG;IACG,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,CAAC,0BAA0B,CAAC,EAChF,KAAK,EAAE,CAAC,GACP,OAAO,CACR,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CACxF;IAaD;;;;;;;;OAQG;IACG,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ForgeSQLSelectOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLSelectOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAE5D;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C;;;OAGG;gBACS,OAAO,EAAE,kBAAkB;IAIvC;;;;;;;;OAQG;IACG,mBAAmB,CAAC,CAAC,SAAS,kBAAkB,CAAC,0BAA0B,CAAC,EAChF,KAAK,EAAE,CAAC,GACP,OAAO,CACR,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CACxF;IAaD;;;;;;;;OAQG;IACG,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAahG;;;;;OAKG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAc3F"}
|