@bitblit/ratchet-rdbms 4.0.419-alpha → 4.0.421-alpha

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 (150) hide show
  1. package/lib/build/index.d.ts +1 -0
  2. package/lib/build/index.js +2 -0
  3. package/lib/build/index.js.map +1 -0
  4. package/lib/build/ratchet-rdbms-info.d.ts +5 -0
  5. package/lib/build/ratchet-rdbms-info.js +15 -0
  6. package/lib/build/ratchet-rdbms-info.js.map +1 -0
  7. package/lib/model/connection-and-tunnel.d.ts +6 -0
  8. package/lib/model/connection-and-tunnel.js +2 -0
  9. package/lib/model/connection-and-tunnel.js.map +1 -0
  10. package/lib/model/database-access-provider.d.ts +7 -0
  11. package/lib/model/database-access-provider.js +2 -0
  12. package/lib/model/database-access-provider.js.map +1 -0
  13. package/lib/model/database-access.d.ts +17 -0
  14. package/lib/model/database-access.js +2 -0
  15. package/lib/model/database-access.js.map +1 -0
  16. package/lib/model/database-config-list.d.ts +3 -0
  17. package/lib/model/database-config-list.js +2 -0
  18. package/lib/model/database-config-list.js.map +1 -0
  19. package/lib/model/database-request-type.d.ts +6 -0
  20. package/lib/model/database-request-type.js +8 -0
  21. package/lib/model/database-request-type.js.map +1 -0
  22. package/lib/model/group-by-count-result.d.ts +4 -0
  23. package/lib/model/group-by-count-result.js +2 -0
  24. package/lib/model/group-by-count-result.js.map +1 -0
  25. package/lib/model/index.d.ts +19 -0
  26. package/lib/model/index.js +20 -0
  27. package/lib/model/index.js.map +1 -0
  28. package/lib/model/modify-results.d.ts +9 -0
  29. package/lib/model/modify-results.js +2 -0
  30. package/lib/model/modify-results.js.map +1 -0
  31. package/lib/model/named-parameter-database-service-config.d.ts +12 -0
  32. package/lib/model/named-parameter-database-service-config.js +2 -0
  33. package/lib/model/named-parameter-database-service-config.js.map +1 -0
  34. package/lib/model/paginated-results.d.ts +5 -0
  35. package/lib/model/paginated-results.js +2 -0
  36. package/lib/model/paginated-results.js.map +1 -0
  37. package/lib/model/pagination-bounds.d.ts +6 -0
  38. package/lib/model/pagination-bounds.js +2 -0
  39. package/lib/model/pagination-bounds.js.map +1 -0
  40. package/lib/model/paginator.d.ts +9 -0
  41. package/lib/model/paginator.js +2 -0
  42. package/lib/model/paginator.js.map +1 -0
  43. package/lib/model/query-defaults.d.ts +4 -0
  44. package/lib/model/query-defaults.js +2 -0
  45. package/lib/model/query-defaults.js.map +1 -0
  46. package/lib/model/query-text-provider.d.ts +4 -0
  47. package/lib/model/query-text-provider.js +2 -0
  48. package/lib/model/query-text-provider.js.map +1 -0
  49. package/lib/model/request-results.d.ts +4 -0
  50. package/lib/model/request-results.js +2 -0
  51. package/lib/model/request-results.js.map +1 -0
  52. package/lib/model/simple-query-text-provider.d.ts +7 -0
  53. package/lib/model/simple-query-text-provider.js +18 -0
  54. package/lib/model/simple-query-text-provider.js.map +1 -0
  55. package/lib/model/sort-direction.d.ts +4 -0
  56. package/lib/model/sort-direction.js +6 -0
  57. package/lib/model/sort-direction.js.map +1 -0
  58. package/lib/model/ssh/ssh-tunnel-config.d.ts +8 -0
  59. package/lib/model/ssh/ssh-tunnel-config.js +2 -0
  60. package/lib/model/ssh/ssh-tunnel-config.js.map +1 -0
  61. package/lib/model/ssh/ssh-tunnel-container.d.ts +12 -0
  62. package/lib/model/ssh/ssh-tunnel-container.js +2 -0
  63. package/lib/model/ssh/ssh-tunnel-container.js.map +1 -0
  64. package/lib/model/transaction-isolation-level.d.ts +4 -0
  65. package/lib/model/transaction-isolation-level.js +6 -0
  66. package/lib/model/transaction-isolation-level.js.map +1 -0
  67. package/lib/mysql/index.d.ts +5 -0
  68. package/lib/mysql/index.js +6 -0
  69. package/lib/mysql/index.js.map +1 -0
  70. package/lib/mysql/model/mysql-db-config.d.ts +12 -0
  71. package/lib/mysql/model/mysql-db-config.js +2 -0
  72. package/lib/mysql/model/mysql-db-config.js.map +1 -0
  73. package/lib/mysql/model/mysql-master-status.d.ts +6 -0
  74. package/lib/mysql/model/mysql-master-status.js +2 -0
  75. package/lib/mysql/model/mysql-master-status.js.map +1 -0
  76. package/lib/mysql/model/mysql-slave-status.d.ts +52 -0
  77. package/lib/mysql/model/mysql-slave-status.js +2 -0
  78. package/lib/mysql/model/mysql-slave-status.js.map +1 -0
  79. package/lib/mysql/mysql-style-database-access.d.ts +20 -0
  80. package/lib/mysql/mysql-style-database-access.js +57 -0
  81. package/lib/mysql/mysql-style-database-access.js.map +1 -0
  82. package/lib/mysql/rds-mysql-style-connection-provider.d.ts +29 -0
  83. package/lib/mysql/rds-mysql-style-connection-provider.js +205 -0
  84. package/lib/mysql/rds-mysql-style-connection-provider.js.map +1 -0
  85. package/lib/query-builder/index.d.ts +3 -0
  86. package/lib/query-builder/index.js +4 -0
  87. package/lib/query-builder/index.js.map +1 -0
  88. package/lib/query-builder/query-builder-result.d.ts +9 -0
  89. package/lib/query-builder/query-builder-result.js +13 -0
  90. package/lib/query-builder/query-builder-result.js.map +1 -0
  91. package/lib/query-builder/query-builder.d.ts +52 -0
  92. package/lib/query-builder/query-builder.js +352 -0
  93. package/lib/query-builder/query-builder.js.map +1 -0
  94. package/lib/query-builder/query-util.d.ts +16 -0
  95. package/lib/query-builder/query-util.js +137 -0
  96. package/lib/query-builder/query-util.js.map +1 -0
  97. package/lib/service/index.d.ts +3 -0
  98. package/lib/service/index.js +4 -0
  99. package/lib/service/index.js.map +1 -0
  100. package/lib/service/named-parameter-database-service.d.ts +42 -0
  101. package/lib/service/named-parameter-database-service.js +272 -0
  102. package/lib/service/named-parameter-database-service.js.map +1 -0
  103. package/lib/service/ssh-tunnel-service.d.ts +6 -0
  104. package/lib/service/ssh-tunnel-service.js +49 -0
  105. package/lib/service/ssh-tunnel-service.js.map +1 -0
  106. package/lib/service/transactional-named-parameter-database-service.d.ts +20 -0
  107. package/lib/service/transactional-named-parameter-database-service.js +129 -0
  108. package/lib/service/transactional-named-parameter-database-service.js.map +1 -0
  109. package/lib/sqlite/index.d.ts +9 -0
  110. package/lib/sqlite/index.js +10 -0
  111. package/lib/sqlite/index.js.map +1 -0
  112. package/lib/sqlite/model/fetch-remote-mode.d.ts +4 -0
  113. package/lib/sqlite/model/fetch-remote-mode.js +6 -0
  114. package/lib/sqlite/model/fetch-remote-mode.js.map +1 -0
  115. package/lib/sqlite/model/flush-remote-mode.d.ts +4 -0
  116. package/lib/sqlite/model/flush-remote-mode.js +6 -0
  117. package/lib/sqlite/model/flush-remote-mode.js.map +1 -0
  118. package/lib/sqlite/model/sqlite-connection-config-flag.d.ts +3 -0
  119. package/lib/sqlite/model/sqlite-connection-config-flag.js +5 -0
  120. package/lib/sqlite/model/sqlite-connection-config-flag.js.map +1 -0
  121. package/lib/sqlite/model/sqlite-connection-config.d.ts +9 -0
  122. package/lib/sqlite/model/sqlite-connection-config.js +2 -0
  123. package/lib/sqlite/model/sqlite-connection-config.js.map +1 -0
  124. package/lib/sqlite/model/sqlite-local-file-config.d.ts +3 -0
  125. package/lib/sqlite/model/sqlite-local-file-config.js +2 -0
  126. package/lib/sqlite/model/sqlite-local-file-config.js.map +1 -0
  127. package/lib/sqlite/model/sqlite-remote-file-sync-config.d.ts +8 -0
  128. package/lib/sqlite/model/sqlite-remote-file-sync-config.js +2 -0
  129. package/lib/sqlite/model/sqlite-remote-file-sync-config.js.map +1 -0
  130. package/lib/sqlite/sqlite-database-access.d.ts +25 -0
  131. package/lib/sqlite/sqlite-database-access.js +106 -0
  132. package/lib/sqlite/sqlite-database-access.js.map +1 -0
  133. package/lib/sqlite/sqlite-remote-sync-database-access.d.ts +34 -0
  134. package/lib/sqlite/sqlite-remote-sync-database-access.js +129 -0
  135. package/lib/sqlite/sqlite-remote-sync-database-access.js.map +1 -0
  136. package/lib/sqlite/sqlite-style-connection-provider.d.ts +19 -0
  137. package/lib/sqlite/sqlite-style-connection-provider.js +157 -0
  138. package/lib/sqlite/sqlite-style-connection-provider.js.map +1 -0
  139. package/lib/util/aws-rds-cert-2023.d.ts +6 -0
  140. package/lib/util/aws-rds-cert-2023.js +499 -0
  141. package/lib/util/aws-rds-cert-2023.js.map +1 -0
  142. package/lib/util/index.d.ts +2 -0
  143. package/lib/util/index.js +3 -0
  144. package/lib/util/index.js.map +1 -0
  145. package/lib/util/relational-database-utils.d.ts +4 -0
  146. package/lib/util/relational-database-utils.js +31 -0
  147. package/lib/util/relational-database-utils.js.map +1 -0
  148. package/package.json +12 -13
  149. package/lib/index.mjs +0 -2
  150. package/lib/types.d.ts +0 -489
package/lib/types.d.ts DELETED
@@ -1,489 +0,0 @@
1
- import { BuildInformation, LoggerInstance, JwtTokenBase, RemoteFileSyncLike, BackupResult } from '@bitblit/ratchet-common';
2
- import { ListenOptions, Server } from 'net';
3
- import { ConnectConfig, Connection } from 'ssh2';
4
- import * as TunnelSsh from 'tunnel-ssh';
5
- import { Connection as Connection$1, ConnectionOptions } from 'mysql2/promise';
6
- import { AsyncDatabase } from 'promised-sqlite3';
7
-
8
- declare class RatchetRdbmsInfo {
9
- private constructor();
10
- static buildInformation(): BuildInformation;
11
- }
12
-
13
- interface SshTunnelContainer {
14
- tunnelOptions: TunnelSsh.TunnelOptions;
15
- serverOptions: ListenOptions;
16
- sshOptions: ConnectConfig;
17
- forwardOptions: TunnelSsh.ForwardOptions;
18
- server: Server;
19
- localPort: number;
20
- connection?: Connection;
21
- }
22
-
23
- interface ConnectionAndTunnel<T, R> {
24
- config: R;
25
- db: T;
26
- ssh: SshTunnelContainer;
27
- }
28
-
29
- interface RequestResults<R> {
30
- results: R;
31
- fields?: Record<string, any>[];
32
- }
33
-
34
- interface ModifyResults {
35
- changedRows: number;
36
- insertId?: number;
37
- fieldCount?: number;
38
- affectedRows?: number;
39
- info?: string;
40
- serverStatus?: number;
41
- warningStatus?: number;
42
- }
43
-
44
- declare enum DatabaseRequestType {
45
- Query = "Query",
46
- Modify = "Modify",
47
- Definition = "Definition",
48
- Meta = "Meta"
49
- }
50
-
51
- interface DatabaseAccess {
52
- close(): Promise<boolean>;
53
- escape(value: any): string;
54
- testConnection(logTestResults?: boolean): Promise<number>;
55
- preQuery?(): Promise<void>;
56
- query<S>(query: string, fields: Record<string, any>): Promise<RequestResults<S>>;
57
- modify(query: string, fields: Record<string, any>): Promise<RequestResults<ModifyResults>>;
58
- onRequestSuccessOnly?(type: DatabaseRequestType): Promise<void>;
59
- onRequestFailureOnly?(type: DatabaseRequestType): Promise<void>;
60
- onRequestSuccessOrFailure?(type: DatabaseRequestType): Promise<void>;
61
- beginTransaction?(): Promise<void>;
62
- commitTransaction?(): Promise<void>;
63
- rollbackTransaction?(): Promise<void>;
64
- }
65
-
66
- interface QueryDefaults {
67
- databaseName: string;
68
- timeoutMS: number;
69
- }
70
-
71
- interface DatabaseAccessProvider {
72
- getDatabaseAccess(name?: string): Promise<DatabaseAccess | undefined>;
73
- clearDatabaseAccessCache(): Promise<boolean>;
74
- createNonPooledDatabaseAccess?(queryDefaults: QueryDefaults, additionalConfig?: Record<string, any>): Promise<DatabaseAccess | undefined>;
75
- }
76
-
77
- interface DatabaseConfigList<T> {
78
- dbList: T[];
79
- }
80
-
81
- interface GroupByCountResult {
82
- groupByField: string;
83
- count: number;
84
- }
85
-
86
- interface QueryTextProvider {
87
- fetchQuery(queryDottedPath: string): string;
88
- fetchAllQueries(): Record<string, string>;
89
- }
90
-
91
- interface NamedParameterDatabaseServiceConfig {
92
- serviceName: string;
93
- queryProvider: QueryTextProvider;
94
- connectionProvider: DatabaseAccessProvider;
95
- queryDefaults: QueryDefaults;
96
- longQueryTimeMs: number;
97
- logger?: LoggerInstance;
98
- }
99
-
100
- interface PaginatedResults<T> {
101
- results: T[];
102
- nextPageToken: string;
103
- prevPageToken: string;
104
- }
105
-
106
- interface PaginationBounds<T> {
107
- cn: string;
108
- min: T;
109
- max: T;
110
- count: number;
111
- }
112
-
113
- declare enum SortDirection {
114
- Asc = "Asc",
115
- Desc = "Desc"
116
- }
117
-
118
- interface Paginator<T> extends JwtTokenBase {
119
- cn: string;
120
- min?: T;
121
- max?: T;
122
- s?: SortDirection;
123
- l?: number;
124
- }
125
-
126
- declare class SimpleQueryTextProvider implements QueryTextProvider {
127
- private values;
128
- constructor(values: Record<string, string>);
129
- fetchQuery(queryDottedPath: string): string;
130
- fetchAllQueries(): Record<string, string>;
131
- }
132
-
133
- declare enum TransactionIsolationLevel {
134
- Default = "Default",
135
- ReadUncommitted = "READ UNCOMMITTED"
136
- }
137
-
138
- interface SshTunnelConfig {
139
- forceLocalPort?: number;
140
- keepAlive: boolean;
141
- username: string;
142
- host: string;
143
- port: number;
144
- privateKey: string;
145
- }
146
-
147
- declare class MysqlStyleDatabaseAccess implements DatabaseAccess {
148
- private _connection;
149
- private _connectionOptions;
150
- constructor(_connection: Connection$1, _connectionOptions: ConnectionOptions);
151
- testConnection(logTestResults?: boolean): Promise<number | null>;
152
- getRawDatabase(): Connection$1;
153
- getRawDatabaseConfig(): ConnectionOptions;
154
- testConnectionQueryString(): string;
155
- close(): Promise<boolean>;
156
- escape(query: any): string;
157
- preQuery(): Promise<void>;
158
- query<R>(query: any, fields: any): Promise<RequestResults<R>>;
159
- modify(query: string, fields: Record<string, any>): Promise<RequestResults<ModifyResults>>;
160
- onRequestSuccessOrFailure(type: DatabaseRequestType): Promise<void>;
161
- }
162
-
163
- declare class SshTunnelService {
164
- shutdown(ssh: SshTunnelContainer): Promise<boolean>;
165
- createSSHTunnel(sshOptions: SshTunnelConfig, dstHost: string, dstPort: number, localPort: number): Promise<SshTunnelContainer>;
166
- }
167
-
168
- interface MysqlDbConfig {
169
- label: string;
170
- host: string;
171
- port: number;
172
- user: string;
173
- password: string;
174
- database: string;
175
- sshTunnelConfig?: SshTunnelConfig;
176
- ssl?: string | Record<string, any>;
177
- decimalNumbers?: boolean;
178
- }
179
-
180
- declare class RdsMysqlStyleConnectionProvider implements DatabaseAccessProvider {
181
- private configPromiseProvider;
182
- private additionalConfig;
183
- private ssh?;
184
- static DEFAULT_CONNECTION_OPTIONS: ConnectionOptions;
185
- private connectionCache;
186
- private cacheConfigPromise;
187
- constructor(configPromiseProvider: () => Promise<DatabaseConfigList<MysqlDbConfig>>, additionalConfig?: ConnectionOptions, ssh?: SshTunnelService);
188
- get usingSshTunnel(): boolean;
189
- private addShutdownHandlerToProcess;
190
- clearDatabaseAccessCache(): Promise<boolean>;
191
- getConnectionAndTunnel(name: string): Promise<ConnectionAndTunnel<Connection$1, MysqlDbConfig>>;
192
- getDatabaseAccess(name: string): Promise<DatabaseAccess | undefined>;
193
- createNonPooledConnectionAndTunnel(queryDefaults: QueryDefaults, additionalConfig?: ConnectionOptions): Promise<ConnectionAndTunnel<Connection$1, MysqlDbConfig>>;
194
- createNonPooledDatabaseConnection(queryDefaults: QueryDefaults, additionalConfig?: ConnectionOptions): Promise<Connection$1 | undefined>;
195
- private getDbConfig;
196
- private createConnectionAndTunnel;
197
- private configPromise;
198
- private createConnectionConfig;
199
- static validDbConfig(cfg: MysqlDbConfig): string[];
200
- }
201
-
202
- interface MysqlMasterStatus {
203
- File: string;
204
- Position: number;
205
- Binlog_Do_DB: string;
206
- Binlog_Ignore_DB: string;
207
- }
208
-
209
- interface MysqlSlaveStatus {
210
- Slave_IO_State: string;
211
- Master_Host: string;
212
- Master_User: string;
213
- Master_Port: number;
214
- Connect_Retry: number;
215
- Master_Log_File: string;
216
- Read_Master_Log_Pos: number;
217
- Relay_Log_File: string;
218
- Relay_Log_Pos: number;
219
- Relay_Master_Log_File: string;
220
- Slave_IO_Running: string;
221
- Slave_SQL_Running: string;
222
- Replicate_Do_DB: string;
223
- Replicate_Ignore_DB: string;
224
- Replicate_Do_Table: string;
225
- Replicate_Ignore_Table: string;
226
- Replicate_Wild_Do_Table: string;
227
- Replicate_Wild_Ignore_Table: string;
228
- Last_Errno: number;
229
- Last_Error: string;
230
- Skip_Counter: number;
231
- Exec_Master_Log_Pos: number;
232
- Relay_Log_Space: number;
233
- Until_Condition: string;
234
- Until_Log_File: string;
235
- Until_Log_Pos: number;
236
- Master_SSL_Allowed: string;
237
- Master_SSL_CA_File: string;
238
- Master_SSL_CA_Path: string;
239
- Master_SSL_Cert: string;
240
- Master_SSL_Cipher: string;
241
- Master_SSL_Key: string;
242
- Seconds_Behind_Master: number;
243
- Master_SSL_Verify_Server_Cert: string;
244
- Last_IO_Errno: number;
245
- Last_IO_Error: string;
246
- Last_SQL_Errno: number;
247
- Last_SQL_Error: string;
248
- Replicate_Ignore_Server_Ids: string;
249
- Master_Server_Id: number;
250
- Master_SSL_Crl: string;
251
- Master_SSL_Crlpath: string;
252
- Using_Gtid: string;
253
- Gtid_IO_Pos: string;
254
- Replicate_Do_Domain_Ids: string;
255
- Replicate_Ignore_Domain_Ids: string;
256
- Parallel_Mode: string;
257
- SQL_Delay: number;
258
- SQL_Remaining_Delay: string;
259
- Slave_SQL_Running_State: string;
260
- }
261
-
262
- declare class QueryBuilderResult {
263
- query: string;
264
- namedParams: Record<string, unknown>;
265
- paginator?: Paginator<any>;
266
- transactionIsolationLevel: TransactionIsolationLevel;
267
- constructor(query: string, namedParams: Record<string, unknown>, paginator: Paginator<any> | undefined, transactionIsolationLevel: TransactionIsolationLevel);
268
- }
269
-
270
- declare class QueryBuilder {
271
- static readonly ALLOWED_SQL_CONSTRUCT: RegExp;
272
- private readonly queryProvider;
273
- private query?;
274
- meta: {
275
- queryPath?: string;
276
- };
277
- private sqlConstructs;
278
- private namedParams;
279
- private conditionals;
280
- private debugComment;
281
- private paginator?;
282
- private debugAnnotateMode;
283
- private transactionIsolationLevel;
284
- constructor(queryProvider: QueryTextProvider);
285
- clone(): QueryBuilder;
286
- withTransactionIsolationLevel(level: TransactionIsolationLevel): QueryBuilder;
287
- withDebugComment(comment: string): QueryBuilder;
288
- appendDebugComment(comment: string): QueryBuilder;
289
- withNamedQuery(queryPath: string): QueryBuilder;
290
- withBaseQuery(baseQuery: string): void;
291
- withSqlConstruct(key: string, value: unknown): QueryBuilder;
292
- withSqlConstructs(params: Record<string, unknown>): QueryBuilder;
293
- removeParam(key: string): QueryBuilder;
294
- paramNames(): string[];
295
- withParam(key: string, value: unknown): QueryBuilder;
296
- withParams(params: unknown): QueryBuilder;
297
- withExpandedParam(keyPrefix: string, values: unknown[], extendIfExists: boolean): QueryBuilder;
298
- withConditional(tag: string, state?: boolean): QueryBuilder;
299
- withConditionals(params: Record<string, boolean>): QueryBuilder;
300
- withPaginator(paginator: Paginator<any>): QueryBuilder;
301
- fetchCopyOfParam<T>(paramName: string): T | undefined;
302
- fetchCopyOfConditional<T>(conditionalName: string): T | undefined;
303
- containsParam(paramName: string): boolean;
304
- getDebugComment(): string;
305
- containsConditional(conditionalName: string): boolean;
306
- build(): QueryBuilderResult;
307
- buildUnfiltered(): QueryBuilderResult;
308
- protected internalBuild(unfiltered: boolean): QueryBuilderResult;
309
- private stripNonAsciiParams;
310
- private runQueryChecks;
311
- private applyComments;
312
- applySqlConstructs(): void;
313
- private applyRepeatBlocks;
314
- private applyQueryFragments;
315
- private applyPagination;
316
- private applyConditionalBlocks;
317
- }
318
-
319
- declare class QueryUtil {
320
- private fields;
321
- private replacements;
322
- addReplacement(replacement: Record<string, unknown>, ...fields: string[]): void;
323
- appendReplacement(replacementKey: string, appendValue: string, ...fields: string[]): void;
324
- addFields(...fields: string[]): void;
325
- getFields(): string[];
326
- getReplacements(): Record<string, unknown>;
327
- static sqlInjectionUnsafeParamRenderer(value: unknown): string;
328
- static renderQueryStringForPasteIntoTool(query: string, inFields: object | null, transform?: (x: unknown) => string): string | null;
329
- static reformatQueryForLogging(qry: string, inMaxLineLength?: number): string | null;
330
- static addPrefixToFieldNames(fields: Record<string, any>, prefix?: string): Record<string, any>;
331
- static replaceNullReplacementsInQuery(query: string, fields: Record<string, any>): string;
332
- static removeUnusedFields(query: string, fields: Record<string, any>, prefix?: string): Record<string, any>;
333
- static extractUsedNamedParams(query: string): string[];
334
- }
335
-
336
- declare class NamedParameterDatabaseService {
337
- private cfg;
338
- constructor(cfg: NamedParameterDatabaseServiceConfig);
339
- getConfig(): NamedParameterDatabaseServiceConfig;
340
- nonPooledExtraConfiguration(): Record<string, any>;
341
- nonPooledMode(): boolean;
342
- get databaseAccessProvider(): DatabaseAccessProvider;
343
- getQueryDefaults(): QueryDefaults;
344
- getQueryProvider(): QueryTextProvider;
345
- createNonPooledDatabaseAccess(queryDefaults: QueryDefaults, additionalConfig?: Record<string, any>): Promise<DatabaseAccess>;
346
- fetchQueryRawTextByName(queryPath: string): string;
347
- queryBuilder(queryPath?: string): QueryBuilder;
348
- executeUpdateOrInsertByName(queryPath: string, params?: object, timeoutMS?: number): Promise<ModifyResults>;
349
- buildAndExecuteUpdateOrInsert(queryBuilder: QueryBuilder, timeoutMS?: number): Promise<ModifyResults>;
350
- buildAndExecuteUpdateOrInsertWithRetry(queryBuilder: QueryBuilder, maxRetries: number, timeoutMS?: number): Promise<ModifyResults>;
351
- executeQueryByName<Row>(queryPath: string, params: object, timeoutMS?: number): Promise<Row[]>;
352
- executeQueryByNameSingle<Row>(queryPath: string, params: object, timeoutMS?: number): Promise<Row | null>;
353
- buildAndExecute<Row>(queryBuilder: QueryBuilder, timeoutMS?: number): Promise<Row[]>;
354
- buildAndExecuteSingle<Row>(queryBuilder: QueryBuilder, timeoutMS?: number): Promise<Row | null>;
355
- buildAndExecuteFetchTotalRows(queryBuilder: QueryBuilder, groupBy?: string, timeoutMS?: number): Promise<GroupByCountResult[]>;
356
- executeQueryWithMeta<Row>(requestType: DatabaseRequestType, transactionIsolationLevel: TransactionIsolationLevel, query: string, fields?: object, timeoutMS?: number, debugComment?: string): Promise<RequestResults<Row>>;
357
- shutdown(): Promise<boolean>;
358
- testDbFailure(): Promise<void>;
359
- changeNextQueryTransactionIsolationLevel<Row>(tx: TransactionIsolationLevel | null): Promise<RequestResults<Row> | null>;
360
- forceCloseConnectionForTesting(): Promise<boolean>;
361
- private innerExecutePreparedAsPromiseWithRetryCloseConnection;
362
- private innerExecutePreparedAsPromise;
363
- getDB(): Promise<DatabaseAccess>;
364
- testConnection(logTestResults?: boolean): Promise<number>;
365
- resetConnection(): Promise<boolean>;
366
- }
367
-
368
- declare class TransactionalNamedParameterDatabaseService extends NamedParameterDatabaseService {
369
- private transCfg;
370
- private additionalConfig;
371
- private currentTxFlag?;
372
- constructor(transCfg: NamedParameterDatabaseServiceConfig, additionalConfig: Record<string, any>);
373
- nonPooledExtraConfiguration(): Record<string, any>;
374
- nonPooledMode(): boolean;
375
- cleanShutdown(): Promise<void>;
376
- startTransaction(): Promise<void>;
377
- commitTransaction(): Promise<void>;
378
- rollBackTransaction(): Promise<void>;
379
- buildAndExecuteUpdateOrInsertInTransaction(queryBuilder: QueryBuilder, timeoutMS?: number): Promise<ModifyResults | null>;
380
- buildAndExecuteInTransaction<T>(queryBuilder: QueryBuilder, timeoutMS?: number): Promise<T[] | null>;
381
- static oneStepBuildAndExecuteUpdateOrInsertInTransaction(src: NamedParameterDatabaseService, queryBuilder: QueryBuilder, timeoutMS?: number, additionalConfig?: Record<string, any>): Promise<ModifyResults | null>;
382
- static oneStepBuildAndExecuteInTransaction<S, T, R>(src: NamedParameterDatabaseService, queryBuilder: QueryBuilder, timeoutMS?: number, additionalConfig?: R): Promise<S[] | null>;
383
- }
384
-
385
- declare enum SqliteConnectionConfigFlag {
386
- AlwaysCollateNoCase = "AlwaysCollateNoCase"
387
- }
388
-
389
- declare class SqliteDatabaseAccess implements DatabaseAccess {
390
- private conn;
391
- private flags;
392
- private extraConfig;
393
- constructor(conn: AsyncDatabase, flags: SqliteConnectionConfigFlag[], extraConfig: Record<string, any>);
394
- get connection(): AsyncDatabase;
395
- beginTransaction(): Promise<void>;
396
- close(): Promise<boolean>;
397
- commitTransaction(): Promise<void>;
398
- escape(value: any): string;
399
- onRequestFailureOnly(_type: DatabaseRequestType): Promise<void>;
400
- onRequestSuccessOnly(_type: DatabaseRequestType): Promise<void>;
401
- onRequestSuccessOrFailure(_type: DatabaseRequestType): Promise<void>;
402
- preQuery(): Promise<void>;
403
- modify(query: string, fields: Record<string, any>): Promise<RequestResults<ModifyResults>>;
404
- query<S>(inQuery: string, inFields: Record<string, any>): Promise<RequestResults<S>>;
405
- testConnection(logTestResults?: boolean): Promise<number | null>;
406
- rollbackTransaction(): Promise<void>;
407
- }
408
-
409
- declare enum FlushRemoteMode {
410
- Auto = "Auto",
411
- Explicit = "Explicit"
412
- }
413
-
414
- declare enum FetchRemoteMode {
415
- OnStartup = "OnStartup",
416
- EveryQuery = "EveryQuery"
417
- }
418
-
419
- interface SqliteRemoteFileSyncConfig {
420
- remoteFileSync: RemoteFileSyncLike;
421
- flushRemoteMode?: FlushRemoteMode;
422
- fetchRemoteMode?: FetchRemoteMode;
423
- }
424
-
425
- declare class SqliteRemoteSyncDatabaseAccess implements DatabaseAccess {
426
- private cfg;
427
- private flags;
428
- private extraConfig;
429
- private cacheDb;
430
- constructor(cfg: SqliteRemoteFileSyncConfig, flags: SqliteConnectionConfigFlag[], extraConfig: Record<string, any>);
431
- private db;
432
- backupRemoteNow(): Promise<BackupResult>;
433
- changeFlushRemoteMode(newMode: FlushRemoteMode): void;
434
- changeFetchRemoteMode(newMode: FetchRemoteMode): void;
435
- flushLocalToRemote(): Promise<void>;
436
- reloadRemoteToLocal(): Promise<void>;
437
- private closeSyncReopen;
438
- private createDb;
439
- beginTransaction(): Promise<void>;
440
- close(): Promise<boolean>;
441
- commitTransaction(): Promise<void>;
442
- escape(value: any): string;
443
- onRequestSuccessOnly(type: DatabaseRequestType): Promise<void>;
444
- preQuery(): Promise<void>;
445
- modify(query: string, fields: Record<string, any>): Promise<RequestResults<ModifyResults>>;
446
- query<S>(inQuery: string, inFields: Record<string, any>): Promise<RequestResults<S>>;
447
- testConnection(logTestResults?: boolean): Promise<number | null>;
448
- rollbackTransaction(): Promise<void>;
449
- }
450
-
451
- interface SqliteLocalFileConfig {
452
- filePath?: string;
453
- }
454
-
455
- interface SqliteConnectionConfig {
456
- label: string;
457
- localFile?: SqliteLocalFileConfig;
458
- remoteFileSync?: SqliteRemoteFileSyncConfig;
459
- flags?: SqliteConnectionConfigFlag[];
460
- }
461
-
462
- declare class SqliteStyleConnectionProvider implements DatabaseAccessProvider {
463
- private configPromiseProvider;
464
- private additionalConfig;
465
- private connectionCache;
466
- private cacheConfigPromise;
467
- constructor(configPromiseProvider: () => Promise<DatabaseConfigList<SqliteConnectionConfig>>, additionalConfig?: Record<string, any>);
468
- private addShutdownHandlerToProcess;
469
- clearDatabaseAccessCache(): Promise<boolean>;
470
- getDatabaseAccess(name: string): Promise<DatabaseAccess | undefined>;
471
- private getDbConfig;
472
- private createAsyncDatabase;
473
- private configPromise;
474
- private createSqliteConnectionConfig;
475
- static validDbConfig(cfg: SqliteConnectionConfig): string[];
476
- }
477
-
478
- declare class AwsRdsCert2023 {
479
- static readonly US_EAST_1_BUNDLE_PEM: string;
480
- static readonly US_EAST_2_BUNDLE_PEM: string;
481
- static readonly US_WEST_1_BUNDLE_PEM: string;
482
- static readonly US_WEST_2_BUNDLE_PEM: string;
483
- }
484
-
485
- declare class RelationalDatabaseUtils {
486
- static uploadObjectArrayToTable<Item extends object>(db: NamedParameterDatabaseService, tableName: string, data: Item[], clearTableFirst?: boolean): Promise<number>;
487
- }
488
-
489
- export { AwsRdsCert2023, type ConnectionAndTunnel, type DatabaseAccess, type DatabaseAccessProvider, type DatabaseConfigList, DatabaseRequestType, FetchRemoteMode, FlushRemoteMode, type GroupByCountResult, type ModifyResults, type MysqlDbConfig, type MysqlMasterStatus, type MysqlSlaveStatus, MysqlStyleDatabaseAccess, NamedParameterDatabaseService, type NamedParameterDatabaseServiceConfig, type PaginatedResults, type PaginationBounds, type Paginator, QueryBuilder, QueryBuilderResult, type QueryDefaults, type QueryTextProvider, QueryUtil, RatchetRdbmsInfo, RdsMysqlStyleConnectionProvider, RelationalDatabaseUtils, type RequestResults, SimpleQueryTextProvider, SortDirection, type SqliteConnectionConfig, SqliteConnectionConfigFlag, SqliteDatabaseAccess, type SqliteLocalFileConfig, type SqliteRemoteFileSyncConfig, SqliteRemoteSyncDatabaseAccess, SqliteStyleConnectionProvider, type SshTunnelConfig, type SshTunnelContainer, SshTunnelService, TransactionIsolationLevel, TransactionalNamedParameterDatabaseService };