@l-v-yonsama/multi-platform-database-drivers 0.1.12 → 0.1.13

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 (87) hide show
  1. package/built/src/db/DBError.js +1 -4
  2. package/built/src/db/DBError.js.map +1 -1
  3. package/built/src/db/drivers/AwsS3Driver.js +105 -131
  4. package/built/src/db/drivers/AwsS3Driver.js.map +1 -1
  5. package/built/src/db/drivers/BaseDriver.js +65 -75
  6. package/built/src/db/drivers/BaseDriver.js.map +1 -1
  7. package/built/src/db/drivers/MySQLDriver.js +179 -201
  8. package/built/src/db/drivers/MySQLDriver.js.map +1 -1
  9. package/built/src/db/drivers/PostgresDriver.js +162 -186
  10. package/built/src/db/drivers/PostgresDriver.js.map +1 -1
  11. package/built/src/db/drivers/RedisDriver.js +160 -180
  12. package/built/src/db/drivers/RedisDriver.js.map +1 -1
  13. package/built/src/db/drivers/index.js +5 -8
  14. package/built/src/db/drivers/index.js.map +1 -1
  15. package/built/src/db/index.js +3 -6
  16. package/built/src/db/index.js.map +1 -1
  17. package/built/src/db/resource/DbResource.js +43 -58
  18. package/built/src/db/resource/DbResource.js.map +1 -1
  19. package/built/src/db/resource/MultipleResultSetDataHolder.js +5 -9
  20. package/built/src/db/resource/MultipleResultSetDataHolder.js.map +1 -1
  21. package/built/src/db/resource/ResourceHelper.js +1 -5
  22. package/built/src/db/resource/ResourceHelper.js.map +1 -1
  23. package/built/src/db/resource/ResultSetDataHolder.js +33 -43
  24. package/built/src/db/resource/ResultSetDataHolder.js.map +1 -1
  25. package/built/src/db/resource/index.js +5 -8
  26. package/built/src/db/resource/index.js.map +1 -1
  27. package/built/src/db/resource/types/DBType.js +3 -6
  28. package/built/src/db/resource/types/DBType.js.map +1 -1
  29. package/built/src/db/resource/types/GeneralColumnType.js +5 -8
  30. package/built/src/db/resource/types/GeneralColumnType.js.map +1 -1
  31. package/built/src/db/resource/types/MySQLColumnType.js +7 -10
  32. package/built/src/db/resource/types/MySQLColumnType.js.map +1 -1
  33. package/built/src/db/resource/types/ODBCVendorType.js +2 -5
  34. package/built/src/db/resource/types/ODBCVendorType.js.map +1 -1
  35. package/built/src/db/resource/types/PostgresColumnType.js +6 -9
  36. package/built/src/db/resource/types/PostgresColumnType.js.map +1 -1
  37. package/built/src/db/resource/types/RedisKeyType.js +5 -8
  38. package/built/src/db/resource/types/RedisKeyType.js.map +1 -1
  39. package/built/src/db/resource/types/ResourceType.js +2 -5
  40. package/built/src/db/resource/types/ResourceType.js.map +1 -1
  41. package/built/src/db/resource/types/index.js +7 -10
  42. package/built/src/db/resource/types/index.js.map +1 -1
  43. package/built/src/index.js +3 -6
  44. package/built/src/index.js.map +1 -1
  45. package/built/src/service/DBAccessService.js +246 -273
  46. package/built/src/service/DBAccessService.js.map +1 -1
  47. package/built/src/service/DBDriverResolver.js +32 -36
  48. package/built/src/service/DBDriverResolver.js.map +1 -1
  49. package/built/src/service/SQLService.js +3 -8
  50. package/built/src/service/SQLService.js.map +1 -1
  51. package/built/src/service/index.js +5 -8
  52. package/built/src/service/index.js.map +1 -1
  53. package/built/src/service/request/RedisRequest.js +2 -5
  54. package/built/src/service/request/RedisRequest.js.map +1 -1
  55. package/built/src/service/request/S3Request.js +2 -5
  56. package/built/src/service/request/S3Request.js.map +1 -1
  57. package/built/src/service/request/index.js +2 -5
  58. package/built/src/service/request/index.js.map +1 -1
  59. package/built/src/service/response/GeneralDBResponse.js +1 -2
  60. package/built/src/service/response/GeneralResponse.js +1 -5
  61. package/built/src/service/response/GeneralResponse.js.map +1 -1
  62. package/built/src/service/response/index.js +2 -5
  63. package/built/src/service/response/index.js.map +1 -1
  64. package/built/src/service/response/reply/ConnectionResult.js +1 -2
  65. package/built/src/service/response/reply/FileExportReply.js +4 -8
  66. package/built/src/service/response/reply/FileExportReply.js.map +1 -1
  67. package/built/src/service/response/reply/FileProcessResult.js +3 -7
  68. package/built/src/service/response/reply/FileProcessResult.js.map +1 -1
  69. package/built/src/service/response/reply/GeneralReply.js +1 -4
  70. package/built/src/service/response/reply/GeneralReply.js.map +1 -1
  71. package/built/src/service/response/reply/OutputReply.js +4 -8
  72. package/built/src/service/response/reply/OutputReply.js.map +1 -1
  73. package/built/src/service/response/reply/ProgressReply.js +2 -6
  74. package/built/src/service/response/reply/ProgressReply.js.map +1 -1
  75. package/built/src/service/response/reply/types/FileExportType.js +2 -5
  76. package/built/src/service/response/reply/types/FileExportType.js.map +1 -1
  77. package/built/src/service/response/reply/types/OutputType.js +2 -5
  78. package/built/src/service/response/reply/types/OutputType.js.map +1 -1
  79. package/built/src/service/response/reply/types/ReplyEventType.js +2 -5
  80. package/built/src/service/response/reply/types/ReplyEventType.js.map +1 -1
  81. package/built/src/types/DateModifiedType.js +3 -6
  82. package/built/src/types/DateModifiedType.js.map +1 -1
  83. package/built/src/types/FileKindType.js +3 -6
  84. package/built/src/types/FileKindType.js.map +1 -1
  85. package/built/src/types/index.js +2 -5
  86. package/built/src/types/index.js.map +1 -1
  87. package/package.json +2 -1
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const BaseDriver_1 = tslib_1.__importDefault(require("./BaseDriver"));
5
- const mysql = tslib_1.__importStar(require("mysql2/promise"));
6
- const ResultSetDataHolder_1 = tslib_1.__importStar(require("../resource/ResultSetDataHolder"));
7
- const DbResource_1 = require("../resource/DbResource");
8
- const MySQLColumnType_1 = require("../resource/types/MySQLColumnType");
9
- const enum_values_1 = require("enum-values");
10
- const GeneralColumnType_1 = require("../resource/types/GeneralColumnType");
11
- class MySQLDriver extends BaseDriver_1.default {
1
+ import BaseDriver from './BaseDriver';
2
+ import * as mysql from 'mysql2/promise';
3
+ import ResultSetDataHolder, { RdhKey } from '../resource/ResultSetDataHolder';
4
+ import { DbDatabase, DbSchema, DbTable, DbColumn, } from '../resource/DbResource';
5
+ import { MySQLColumnType } from '../resource/types/MySQLColumnType';
6
+ import { EnumValues } from 'enum-values';
7
+ import { GeneralColumnType } from '../resource/types/GeneralColumnType';
8
+ export default class MySQLDriver extends BaseDriver {
12
9
  constructor(conRes) {
13
10
  super(conRes);
14
11
  }
@@ -16,210 +13,195 @@ class MySQLDriver extends BaseDriver_1.default {
16
13
  if (resolver) {
17
14
  resolver.hints.list.push({ table: fieldInfo.orgTable });
18
15
  }
19
- const name = enum_values_1.EnumValues.getNameFromValue(MySQLColumnType_1.MySQLColumnType, MySQLColumnType_1.MySQLColumnType.parseByFieldInfo(fieldInfo));
20
- const key = new ResultSetDataHolder_1.RdhKey(fieldInfo.name, GeneralColumnType_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.orgName, resolver));
21
- if (key.type === GeneralColumnType_1.GeneralColumnType.UNKNOWN) {
16
+ const name = EnumValues.getNameFromValue(MySQLColumnType, MySQLColumnType.parseByFieldInfo(fieldInfo));
17
+ const key = new RdhKey(fieldInfo.name, GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.orgName, resolver));
18
+ if (key.type === GeneralColumnType.UNKNOWN) {
22
19
  }
23
20
  return key;
24
21
  }
25
- connectSub() {
26
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
27
- let errorMessage = '';
28
- const options = {
29
- connectionLimit: 4,
30
- multipleStatements: true,
31
- port: this.conRes.port,
32
- host: this.conRes.host,
33
- user: this.conRes.user,
34
- password: this.conRes.password,
35
- database: this.conRes.database,
36
- };
37
- this.client = mysql.createPool(options);
38
- try {
39
- errorMessage = yield this.test();
22
+ async connectSub() {
23
+ let errorMessage = '';
24
+ const options = {
25
+ connectionLimit: 4,
26
+ multipleStatements: true,
27
+ port: this.conRes.port,
28
+ host: this.conRes.host,
29
+ user: this.conRes.user,
30
+ password: this.conRes.password,
31
+ database: this.conRes.database,
32
+ };
33
+ this.client = mysql.createPool(options);
34
+ try {
35
+ errorMessage = await this.test();
36
+ }
37
+ catch (e) {
38
+ errorMessage = e.message;
39
+ }
40
+ return errorMessage;
41
+ }
42
+ async test(with_connect = false) {
43
+ let errorReason = '';
44
+ if (with_connect) {
45
+ errorReason = await this.connect();
46
+ }
47
+ if (!errorReason) {
48
+ const rdh = await this.requestSql('SELECT 1 from DUAL');
49
+ if (rdh && rdh.errorMessage) {
50
+ return rdh.errorMessage;
40
51
  }
41
- catch (e) {
42
- errorMessage = e.message;
52
+ if (with_connect) {
53
+ await this.disconnect();
43
54
  }
44
- return errorMessage;
45
- });
55
+ }
56
+ return errorReason;
46
57
  }
47
- test(with_connect = false) {
48
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
- let errorReason = '';
50
- if (with_connect) {
51
- errorReason = yield this.connect();
58
+ async requestSql(sql, options) {
59
+ let rdh = new ResultSetDataHolder([]);
60
+ if (this.client) {
61
+ let binds = [];
62
+ if (options && options.binds) {
63
+ binds = options.binds;
52
64
  }
53
- if (!errorReason) {
54
- const rdh = yield this.requestSql('SELECT 1 from DUAL');
55
- if (rdh && rdh.errorMessage) {
56
- return rdh.errorMessage;
57
- }
58
- if (with_connect) {
59
- yield this.disconnect();
60
- }
65
+ let resolver;
66
+ if (options && options.needs_column_resolve === true) {
67
+ resolver = this.createColumnResolver(sql);
61
68
  }
62
- return errorReason;
63
- });
64
- }
65
- requestSql(sql, options) {
66
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
67
- let rdh = new ResultSetDataHolder_1.default([]);
68
- if (this.client) {
69
- let binds = [];
70
- if (options && options.binds) {
71
- binds = options.binds;
72
- }
73
- let resolver;
74
- if (options && options.needs_column_resolve === true) {
75
- resolver = this.createColumnResolver(sql);
76
- }
77
- const [rows, fields] = yield this.client.execute(sql, binds);
78
- try {
79
- if (fields === undefined) {
80
- const results = rows;
81
- rdh = new ResultSetDataHolder_1.default([
82
- 'fieldCount',
83
- 'affectedRows',
84
- 'insertId',
85
- 'serverStatus',
86
- 'warningStatus',
87
- 'changedRows',
88
- ]);
89
- rdh.addRow({
90
- fieldCount: results.fieldCount,
91
- affectedRows: results.affectedRows,
92
- insertId: results.insertId,
93
- serverStatus: results.serverStatus,
94
- warningStatus: results.warningStatus,
95
- changedRows: results.changedRows,
96
- });
97
- }
98
- else {
99
- rdh = new ResultSetDataHolder_1.default(fields === undefined
100
- ? []
101
- : fields.map((f) => this.fieldInfo2Key(f, resolver)));
102
- rows.forEach((result) => {
103
- rdh.addRow(result);
104
- });
105
- }
69
+ const [rows, fields] = await this.client.execute(sql, binds);
70
+ try {
71
+ if (fields === undefined) {
72
+ const results = rows;
73
+ rdh = new ResultSetDataHolder([
74
+ 'fieldCount',
75
+ 'affectedRows',
76
+ 'insertId',
77
+ 'serverStatus',
78
+ 'warningStatus',
79
+ 'changedRows',
80
+ ]);
81
+ rdh.addRow({
82
+ fieldCount: results.fieldCount,
83
+ affectedRows: results.affectedRows,
84
+ insertId: results.insertId,
85
+ serverStatus: results.serverStatus,
86
+ warningStatus: results.warningStatus,
87
+ changedRows: results.changedRows,
88
+ });
106
89
  }
107
- catch (err) {
108
- rdh = ResultSetDataHolder_1.default.create(err);
90
+ else {
91
+ rdh = new ResultSetDataHolder(fields === undefined
92
+ ? []
93
+ : fields.map((f) => this.fieldInfo2Key(f, resolver)));
94
+ rows.forEach((result) => {
95
+ rdh.addRow(result);
96
+ });
109
97
  }
110
98
  }
111
- else {
112
- new Error('No connection');
99
+ catch (err) {
100
+ rdh = ResultSetDataHolder.create(err);
113
101
  }
114
- return rdh;
115
- });
102
+ }
103
+ else {
104
+ new Error('No connection');
105
+ }
106
+ return rdh;
116
107
  }
117
- countTables(tables, options) {
118
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
119
- const list = new Array();
120
- let counter = 1;
121
- for (const st of tables.list) {
122
- let prefix = '';
123
- if (st.schema) {
124
- prefix = st.schema + '.';
125
- }
126
- if (options && options.progress_callback) {
127
- if (counter % 5 === 0) {
128
- options.progress_callback(`Count ${prefix}${st.table}`, 70);
129
- }
130
- }
131
- const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
132
- try {
133
- const [results] = yield this.client.query(sql, []);
134
- if (results && results.length > 0) {
135
- const row = results[0];
136
- const obj = Object.assign({ count: row.count }, st);
137
- list.push(obj);
138
- }
108
+ async countTables(tables, options) {
109
+ const list = new Array();
110
+ let counter = 1;
111
+ for (const st of tables.list) {
112
+ let prefix = '';
113
+ if (st.schema) {
114
+ prefix = st.schema + '.';
115
+ }
116
+ if (options && options.progress_callback) {
117
+ if (counter % 5 === 0) {
118
+ options.progress_callback(`Count ${prefix}${st.table}`, 70);
139
119
  }
140
- catch (e) {
141
- console.error(e);
120
+ }
121
+ const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
122
+ try {
123
+ const [results] = await this.client.query(sql, []);
124
+ if (results && results.length > 0) {
125
+ const row = results[0];
126
+ const obj = Object.assign({ count: row.count }, st);
127
+ list.push(obj);
142
128
  }
143
- counter++;
144
129
  }
145
- return list;
146
- });
147
- }
148
- getInfomationSchemas(options) {
149
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
150
- if (!this.conRes) {
151
- return [];
130
+ catch (e) {
131
+ console.error(e);
152
132
  }
153
- const dbResources = new Array();
154
- const dbDatabase = new DbResource_1.DbDatabase(this.conRes.database);
155
- dbResources.push(dbDatabase);
156
- let progress = 10;
133
+ counter++;
134
+ }
135
+ return list;
136
+ }
137
+ async getInfomationSchemas(options) {
138
+ if (!this.conRes) {
139
+ return [];
140
+ }
141
+ const dbResources = new Array();
142
+ const dbDatabase = new DbDatabase(this.conRes.database);
143
+ dbResources.push(dbDatabase);
144
+ let progress = 10;
145
+ if (options.progress_callback) {
146
+ options.progress_callback(`${dbResources.length} Databases found.`, progress);
147
+ }
148
+ const dbSchemas = await this.getSchemas(dbDatabase);
149
+ dbSchemas.forEach((res) => {
150
+ dbDatabase.addChild(res);
151
+ });
152
+ this.resetDefaultSchema(dbDatabase);
153
+ progress = 30;
154
+ if (options.progress_callback) {
155
+ options.progress_callback(`${dbSchemas.length} Schemas found.`, progress);
156
+ }
157
+ const incrPerSchema = Math.round(20 / dbSchemas.length);
158
+ for (const dbSchema of dbSchemas) {
159
+ const dbTables = await this.getTables(dbSchema);
160
+ dbTables.forEach((res) => dbSchema.addChild(res));
157
161
  if (options.progress_callback) {
158
- options.progress_callback(`${dbResources.length} Databases found.`, progress);
162
+ progress += incrPerSchema;
163
+ options.progress_callback(`${dbTables.length} Tables found in Schema[${dbSchema.getName()}].`, progress);
159
164
  }
160
- const dbSchemas = yield this.getSchemas(dbDatabase);
161
- dbSchemas.forEach((res) => {
162
- dbDatabase.addChild(res);
163
- });
164
- this.resetDefaultSchema(dbDatabase);
165
- progress = 30;
165
+ }
166
+ for (const dbSchema of dbSchemas) {
166
167
  if (options.progress_callback) {
167
- options.progress_callback(`${dbSchemas.length} Schemas found.`, progress);
168
+ progress += incrPerSchema;
169
+ options.progress_callback(`Commnets finding now... in Schema[${dbSchema.getName()}].`, progress);
168
170
  }
169
- const incrPerSchema = Math.round(20 / dbSchemas.length);
170
- for (const dbSchema of dbSchemas) {
171
- const dbTables = yield this.getTables(dbSchema);
172
- dbTables.forEach((res) => dbSchema.addChild(res));
173
- if (options.progress_callback) {
174
- progress += incrPerSchema;
175
- options.progress_callback(`${dbTables.length} Tables found in Schema[${dbSchema.getName()}].`, progress);
176
- }
171
+ for (const dbTable of dbSchema.getChildren()) {
172
+ const dbColumns = await this.getColumns(dbTable);
173
+ dbColumns.forEach((res) => dbTable.addChild(res));
177
174
  }
178
- for (const dbSchema of dbSchemas) {
179
- if (options.progress_callback) {
180
- progress += incrPerSchema;
181
- options.progress_callback(`Commnets finding now... in Schema[${dbSchema.getName()}].`, progress);
182
- }
183
- for (const dbTable of dbSchema.getChildren()) {
184
- const dbColumns = yield this.getColumns(dbTable);
185
- dbColumns.forEach((res) => dbTable.addChild(res));
186
- }
187
- }
188
- return dbResources;
189
- });
175
+ }
176
+ return dbResources;
190
177
  }
191
- getSchemas(dbDatabase) {
192
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
193
- const rdh = yield this.requestSql(`SELECT SCHEMA_NAME AS name
178
+ async getSchemas(dbDatabase) {
179
+ const rdh = await this.requestSql(`SELECT SCHEMA_NAME AS name
194
180
  FROM INFORMATION_SCHEMA.SCHEMATA
195
181
  WHERE LOWER(SCHEMA_NAME) NOT IN ('information_schema', 'sys', 'performance_schema')
196
182
  ORDER BY name`);
197
- return rdh.rows.map((r) => {
198
- const res = new DbResource_1.DbSchema(r.values.name);
199
- return res;
200
- });
183
+ return rdh.rows.map((r) => {
184
+ const res = new DbSchema(r.values.name);
185
+ return res;
201
186
  });
202
187
  }
203
- getTables(dbSchema) {
204
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
205
- const rdh = yield this
206
- .requestSql(`SELECT TABLE_NAME as name, CASE TABLE_TYPE
188
+ async getTables(dbSchema) {
189
+ const rdh = await this
190
+ .requestSql(`SELECT TABLE_NAME as name, CASE TABLE_TYPE
207
191
  WHEN 'BASE TABLE' THEN 'TABLE'
208
192
  WHEN 'SYSTEM VIEW' THEN 'VIEW'
209
193
  ELSE 'TABLE' END AS table_type,
210
194
  TABLE_COMMENT as comment
211
195
  FROM INFORMATION_SCHEMA.TABLES
212
196
  WHERE TABLE_SCHEMA = '${dbSchema.getName()}' `);
213
- return rdh.rows.map((r) => {
214
- const res = new DbResource_1.DbTable(r.values.name, r.values.table_type, r.values.comment);
215
- return res;
216
- });
197
+ return rdh.rows.map((r) => {
198
+ const res = new DbTable(r.values.name, r.values.table_type, r.values.comment);
199
+ return res;
217
200
  });
218
201
  }
219
- getColumns(dbTable) {
220
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
221
- const binds = [dbTable.getParent().getName(), dbTable.getName()];
222
- const rdh = yield this.requestSql(`SELECT COLUMN_NAME as name,
202
+ async getColumns(dbTable) {
203
+ const binds = [dbTable.getParent().getName(), dbTable.getName()];
204
+ const rdh = await this.requestSql(`SELECT COLUMN_NAME as name,
223
205
  DATA_TYPE as col_type,
224
206
  CASE WHEN IS_NULLABLE = 'YES' THEN 1 ELSE 0 END as nullable,
225
207
  COLUMN_KEY as col_key,
@@ -228,31 +210,27 @@ class MySQLDriver extends BaseDriver_1.default {
228
210
  COLUMN_COMMENT as comment
229
211
  FROM INFORMATION_SCHEMA.COLUMNS
230
212
  WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?`, { binds });
231
- return rdh.rows.map((r) => {
232
- const type_name = enum_values_1.EnumValues.getNameFromValue(MySQLColumnType_1.MySQLColumnType, MySQLColumnType_1.MySQLColumnType.parse(r.values.col_type));
233
- const res = new DbResource_1.DbColumn(r.values.name, GeneralColumnType_1.GeneralColumnType.parse(type_name), {
234
- nullable: r.values.nullable === 1,
235
- key: r.values.col_key,
236
- default: r.values.col_default,
237
- extra: r.values.col_extra,
238
- }, r.values.comment);
239
- return res;
240
- });
213
+ return rdh.rows.map((r) => {
214
+ const type_name = EnumValues.getNameFromValue(MySQLColumnType, MySQLColumnType.parse(r.values.col_type));
215
+ const res = new DbColumn(r.values.name, GeneralColumnType.parse(type_name), {
216
+ nullable: r.values.nullable === 1,
217
+ key: r.values.col_key,
218
+ default: r.values.col_default,
219
+ extra: r.values.col_extra,
220
+ }, r.values.comment);
221
+ return res;
241
222
  });
242
223
  }
243
- closeSub() {
244
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
245
- try {
246
- if (this.client) {
247
- yield this.client.end();
248
- }
249
- return '';
250
- }
251
- catch (e) {
252
- return e.message;
224
+ async closeSub() {
225
+ try {
226
+ if (this.client) {
227
+ await this.client.end();
253
228
  }
254
- });
229
+ return '';
230
+ }
231
+ catch (e) {
232
+ return e.message;
233
+ }
255
234
  }
256
235
  }
257
- exports.default = MySQLDriver;
258
236
  //# sourceMappingURL=MySQLDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}