@bitblit/ratchet-rdbms 4.0.420-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
@@ -0,0 +1,272 @@
1
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
2
+ import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
3
+ import { PromiseRatchet } from '@bitblit/ratchet-common/lang/promise-ratchet';
4
+ import { StopWatch } from '@bitblit/ratchet-common/lang/stop-watch';
5
+ import { TimeoutToken } from '@bitblit/ratchet-common/lang/timeout-token';
6
+ import { DurationRatchet } from '@bitblit/ratchet-common/lang/duration-ratchet';
7
+ import { QueryUtil } from '../query-builder/query-util.js';
8
+ import { TransactionIsolationLevel } from '../model/transaction-isolation-level.js';
9
+ import { QueryBuilder } from '../query-builder/query-builder.js';
10
+ import { DatabaseRequestType } from '../model/database-request-type.js';
11
+ export class NamedParameterDatabaseService {
12
+ cfg;
13
+ constructor(cfg) {
14
+ this.cfg = cfg;
15
+ cfg.serviceName = cfg.serviceName ?? 'NamedParameterDatabaseService';
16
+ cfg.logger = cfg.logger || Logger.getLogger();
17
+ Logger.info('NamedParameterDatabaseService using logger %s at %s', cfg.logger.guid, cfg.logger.level);
18
+ }
19
+ getConfig() {
20
+ return this.cfg;
21
+ }
22
+ nonPooledExtraConfiguration() {
23
+ return null;
24
+ }
25
+ nonPooledMode() {
26
+ return false;
27
+ }
28
+ get databaseAccessProvider() {
29
+ return this.cfg.connectionProvider;
30
+ }
31
+ getQueryDefaults() {
32
+ return this.cfg.queryDefaults;
33
+ }
34
+ getQueryProvider() {
35
+ return this.cfg.queryProvider;
36
+ }
37
+ async createNonPooledDatabaseAccess(queryDefaults, additionalConfig) {
38
+ this.cfg.logger.info('createTransactional : %s : %j', queryDefaults, additionalConfig);
39
+ if (!this.cfg.connectionProvider.createNonPooledDatabaseAccess) {
40
+ throw new Error(`Connection provider does not implement createNonPooledDatabaseAccess`);
41
+ }
42
+ const newConn = await this.cfg.connectionProvider.createNonPooledDatabaseAccess(queryDefaults, additionalConfig);
43
+ if (!newConn) {
44
+ throw new Error(`Connection could not be created for DB type ${queryDefaults}`);
45
+ }
46
+ return newConn;
47
+ }
48
+ fetchQueryRawTextByName(queryPath) {
49
+ return this.cfg.queryProvider.fetchQuery(queryPath);
50
+ }
51
+ queryBuilder(queryPath) {
52
+ const queryBuilder = new QueryBuilder(this.cfg.queryProvider);
53
+ if (queryPath) {
54
+ queryBuilder.withNamedQuery(queryPath);
55
+ }
56
+ return queryBuilder;
57
+ }
58
+ async executeUpdateOrInsertByName(queryPath, params, timeoutMS = this.cfg.queryDefaults.timeoutMS) {
59
+ const builder = this.queryBuilder(queryPath).withParams(params ?? {});
60
+ return this.buildAndExecuteUpdateOrInsert(builder, timeoutMS);
61
+ }
62
+ async buildAndExecuteUpdateOrInsert(queryBuilder, timeoutMS = this.cfg.queryDefaults.timeoutMS) {
63
+ const build = queryBuilder.build();
64
+ const resp = await this.executeQueryWithMeta(DatabaseRequestType.Modify, build.transactionIsolationLevel, build.query, build.namedParams, timeoutMS);
65
+ const rval = resp.results;
66
+ return rval;
67
+ }
68
+ async buildAndExecuteUpdateOrInsertWithRetry(queryBuilder, maxRetries, timeoutMS = this.cfg.queryDefaults.timeoutMS) {
69
+ let retry = 0;
70
+ let res;
71
+ while (!res && retry < maxRetries) {
72
+ retry++;
73
+ try {
74
+ res = await this.buildAndExecuteUpdateOrInsert(queryBuilder, timeoutMS);
75
+ }
76
+ catch (err) {
77
+ this.cfg.logger.info('Caught problem while trying to update/insert : %d : %s ', retry, err);
78
+ await PromiseRatchet.wait(retry * 2000);
79
+ }
80
+ }
81
+ if (!res) {
82
+ throw new Error(`Failed to execute update after ${maxRetries} retries`);
83
+ }
84
+ return res;
85
+ }
86
+ async executeQueryByName(queryPath, params, timeoutMS = this.cfg.queryDefaults.timeoutMS) {
87
+ const builder = this.queryBuilder(queryPath).withParams(params);
88
+ const resp = await this.buildAndExecute(builder, timeoutMS);
89
+ return resp;
90
+ }
91
+ async executeQueryByNameSingle(queryPath, params, timeoutMS = this.cfg.queryDefaults.timeoutMS) {
92
+ const builder = this.queryBuilder(queryPath).withParams(params);
93
+ const resp = await this.buildAndExecute(builder, timeoutMS);
94
+ return resp.length === 1 ? resp[0] : null;
95
+ }
96
+ async buildAndExecute(queryBuilder, timeoutMS = this.cfg.queryDefaults.timeoutMS) {
97
+ const build = queryBuilder.build();
98
+ const resp = await this.executeQueryWithMeta(DatabaseRequestType.Query, build.transactionIsolationLevel, build.query, build.namedParams, timeoutMS, queryBuilder.getDebugComment());
99
+ return resp.results;
100
+ }
101
+ async buildAndExecuteSingle(queryBuilder, timeoutMS = this.cfg.queryDefaults.timeoutMS) {
102
+ const build = queryBuilder.build();
103
+ const resp = await this.executeQueryWithMeta(DatabaseRequestType.Query, build.transactionIsolationLevel, build.query, build.namedParams, timeoutMS, queryBuilder.getDebugComment());
104
+ return resp.results.length === 1 ? resp.results[0] : null;
105
+ }
106
+ async buildAndExecuteFetchTotalRows(queryBuilder, groupBy = '', timeoutMS = this.cfg.queryDefaults.timeoutMS) {
107
+ const buildUnfiltered = queryBuilder.buildUnfiltered();
108
+ let query = buildUnfiltered.query.replace('COUNT(*)', `${groupBy} as groupByField, COUNT(*) as count`);
109
+ query = `${query} GROUP BY ${groupBy}`;
110
+ this.cfg.logger.info('Unfiltered query %s', buildUnfiltered.query);
111
+ const resp = await this.executeQueryWithMeta(DatabaseRequestType.Query, buildUnfiltered.transactionIsolationLevel, query, buildUnfiltered.namedParams, timeoutMS);
112
+ return resp.results;
113
+ }
114
+ async executeQueryWithMeta(requestType, transactionIsolationLevel, query, fields = {}, timeoutMS = this.cfg.queryDefaults.timeoutMS, debugComment) {
115
+ const sw = new StopWatch();
116
+ if (!timeoutMS) {
117
+ timeoutMS = this.cfg.queryDefaults.timeoutMS;
118
+ }
119
+ await this.changeNextQueryTransactionIsolationLevel(transactionIsolationLevel);
120
+ const result = await PromiseRatchet.timeout(this.innerExecutePreparedAsPromiseWithRetryCloseConnection(requestType, query, fields, undefined), 'Query:' + query, timeoutMS);
121
+ if (TimeoutToken.isTimeoutToken(result)) {
122
+ this.cfg.logger.warn('Timed out (after %s): %j', DurationRatchet.colonFormatMsDuration(timeoutMS), result);
123
+ const duration = DurationRatchet.colonFormatMsDuration(timeoutMS);
124
+ throw new Error(`Timed out (after ${duration}) waiting for query : ${query}`);
125
+ }
126
+ const rval = result;
127
+ if (!rval.results) {
128
+ this.cfg.logger.error('DB:executeQueryWithMeta:Failure: %j', rval);
129
+ }
130
+ if (debugComment && sw.elapsedMS() > this.cfg.longQueryTimeMs) {
131
+ this.cfg.logger.info('NamedParameterDatabaseService long query: %s, %s', debugComment, sw.dump());
132
+ }
133
+ return rval;
134
+ }
135
+ async shutdown() {
136
+ this.cfg.logger.info('Shutting down %s service', this.cfg.serviceName);
137
+ let rval;
138
+ try {
139
+ rval = await this.cfg.connectionProvider.clearDatabaseAccessCache();
140
+ }
141
+ catch (err) {
142
+ this.cfg.logger.error('Failure trying to shutdown : %s', err, err);
143
+ rval = false;
144
+ }
145
+ return rval;
146
+ }
147
+ async testDbFailure() {
148
+ await this.executeQueryWithMeta(DatabaseRequestType.Query, TransactionIsolationLevel.Default, 'this is a bad query');
149
+ }
150
+ async changeNextQueryTransactionIsolationLevel(tx) {
151
+ if (tx && tx !== TransactionIsolationLevel.Default) {
152
+ this.cfg.logger.debug('Setting tx to %s', tx);
153
+ return await this.innerExecutePreparedAsPromiseWithRetryCloseConnection(DatabaseRequestType.Meta, 'SET TRANSACTION ISOLATION LEVEL ' + tx, {});
154
+ }
155
+ return null;
156
+ }
157
+ async forceCloseConnectionForTesting() {
158
+ this.cfg.logger.warn('Forcing connection closed for testing');
159
+ const conn = await this.getDB();
160
+ try {
161
+ await conn.close();
162
+ this.cfg.logger.info('Connection has been ended, but not set to null');
163
+ return true;
164
+ }
165
+ catch (err) {
166
+ this.cfg.logger.error('Error closing connection : %s', err, err);
167
+ return false;
168
+ }
169
+ }
170
+ async innerExecutePreparedAsPromiseWithRetryCloseConnection(requestType, query, fields = {}, retryCount = 1) {
171
+ try {
172
+ const result = await this.innerExecutePreparedAsPromise(requestType, query, fields);
173
+ return result;
174
+ }
175
+ catch (errIn) {
176
+ const err = ErrorRatchet.asErr(errIn);
177
+ if (err.message.includes('closed state') ||
178
+ err.message.includes('This socket has been ended by the other party') ||
179
+ err.message.includes('ETIMEDOUT') ||
180
+ err.message.includes('RatchetNoConnection') ||
181
+ err.message.includes('ER_LOCK_WAIT_TIMEOUT')) {
182
+ const wait = Math.min(1000 * retryCount);
183
+ this.cfg.logger.warn('Found closed connection or lock timeout - clearing and attempting retry after %d (try %d of 3) (%s)', wait, retryCount, err.message);
184
+ if (retryCount < 4) {
185
+ const cleared = await this.cfg.connectionProvider.clearDatabaseAccessCache();
186
+ this.cfg.logger.info('Clear connection cache returned %s', cleared);
187
+ await PromiseRatchet.wait(wait);
188
+ return this.innerExecutePreparedAsPromiseWithRetryCloseConnection(requestType, query, fields, retryCount + 1);
189
+ }
190
+ else {
191
+ this.cfg.logger.warn('Ran out of retries');
192
+ throw new Error('Connection closed and cannot retry any more - dying horribly');
193
+ }
194
+ }
195
+ else {
196
+ this.cfg.logger.error('Named Param DB Query Failed : Err: %s Query: %s Params: %j', err, query, fields, err);
197
+ try {
198
+ const conn = await this.getDB();
199
+ this.cfg.logger.error('-----\nFor paste into tooling only: \n\n%s\n\n', QueryUtil.renderQueryStringForPasteIntoTool(query, fields, (v) => conn.escape(v)));
200
+ }
201
+ catch (err2) {
202
+ this.cfg.logger.error('Really bad - failed trying to get the conn for logging : %s', err2);
203
+ }
204
+ throw err;
205
+ }
206
+ }
207
+ }
208
+ async innerExecutePreparedAsPromise(requestType, query, fields = {}) {
209
+ const conn = await this.getDB();
210
+ if (conn.preQuery) {
211
+ await conn.preQuery();
212
+ }
213
+ const sw = new StopWatch();
214
+ try {
215
+ let output;
216
+ if (requestType === DatabaseRequestType.Modify) {
217
+ this.cfg.logger.debug('Executing modify on underlying db : %s / %j', query, fields);
218
+ output = await conn.modify(query, fields);
219
+ }
220
+ else {
221
+ this.cfg.logger.debug('Executing query on underlying db : %s / %j', query, fields);
222
+ output = await conn.query(query, fields);
223
+ }
224
+ this.cfg.logger.debug('Success : Finished query : %s\n%s\n\nParams : %j', sw.dump(), QueryUtil.reformatQueryForLogging(query), fields);
225
+ this.cfg.logger.debug('-----\nFor paste into tooling only : \n\n%s\n\n', QueryUtil.renderQueryStringForPasteIntoTool(query, fields, (v) => conn.escape(v)));
226
+ if (conn.onRequestSuccessOnly) {
227
+ await conn.onRequestSuccessOnly(requestType);
228
+ }
229
+ return output;
230
+ }
231
+ catch (err) {
232
+ if (conn.onRequestFailureOnly) {
233
+ await conn.onRequestFailureOnly(requestType);
234
+ }
235
+ throw err;
236
+ }
237
+ finally {
238
+ if (conn.onRequestSuccessOrFailure) {
239
+ await conn.onRequestSuccessOrFailure(requestType);
240
+ }
241
+ }
242
+ }
243
+ async getDB() {
244
+ const conn = this.nonPooledMode()
245
+ ? await this.cfg.connectionProvider.createNonPooledDatabaseAccess(this.cfg.queryDefaults, this.nonPooledExtraConfiguration())
246
+ : await this.cfg.connectionProvider.getDatabaseAccess(this.cfg.queryDefaults.databaseName);
247
+ if (!conn) {
248
+ throw new Error('RatchetNoConnection : getConnection returned null - likely failed to get connection from db');
249
+ }
250
+ return conn;
251
+ }
252
+ async testConnection(logTestResults) {
253
+ const db = await this.getDB();
254
+ return db.testConnection(logTestResults);
255
+ }
256
+ async resetConnection() {
257
+ let rval = false;
258
+ this.cfg.logger.info('Resetting connection');
259
+ try {
260
+ await this.cfg.connectionProvider.clearDatabaseAccessCache();
261
+ const db = await this.getDB();
262
+ const tmpValue = await db.testConnection(true);
263
+ rval = !!tmpValue;
264
+ this.cfg.logger.info('Reset connection returning %s', rval);
265
+ }
266
+ catch (err) {
267
+ this.cfg.logger.error('Failed to reset connection : %s', err);
268
+ }
269
+ return rval;
270
+ }
271
+ }
272
+ //# sourceMappingURL=named-parameter-database-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"named-parameter-database-service.js","sourceRoot":"","sources":["../../src/service/named-parameter-database-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { SshTunnelContainer } from '../model/ssh/ssh-tunnel-container.js';
2
+ import { SshTunnelConfig } from '../model/ssh/ssh-tunnel-config.js';
3
+ export declare class SshTunnelService {
4
+ shutdown(ssh: SshTunnelContainer): Promise<boolean>;
5
+ createSSHTunnel(sshOptions: SshTunnelConfig, dstHost: string, dstPort: number, localPort: number): Promise<SshTunnelContainer>;
6
+ }
@@ -0,0 +1,49 @@
1
+ import * as TunnelSsh from 'tunnel-ssh';
2
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
3
+ export class SshTunnelService {
4
+ async shutdown(ssh) {
5
+ if (!ssh.connection) {
6
+ Logger.info('Not shutting down tunnel - non-tunnel passed');
7
+ return false;
8
+ }
9
+ try {
10
+ Logger.info('Shutting down SSH Tunnel');
11
+ ssh.connection.end();
12
+ ssh.server.close();
13
+ return true;
14
+ }
15
+ catch (err) {
16
+ Logger.error('Error closing ssh tunnel : %s', err);
17
+ return false;
18
+ }
19
+ }
20
+ async createSSHTunnel(sshOptions, dstHost, dstPort, localPort) {
21
+ const tunnelOptions = {
22
+ autoClose: true,
23
+ };
24
+ const serverOptions = {
25
+ port: localPort,
26
+ };
27
+ const forwardOptions = {
28
+ srcAddr: 'localhost',
29
+ srcPort: localPort,
30
+ dstAddr: dstHost,
31
+ dstPort: dstPort,
32
+ };
33
+ const [server, connection] = await TunnelSsh.createTunnel(tunnelOptions, serverOptions, sshOptions, forwardOptions);
34
+ server.on('error', (err) => {
35
+ Logger.warn('SSH Server Error : %s', err);
36
+ });
37
+ const rval = {
38
+ localPort: localPort,
39
+ tunnelOptions: tunnelOptions,
40
+ serverOptions: serverOptions,
41
+ sshOptions: sshOptions,
42
+ forwardOptions: forwardOptions,
43
+ server: server,
44
+ connection: connection,
45
+ };
46
+ return rval;
47
+ }
48
+ }
49
+ //# sourceMappingURL=ssh-tunnel-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh-tunnel-service.js","sourceRoot":"","sources":["../../src/service/ssh-tunnel-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAI/D,MAAM,OAAO,gBAAgB;IACpB,KAAK,CAAC,QAAQ,CAAC,GAAuB;QAC3C,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACxC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,UAA2B,EAC3B,OAAe,EACf,OAAe,EACf,SAAiB;QAEjB,MAAM,aAAa,GAAG;YACpB,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAEpH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAuB;YAC/B,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,cAAc;YAC9B,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,UAAU;SACvB,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { NamedParameterDatabaseService } from './named-parameter-database-service.js';
2
+ import { QueryBuilder } from '../query-builder/query-builder.js';
3
+ import { ModifyResults } from '../model/modify-results.js';
4
+ import { NamedParameterDatabaseServiceConfig } from '../model/named-parameter-database-service-config.js';
5
+ export declare class TransactionalNamedParameterDatabaseService extends NamedParameterDatabaseService {
6
+ private transCfg;
7
+ private additionalConfig;
8
+ private currentTxFlag?;
9
+ constructor(transCfg: NamedParameterDatabaseServiceConfig, additionalConfig: Record<string, any>);
10
+ nonPooledExtraConfiguration(): Record<string, any>;
11
+ nonPooledMode(): boolean;
12
+ cleanShutdown(): Promise<void>;
13
+ startTransaction(): Promise<void>;
14
+ commitTransaction(): Promise<void>;
15
+ rollBackTransaction(): Promise<void>;
16
+ buildAndExecuteUpdateOrInsertInTransaction(queryBuilder: QueryBuilder, timeoutMS?: number): Promise<ModifyResults | null>;
17
+ buildAndExecuteInTransaction<T>(queryBuilder: QueryBuilder, timeoutMS?: number): Promise<T[] | null>;
18
+ static oneStepBuildAndExecuteUpdateOrInsertInTransaction(src: NamedParameterDatabaseService, queryBuilder: QueryBuilder, timeoutMS?: number, additionalConfig?: Record<string, any>): Promise<ModifyResults | null>;
19
+ static oneStepBuildAndExecuteInTransaction<S, T, R>(src: NamedParameterDatabaseService, queryBuilder: QueryBuilder, timeoutMS?: number, additionalConfig?: R): Promise<S[] | null>;
20
+ }
@@ -0,0 +1,129 @@
1
+ import { NamedParameterDatabaseService } from './named-parameter-database-service.js';
2
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
3
+ import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
4
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
5
+ export class TransactionalNamedParameterDatabaseService extends NamedParameterDatabaseService {
6
+ transCfg;
7
+ additionalConfig;
8
+ currentTxFlag;
9
+ constructor(transCfg, additionalConfig) {
10
+ super(transCfg);
11
+ this.transCfg = transCfg;
12
+ this.additionalConfig = additionalConfig;
13
+ }
14
+ nonPooledExtraConfiguration() {
15
+ return this.additionalConfig;
16
+ }
17
+ nonPooledMode() {
18
+ return true;
19
+ }
20
+ async cleanShutdown() {
21
+ Logger.info('cleanShutdown');
22
+ try {
23
+ const conn = await this.transCfg.connectionProvider.getDatabaseAccess();
24
+ if (conn) {
25
+ Logger.info('Shutting down connection');
26
+ await conn.close();
27
+ }
28
+ }
29
+ catch (err) {
30
+ Logger.info('Failure shutting down single-use connection : %s', err);
31
+ }
32
+ }
33
+ async startTransaction() {
34
+ if (!this.currentTxFlag) {
35
+ this.currentTxFlag = StringRatchet.createRandomHexString(10);
36
+ Logger.info('Starting a transaction : %s', this.currentTxFlag);
37
+ const conn = await this.transCfg.connectionProvider.getDatabaseAccess();
38
+ await conn?.beginTransaction();
39
+ }
40
+ else {
41
+ ErrorRatchet.throwFormattedErr('Tried to start a new transaction while one is already in progress : %s', this.currentTxFlag);
42
+ }
43
+ }
44
+ async commitTransaction() {
45
+ if (this.currentTxFlag) {
46
+ Logger.info('commit a transaction : %s', this.currentTxFlag);
47
+ const conn = await this.transCfg.connectionProvider.getDatabaseAccess();
48
+ await conn?.commitTransaction();
49
+ this.currentTxFlag = undefined;
50
+ }
51
+ else {
52
+ ErrorRatchet.throwFormattedErr('Cannot commit transaction - none in process');
53
+ }
54
+ }
55
+ async rollBackTransaction() {
56
+ if (this.currentTxFlag) {
57
+ Logger.info('rollBack a transaction : %s', this.currentTxFlag);
58
+ const conn = await this.transCfg.connectionProvider.getDatabaseAccess();
59
+ await conn?.rollbackTransaction();
60
+ this.currentTxFlag = undefined;
61
+ }
62
+ else {
63
+ ErrorRatchet.throwFormattedErr('Cannot rollBack transaction - none in process');
64
+ }
65
+ }
66
+ async buildAndExecuteUpdateOrInsertInTransaction(queryBuilder, timeoutMS = this.transCfg.queryDefaults.timeoutMS) {
67
+ Logger.info('buildAndExecuteUpdateOrInsertInTransaction');
68
+ await this.startTransaction();
69
+ try {
70
+ const rval = await this.buildAndExecuteUpdateOrInsert(queryBuilder, timeoutMS);
71
+ await this.commitTransaction();
72
+ return rval;
73
+ }
74
+ catch (err) {
75
+ Logger.error('Failed - rolling back transaction : %s', err, err);
76
+ await this.rollBackTransaction();
77
+ return null;
78
+ }
79
+ }
80
+ async buildAndExecuteInTransaction(queryBuilder, timeoutMS = this.transCfg.queryDefaults.timeoutMS) {
81
+ Logger.info('buildAndExecuteInTransaction');
82
+ await this.startTransaction();
83
+ try {
84
+ const rval = await this.buildAndExecute(queryBuilder, timeoutMS);
85
+ await this.commitTransaction();
86
+ return rval;
87
+ }
88
+ catch (err) {
89
+ Logger.error('Failed - rolling back transaction : %s', err, err);
90
+ await this.rollBackTransaction();
91
+ return null;
92
+ }
93
+ }
94
+ static async oneStepBuildAndExecuteUpdateOrInsertInTransaction(src, queryBuilder, timeoutMS = src.getQueryDefaults().timeoutMS, additionalConfig) {
95
+ let handler;
96
+ let rval = null;
97
+ try {
98
+ handler = new TransactionalNamedParameterDatabaseService(src.getConfig(), additionalConfig);
99
+ rval = await handler.buildAndExecuteUpdateOrInsertInTransaction(queryBuilder, timeoutMS);
100
+ }
101
+ catch (err) {
102
+ Logger.error('Failure in oneStepBuildAndExecuteUpdateOrInsertInTransaction : %j : %s', queryBuilder, err, err);
103
+ }
104
+ finally {
105
+ if (handler) {
106
+ await handler.cleanShutdown();
107
+ }
108
+ }
109
+ return rval;
110
+ }
111
+ static async oneStepBuildAndExecuteInTransaction(src, queryBuilder, timeoutMS = src.getQueryDefaults().timeoutMS, additionalConfig) {
112
+ let handler;
113
+ let rval = null;
114
+ try {
115
+ handler = new TransactionalNamedParameterDatabaseService(src.getConfig(), additionalConfig);
116
+ rval = await handler.buildAndExecuteInTransaction(queryBuilder, timeoutMS);
117
+ }
118
+ catch (err) {
119
+ Logger.error('Failure in oneStepbuildAndExecuteInTransaction : %j : %s', queryBuilder, err, err);
120
+ }
121
+ finally {
122
+ if (handler) {
123
+ await handler.cleanShutdown();
124
+ }
125
+ }
126
+ return rval;
127
+ }
128
+ }
129
+ //# sourceMappingURL=transactional-named-parameter-database-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactional-named-parameter-database-service.js","sourceRoot":"","sources":["../../src/service/transactional-named-parameter-database-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from './sqlite-database-access.js';
2
+ export * from './sqlite-remote-sync-database-access.js';
3
+ export * from './sqlite-style-connection-provider.js';
4
+ export * from './model/fetch-remote-mode.js';
5
+ export * from './model/flush-remote-mode.js';
6
+ export * from './model/sqlite-connection-config-flag.js';
7
+ export * from './model/sqlite-connection-config.js';
8
+ export * from './model/sqlite-local-file-config.js';
9
+ export * from './model/sqlite-remote-file-sync-config.js';
@@ -0,0 +1,10 @@
1
+ export * from './sqlite-database-access.js';
2
+ export * from './sqlite-remote-sync-database-access.js';
3
+ export * from './sqlite-style-connection-provider.js';
4
+ export * from './model/fetch-remote-mode.js';
5
+ export * from './model/flush-remote-mode.js';
6
+ export * from './model/sqlite-connection-config-flag.js';
7
+ export * from './model/sqlite-connection-config.js';
8
+ export * from './model/sqlite-local-file-config.js';
9
+ export * from './model/sqlite-remote-file-sync-config.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sqlite/index.ts"],"names":[],"mappings":"AAIA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare enum FetchRemoteMode {
2
+ OnStartup = "OnStartup",
3
+ EveryQuery = "EveryQuery"
4
+ }
@@ -0,0 +1,6 @@
1
+ export var FetchRemoteMode;
2
+ (function (FetchRemoteMode) {
3
+ FetchRemoteMode["OnStartup"] = "OnStartup";
4
+ FetchRemoteMode["EveryQuery"] = "EveryQuery";
5
+ })(FetchRemoteMode || (FetchRemoteMode = {}));
6
+ //# sourceMappingURL=fetch-remote-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-remote-mode.js","sourceRoot":"","sources":["../../../src/sqlite/model/fetch-remote-mode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;AAC3B,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
@@ -0,0 +1,4 @@
1
+ export declare enum FlushRemoteMode {
2
+ Auto = "Auto",
3
+ Explicit = "Explicit"
4
+ }
@@ -0,0 +1,6 @@
1
+ export var FlushRemoteMode;
2
+ (function (FlushRemoteMode) {
3
+ FlushRemoteMode["Auto"] = "Auto";
4
+ FlushRemoteMode["Explicit"] = "Explicit";
5
+ })(FlushRemoteMode || (FlushRemoteMode = {}));
6
+ //# sourceMappingURL=flush-remote-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flush-remote-mode.js","sourceRoot":"","sources":["../../../src/sqlite/model/flush-remote-mode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
@@ -0,0 +1,3 @@
1
+ export declare enum SqliteConnectionConfigFlag {
2
+ AlwaysCollateNoCase = "AlwaysCollateNoCase"
3
+ }
@@ -0,0 +1,5 @@
1
+ export var SqliteConnectionConfigFlag;
2
+ (function (SqliteConnectionConfigFlag) {
3
+ SqliteConnectionConfigFlag["AlwaysCollateNoCase"] = "AlwaysCollateNoCase";
4
+ })(SqliteConnectionConfigFlag || (SqliteConnectionConfigFlag = {}));
5
+ //# sourceMappingURL=sqlite-connection-config-flag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-connection-config-flag.js","sourceRoot":"","sources":["../../../src/sqlite/model/sqlite-connection-config-flag.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,0BAEX;AAFD,WAAY,0BAA0B;IACpC,yEAA2C,CAAA;AAC7C,CAAC,EAFW,0BAA0B,KAA1B,0BAA0B,QAErC"}
@@ -0,0 +1,9 @@
1
+ import { SqliteRemoteFileSyncConfig } from './sqlite-remote-file-sync-config.js';
2
+ import { SqliteConnectionConfigFlag } from './sqlite-connection-config-flag.js';
3
+ import { SqliteLocalFileConfig } from './sqlite-local-file-config.js';
4
+ export interface SqliteConnectionConfig {
5
+ label: string;
6
+ localFile?: SqliteLocalFileConfig;
7
+ remoteFileSync?: SqliteRemoteFileSyncConfig;
8
+ flags?: SqliteConnectionConfigFlag[];
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sqlite-connection-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-connection-config.js","sourceRoot":"","sources":["../../../src/sqlite/model/sqlite-connection-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export interface SqliteLocalFileConfig {
2
+ filePath?: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sqlite-local-file-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-local-file-config.js","sourceRoot":"","sources":["../../../src/sqlite/model/sqlite-local-file-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { FlushRemoteMode } from './flush-remote-mode.js';
2
+ import { FetchRemoteMode } from './fetch-remote-mode.js';
3
+ import { RemoteFileSyncLike } from '@bitblit/ratchet-common/network/remote-file-sync/remote-file-sync-like';
4
+ export interface SqliteRemoteFileSyncConfig {
5
+ remoteFileSync: RemoteFileSyncLike;
6
+ flushRemoteMode?: FlushRemoteMode;
7
+ fetchRemoteMode?: FetchRemoteMode;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sqlite-remote-file-sync-config.js.map