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.
Files changed (33) hide show
  1. package/README.md +95 -4
  2. package/dist/ForgeSQLORM.js +314 -49
  3. package/dist/ForgeSQLORM.js.map +1 -1
  4. package/dist/ForgeSQLORM.mjs +314 -49
  5. package/dist/ForgeSQLORM.mjs.map +1 -1
  6. package/dist/core/ForgeSQLAnalyseOperations.d.ts +250 -0
  7. package/dist/core/ForgeSQLAnalyseOperations.d.ts.map +1 -0
  8. package/dist/core/ForgeSQLORM.d.ts +12 -2
  9. package/dist/core/ForgeSQLORM.d.ts.map +1 -1
  10. package/dist/core/ForgeSQLQueryBuilder.d.ts +105 -9
  11. package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
  12. package/dist/core/ForgeSQLSelectOperations.d.ts.map +1 -1
  13. package/dist/core/SystemTables.d.ts +167 -0
  14. package/dist/core/SystemTables.d.ts.map +1 -1
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/utils/sqlUtils.d.ts +2 -2
  18. package/dist/utils/sqlUtils.d.ts.map +1 -1
  19. package/dist/webtriggers/applyMigrationsWebTrigger.d.ts.map +1 -1
  20. package/dist/webtriggers/dropMigrationWebTrigger.d.ts +2 -4
  21. package/dist/webtriggers/dropMigrationWebTrigger.d.ts.map +1 -1
  22. package/package.json +4 -12
  23. package/src/core/ForgeSQLAnalyseOperations.ts +461 -0
  24. package/src/core/ForgeSQLORM.ts +43 -7
  25. package/src/core/ForgeSQLQueryBuilder.ts +121 -18
  26. package/src/core/ForgeSQLSelectOperations.ts +4 -6
  27. package/src/core/SystemTables.ts +175 -0
  28. package/src/index.ts +1 -0
  29. package/src/utils/forgeDriverProxy.ts +1 -1
  30. package/src/utils/sqlUtils.ts +10 -16
  31. package/src/webtriggers/applyMigrationsWebTrigger.ts +32 -16
  32. package/src/webtriggers/dropMigrationWebTrigger.ts +5 -6
  33. 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, MySql2PreparedQueryHKT>} A distinct select query builder with unique field aliases
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;AAoI5D;;;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,KAAK,IAAI,iBAAiB;IAI1B;;;;;;;;OAQG;IACH,sBAAsB;CAGvB;AAED,eAAe,WAAW,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
- * Interface representing the main ForgeSQL operations.
10
- * Provides access to CRUD operations and schema-level SQL 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, Read, Update, Delete) operations.
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 schema-level SQL fetch operations.
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 {MySql2Database<Record<string, unknown>>} The Drizzle database instance for building queries
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 CRUD (Create, Read, Update, Delete) operations.
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 {<InferInsertModel<T>[]} models - The list of entities to insert
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":"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"}
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;IAchG;;;;;OAKG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAe3F"}
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"}