@l-v-yonsama/multi-platform-database-drivers 1.3.0 → 2.0.0

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 (267) hide show
  1. package/README.md +40 -0
  2. package/built/src/drivers/Auth0Driver.js +9 -9
  3. package/built/src/drivers/Auth0Driver.js.map +1 -1
  4. package/built/src/drivers/AwsDriver.js +3 -3
  5. package/built/src/drivers/AwsDriver.js.map +1 -1
  6. package/built/src/drivers/BaseDriver.d.ts +1 -1
  7. package/built/src/drivers/BaseDriver.js +4 -6
  8. package/built/src/drivers/BaseDriver.js.map +1 -1
  9. package/built/src/drivers/DBDriverResolver.js.map +1 -1
  10. package/built/src/drivers/DBError.js.map +1 -1
  11. package/built/src/drivers/KeycloakDriver.d.ts +2 -3
  12. package/built/src/drivers/KeycloakDriver.js +27 -262
  13. package/built/src/drivers/KeycloakDriver.js.map +1 -1
  14. package/built/src/drivers/MemcacheDriver.d.ts +0 -1
  15. package/built/src/drivers/MemcacheDriver.js +5 -5
  16. package/built/src/drivers/MemcacheDriver.js.map +1 -1
  17. package/built/src/drivers/MqttDriver.d.ts +0 -1
  18. package/built/src/drivers/MqttDriver.js +4 -4
  19. package/built/src/drivers/MqttDriver.js.map +1 -1
  20. package/built/src/drivers/MySQLDriver.js +12 -12
  21. package/built/src/drivers/MySQLDriver.js.map +1 -1
  22. package/built/src/drivers/OracleDriver.js +13 -13
  23. package/built/src/drivers/OracleDriver.js.map +1 -1
  24. package/built/src/drivers/PostgresDriver.js +22 -2
  25. package/built/src/drivers/PostgresDriver.js.map +1 -1
  26. package/built/src/drivers/RDSBaseDriver.d.ts +1 -1
  27. package/built/src/drivers/RDSBaseDriver.js +6 -6
  28. package/built/src/drivers/RDSBaseDriver.js.map +1 -1
  29. package/built/src/drivers/RedisDriver.js +2 -2
  30. package/built/src/drivers/RedisDriver.js.map +1 -1
  31. package/built/src/drivers/SQLServerDriver.js +7 -7
  32. package/built/src/drivers/SQLServerDriver.js.map +1 -1
  33. package/built/src/drivers/SQLiteDriver.d.ts +1 -1
  34. package/built/src/drivers/SQLiteDriver.js +7 -7
  35. package/built/src/drivers/SQLiteDriver.js.map +1 -1
  36. package/built/src/drivers/aws/AwsCloudFormationServiceClient.js +2 -2
  37. package/built/src/drivers/aws/AwsCloudFormationServiceClient.js.map +1 -1
  38. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js +3 -3
  39. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -1
  40. package/built/src/drivers/aws/AwsDynamoServiceClient.js +7 -7
  41. package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
  42. package/built/src/drivers/aws/AwsS3ServiceClient.js +24 -24
  43. package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
  44. package/built/src/drivers/aws/AwsSESServiceClient.js.map +1 -1
  45. package/built/src/drivers/aws/AwsSQSServiceClient.js +8 -8
  46. package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
  47. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js +1 -1
  48. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js.map +1 -1
  49. package/built/src/drivers/aws/AwsServiceClient.js +2 -2
  50. package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
  51. package/built/src/drivers/aws/AwsSsmServiceClient.js +1 -1
  52. package/built/src/drivers/aws/AwsSsmServiceClient.js.map +1 -1
  53. package/built/src/drivers/keycloak/resourceTreeBuilder.d.ts +5 -0
  54. package/built/src/drivers/keycloak/resourceTreeBuilder.js +37 -0
  55. package/built/src/drivers/keycloak/resourceTreeBuilder.js.map +1 -0
  56. package/built/src/drivers/keycloak/scanResultBuilder.d.ts +8 -0
  57. package/built/src/drivers/keycloak/scanResultBuilder.js +212 -0
  58. package/built/src/drivers/keycloak/scanResultBuilder.js.map +1 -0
  59. package/built/src/drivers/memcache/helper.d.ts +0 -1
  60. package/built/src/drivers/memcache/helper.js +13 -14
  61. package/built/src/drivers/memcache/helper.js.map +1 -1
  62. package/built/src/helpers/ProposalHelper.js +3 -3
  63. package/built/src/helpers/ProposalHelper.js.map +1 -1
  64. package/built/src/helpers/RdhRecordRuleHelper.js.map +1 -1
  65. package/built/src/helpers/RuleEngine.d.ts +5 -5
  66. package/built/src/helpers/RuleEngine.js +14 -14
  67. package/built/src/helpers/RuleEngine.js.map +1 -1
  68. package/built/src/helpers/SQLHelper.d.ts +8 -115
  69. package/built/src/helpers/SQLHelper.js +35 -1084
  70. package/built/src/helpers/SQLHelper.js.map +1 -1
  71. package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -1
  72. package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -1
  73. package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -1
  74. package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -1
  75. package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -1
  76. package/built/src/helpers/prompts/RdsPromptHelper.js +1 -1
  77. package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -1
  78. package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -1
  79. package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -1
  80. package/built/src/helpers/sql/dynamoConversion.d.ts +2 -0
  81. package/built/src/helpers/sql/dynamoConversion.js +27 -0
  82. package/built/src/helpers/sql/dynamoConversion.js.map +1 -0
  83. package/built/src/helpers/sql/formatQuery.d.ts +6 -0
  84. package/built/src/helpers/sql/formatQuery.js +45 -0
  85. package/built/src/helpers/sql/formatQuery.js.map +1 -0
  86. package/built/src/helpers/sql/mutationQuery.d.ts +54 -0
  87. package/built/src/helpers/sql/mutationQuery.js +250 -0
  88. package/built/src/helpers/sql/mutationQuery.js.map +1 -0
  89. package/built/src/helpers/sql/parameterNormalizer.d.ts +16 -0
  90. package/built/src/helpers/sql/parameterNormalizer.js +166 -0
  91. package/built/src/helpers/sql/parameterNormalizer.js.map +1 -0
  92. package/built/src/helpers/sql/queryParser.d.ts +6 -0
  93. package/built/src/helpers/sql/queryParser.js +239 -0
  94. package/built/src/helpers/sql/queryParser.js.map +1 -0
  95. package/built/src/helpers/sql/quote.d.ts +17 -0
  96. package/built/src/helpers/sql/quote.js +140 -0
  97. package/built/src/helpers/sql/quote.js.map +1 -0
  98. package/built/src/helpers/sql/selectQuery.d.ts +24 -0
  99. package/built/src/helpers/sql/selectQuery.js +262 -0
  100. package/built/src/helpers/sql/selectQuery.js.map +1 -0
  101. package/built/src/resource/aws.d.ts +106 -0
  102. package/built/src/resource/aws.js +219 -0
  103. package/built/src/resource/aws.js.map +1 -0
  104. package/built/src/resource/base.d.ts +28 -0
  105. package/built/src/resource/base.js +76 -0
  106. package/built/src/resource/base.js.map +1 -0
  107. package/built/src/resource/connection.d.ts +35 -0
  108. package/built/src/resource/connection.js +52 -0
  109. package/built/src/resource/connection.js.map +1 -0
  110. package/built/src/resource/fromJson.d.ts +2 -0
  111. package/built/src/resource/fromJson.js +125 -0
  112. package/built/src/resource/fromJson.js.map +1 -0
  113. package/built/src/resource/iam.d.ts +70 -0
  114. package/built/src/resource/iam.js +175 -0
  115. package/built/src/resource/iam.js.map +1 -0
  116. package/built/src/resource/index.d.ts +8 -1
  117. package/built/src/resource/index.js +8 -1
  118. package/built/src/resource/index.js.map +1 -1
  119. package/built/src/resource/keyValue.d.ts +85 -0
  120. package/built/src/resource/keyValue.js +74 -0
  121. package/built/src/resource/keyValue.js.map +1 -0
  122. package/built/src/resource/rdb.d.ts +49 -0
  123. package/built/src/resource/rdb.js +155 -0
  124. package/built/src/resource/rdb.js.map +1 -0
  125. package/built/src/resource/types.d.ts +18 -0
  126. package/built/src/resource/types.js +3 -0
  127. package/built/src/resource/types.js.map +1 -0
  128. package/built/src/types/drivers/Keycloak.js +1 -1
  129. package/built/src/types/drivers/Keycloak.js.map +1 -1
  130. package/built/src/types/drivers/MemcachedParams.d.ts +0 -1
  131. package/built/src/types/helpers/index.js +1 -1
  132. package/built/src/types/helpers/index.js.map +1 -1
  133. package/built/src/types/resource/AwsCfnStackAttributes.d.ts +1 -1
  134. package/built/src/types/resource/MySQLColumnType.js +2 -2
  135. package/built/src/types/resource/MySQLColumnType.js.map +1 -1
  136. package/built/src/types/resource/OracleColumnType.js +2 -2
  137. package/built/src/types/resource/OracleColumnType.js.map +1 -1
  138. package/built/src/types/resource/PartiQLAttrType.js.map +1 -1
  139. package/built/src/types/resource/PostgresColumnType.js +2 -2
  140. package/built/src/types/resource/PostgresColumnType.js.map +1 -1
  141. package/built/src/types/resource/SQLServerColumnType.js +2 -2
  142. package/built/src/types/resource/SQLServerColumnType.js.map +1 -1
  143. package/built/src/types/utils/index.js +2 -2
  144. package/built/src/types/utils/index.js.map +1 -1
  145. package/built/src/utils/base.js +1 -1
  146. package/built/src/utils/base.js.map +1 -1
  147. package/built/src/utils/cfn/applicationDiagram.js +52 -12
  148. package/built/src/utils/cfn/applicationDiagram.js.map +1 -1
  149. package/built/src/utils/cfn/applicationRelations.d.ts +1 -1
  150. package/built/src/utils/cfn/applicationRelations.js +107 -15
  151. package/built/src/utils/cfn/applicationRelations.js.map +1 -1
  152. package/built/src/utils/cfn/cfnDependencyGraphDiagram.js.map +1 -1
  153. package/built/src/utils/cfn/{architectureTopology.d.ts → deploymentTopology.d.ts} +5 -1
  154. package/built/src/utils/cfn/{architectureTopology.js → deploymentTopology.js} +127 -13
  155. package/built/src/utils/cfn/deploymentTopology.js.map +1 -0
  156. package/built/src/utils/cfn/diagramFileModel.js.map +1 -1
  157. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.d.ts +3 -0
  158. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js +174 -0
  159. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js.map +1 -0
  160. package/built/src/utils/cfn/drawio/commonCells.d.ts +22 -0
  161. package/built/src/utils/cfn/drawio/commonCells.js +83 -0
  162. package/built/src/utils/cfn/drawio/commonCells.js.map +1 -0
  163. package/built/src/utils/cfn/drawio/edgeRouting.d.ts +34 -0
  164. package/built/src/utils/cfn/drawio/edgeRouting.js +77 -0
  165. package/built/src/utils/cfn/drawio/edgeRouting.js.map +1 -0
  166. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.d.ts +3 -0
  167. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js +812 -0
  168. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js.map +1 -0
  169. package/built/src/utils/cfn/drawioApplicationDiagram.d.ts +1 -0
  170. package/built/src/utils/cfn/drawioApplicationDiagram.js +290 -32
  171. package/built/src/utils/cfn/drawioApplicationDiagram.js.map +1 -1
  172. package/built/src/utils/cfn/drawioInfrastructureDiagrams.d.ts +2 -4
  173. package/built/src/utils/cfn/drawioInfrastructureDiagrams.js +7 -441
  174. package/built/src/utils/cfn/drawioInfrastructureDiagrams.js.map +1 -1
  175. package/built/src/utils/cfn/drawioXml.d.ts +0 -24
  176. package/built/src/utils/cfn/drawioXml.js +5 -47
  177. package/built/src/utils/cfn/drawioXml.js.map +1 -1
  178. package/built/src/utils/cfn/generateDiagram.js +3 -4
  179. package/built/src/utils/cfn/generateDiagram.js.map +1 -1
  180. package/built/src/utils/cfn/icons.js.map +1 -1
  181. package/built/src/utils/cfn/index.d.ts +4 -4
  182. package/built/src/utils/cfn/index.js +9 -8
  183. package/built/src/utils/cfn/index.js.map +1 -1
  184. package/built/src/utils/cfn/intrinsics.d.ts +1 -1
  185. package/built/src/utils/cfn/intrinsics.js.map +1 -1
  186. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.d.ts +27 -0
  187. package/built/src/utils/cfn/{multiAzDeploymentDataPaths.js → multiAzDeploymentTrafficPathsAndProtection.js} +162 -10
  188. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js.map +1 -0
  189. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.d.ts +2 -0
  190. package/built/src/utils/cfn/{architectureDiagram.js → multiAzDeploymentTrafficPathsAndProtectionDiagram.js} +82 -34
  191. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map +1 -0
  192. package/built/src/utils/cfn/naming.d.ts +2 -1
  193. package/built/src/utils/cfn/naming.js +3 -3
  194. package/built/src/utils/cfn/naming.js.map +1 -1
  195. package/built/src/utils/cfn/resourceDependencies.js.map +1 -1
  196. package/built/src/utils/cfn/templateParsing.js +11 -26
  197. package/built/src/utils/cfn/templateParsing.js.map +1 -1
  198. package/built/src/utils/csv.js.map +1 -1
  199. package/built/src/utils/dbType.js.map +1 -1
  200. package/built/src/utils/diagramLayout/elkLayoutEngine.d.ts +3 -0
  201. package/built/src/utils/diagramLayout/elkLayoutEngine.js +199 -0
  202. package/built/src/utils/diagramLayout/elkLayoutEngine.js.map +1 -0
  203. package/built/src/utils/diagramLayout/index.d.ts +4 -0
  204. package/built/src/utils/diagramLayout/index.js +13 -0
  205. package/built/src/utils/diagramLayout/index.js.map +1 -0
  206. package/built/src/utils/diagramLayout/normalizeLayout.d.ts +33 -0
  207. package/built/src/utils/diagramLayout/normalizeLayout.js +116 -0
  208. package/built/src/utils/diagramLayout/normalizeLayout.js.map +1 -0
  209. package/built/src/utils/diagramLayout/types.d.ts +64 -0
  210. package/built/src/utils/diagramLayout/types.js +3 -0
  211. package/built/src/utils/diagramLayout/types.js.map +1 -0
  212. package/built/src/utils/drawio/drawioXml.d.ts +24 -0
  213. package/built/src/utils/drawio/drawioXml.js +47 -0
  214. package/built/src/utils/drawio/drawioXml.js.map +1 -0
  215. package/built/src/utils/drawio/index.d.ts +2 -0
  216. package/built/src/utils/drawio/index.js +10 -0
  217. package/built/src/utils/drawio/index.js.map +1 -0
  218. package/built/src/utils/driverUtil.d.ts +1 -1
  219. package/built/src/utils/driverUtil.js.map +1 -1
  220. package/built/src/utils/er/erDiagramDrawioGenerator.d.ts +26 -0
  221. package/built/src/utils/er/erDiagramDrawioGenerator.js +99 -0
  222. package/built/src/utils/er/erDiagramDrawioGenerator.js.map +1 -0
  223. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.d.ts +2 -0
  224. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js +103 -0
  225. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js.map +1 -0
  226. package/built/src/utils/er/erDiagramGenerator.d.ts +7 -0
  227. package/built/src/utils/er/erDiagramGenerator.js +321 -0
  228. package/built/src/utils/er/erDiagramGenerator.js.map +1 -0
  229. package/built/src/utils/er/index.d.ts +4 -0
  230. package/built/src/utils/er/index.js +13 -0
  231. package/built/src/utils/er/index.js.map +1 -0
  232. package/built/src/utils/er/types.d.ts +31 -0
  233. package/built/src/utils/er/types.js +3 -0
  234. package/built/src/utils/er/types.js.map +1 -0
  235. package/built/src/utils/index.d.ts +1 -0
  236. package/built/src/utils/index.js +1 -0
  237. package/built/src/utils/index.js.map +1 -1
  238. package/built/src/utils/log/LogParser.js.map +1 -1
  239. package/built/src/utils/log/buildSqlExecutions.js +3 -4
  240. package/built/src/utils/log/buildSqlExecutions.js.map +1 -1
  241. package/built/src/utils/log/classify/classifyEvent.js +2 -3
  242. package/built/src/utils/log/classify/classifyEvent.js.map +1 -1
  243. package/built/src/utils/log/detect/presetDetector.js +4 -5
  244. package/built/src/utils/log/detect/presetDetector.js.map +1 -1
  245. package/built/src/utils/log/extract/runExtractors.js +1 -2
  246. package/built/src/utils/log/extract/runExtractors.js.map +1 -1
  247. package/built/src/utils/log/logSummary.js +5 -5
  248. package/built/src/utils/log/logSummary.js.map +1 -1
  249. package/built/src/utils/log/pattern/logEventPattern.js +2 -3
  250. package/built/src/utils/log/pattern/logEventPattern.js.map +1 -1
  251. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js +2 -3
  252. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -1
  253. package/built/src/utils/log/split/splitLogEvents.js +1 -2
  254. package/built/src/utils/log/split/splitLogEvents.js.map +1 -1
  255. package/built/src/utils/log/sql/removeSqlComments.js +2 -3
  256. package/built/src/utils/log/sql/removeSqlComments.js.map +1 -1
  257. package/built/src/utils/log/validator.js +8 -5
  258. package/built/src/utils/log/validator.js.map +1 -1
  259. package/package.json +13 -9
  260. package/built/src/resource/DbResource.d.ts +0 -373
  261. package/built/src/resource/DbResource.js +0 -836
  262. package/built/src/resource/DbResource.js.map +0 -1
  263. package/built/src/utils/cfn/architectureDiagram.d.ts +0 -3
  264. package/built/src/utils/cfn/architectureDiagram.js.map +0 -1
  265. package/built/src/utils/cfn/architectureTopology.js.map +0 -1
  266. package/built/src/utils/cfn/multiAzDeploymentDataPaths.d.ts +0 -27
  267. package/built/src/utils/cfn/multiAzDeploymentDataPaths.js.map +0 -1
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toDeleteStatement = exports.toUpdateStatement = exports.toInsertStatement = exports.createUndoChangeSQL = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const rdh_1 = require("@l-v-yonsama/rdh");
6
+ const os = tslib_1.__importStar(require("os"));
7
+ const quote_1 = require("./quote");
8
+ const createUndoChangeSQL = ({ schemaName, tableName, columns, diffResult, bindOption, quote, sqlLang, idQuoteCharacter, }) => {
9
+ const { ok, toBeInserted, toBeUpdated, toBeDeleted } = diffResult;
10
+ if (!ok) {
11
+ return [];
12
+ }
13
+ const list = [];
14
+ list.push(...toBeInserted.map((it) => (0, exports.toInsertStatement)({
15
+ schemaName,
16
+ tableName,
17
+ columns,
18
+ values: it.values,
19
+ bindOption,
20
+ compactSql: true,
21
+ quote,
22
+ sqlLang,
23
+ idQuoteCharacter,
24
+ })));
25
+ list.push(...toBeUpdated.map((it) => (0, exports.toUpdateStatement)({
26
+ schemaName,
27
+ tableName,
28
+ columns,
29
+ values: it.values,
30
+ conditions: it.conditions,
31
+ bindOption,
32
+ quote,
33
+ sqlLang,
34
+ idQuoteCharacter,
35
+ })));
36
+ list.push(...toBeDeleted.map((it) => (0, exports.toDeleteStatement)({
37
+ schemaName,
38
+ tableName,
39
+ columns,
40
+ conditions: it.conditions,
41
+ bindOption,
42
+ quote,
43
+ sqlLang,
44
+ idQuoteCharacter,
45
+ })));
46
+ return list;
47
+ };
48
+ exports.createUndoChangeSQL = createUndoChangeSQL;
49
+ const toInsertStatement = ({ schemaName, tableName, tableComment, columns, values, bindOption, withComment, compactSql, quote, idQuoteCharacter, sqlLang, }) => {
50
+ const tableNameWithSchema = (0, quote_1.createTableNameWithSchema)({
51
+ schema: schemaName,
52
+ table: tableName,
53
+ idQuoteCharacter,
54
+ sqlLang,
55
+ });
56
+ const { specifyValuesWithBindParameters, toPositionedParameter, toPositionalCharacter, } = bindOption;
57
+ const pChar = toPositionalCharacter !== null && toPositionalCharacter !== void 0 ? toPositionalCharacter : '$';
58
+ const binds = [];
59
+ const embdeddedValues = [];
60
+ const columnComments = [];
61
+ const columnNames = [];
62
+ const placeHolders = [];
63
+ let index = 0;
64
+ Object.keys(values).forEach((key) => {
65
+ var _a;
66
+ const column = columns.find((it) => (0, rdh_1.equalsIgnoreCase)(it.name, key));
67
+ const colType = (_a = column === null || column === void 0 ? void 0 : column.type) !== null && _a !== void 0 ? _a : rdh_1.GeneralColumnType.UNKNOWN;
68
+ columnNames.push(`${quote ? (0, quote_1.wrapQuote)(key, '`') : key}`);
69
+ if (specifyValuesWithBindParameters) {
70
+ const value = (0, quote_1.toBindValue)(colType, values[key]);
71
+ binds.push(value);
72
+ placeHolders.push(toPositionedParameter === true ? `${pChar}${index + 1}` : '?');
73
+ index++;
74
+ }
75
+ else {
76
+ embdeddedValues.push((0, quote_1.toEmbeddedStringValue)(colType, values[key]));
77
+ }
78
+ if (column === null || column === void 0 ? void 0 : column.comment) {
79
+ columnComments.push(`${column === null || column === void 0 ? void 0 : column.comment} [${colType}]`);
80
+ }
81
+ else {
82
+ columnComments.push(`${key} [${colType}]`);
83
+ }
84
+ });
85
+ let query = '';
86
+ if (withComment && tableComment) {
87
+ query += `-- ${tableComment + os.EOL}`;
88
+ }
89
+ if (compactSql) {
90
+ if (sqlLang === 'partiql') {
91
+ query += `INSERT INTO ${tableNameWithSchema} VALUE {${columnNames
92
+ .map((it, idx) => `${(0, quote_1.wrapSingleQuote)(it)}: ${specifyValuesWithBindParameters
93
+ ? placeHolders[idx]
94
+ : embdeddedValues[idx]}`)
95
+ .join(',' + os.EOL)}}`;
96
+ }
97
+ else {
98
+ query += `INSERT INTO ${tableNameWithSchema} (${columnNames.join(',')}) VALUES (${specifyValuesWithBindParameters
99
+ ? placeHolders.join(',')
100
+ : embdeddedValues.join(',')})`;
101
+ }
102
+ }
103
+ else {
104
+ if (sqlLang === 'partiql') {
105
+ query += `INSERT INTO ${tableNameWithSchema} ${os.EOL}`;
106
+ query += `VALUE {${os.EOL}`;
107
+ if (specifyValuesWithBindParameters) {
108
+ for (let i = 0; i < placeHolders.length; i++) {
109
+ query += ` ${(0, quote_1.wrapSingleQuote)(columnNames[i])}: ${placeHolders[i]}${i < placeHolders.length - 1 ? ',' : ''}${withComment ? ' -- ' + columnComments[i] : ''}${os.EOL}`;
110
+ }
111
+ }
112
+ else {
113
+ for (let i = 0; i < embdeddedValues.length; i++) {
114
+ query += ` ${(0, quote_1.wrapSingleQuote)(columnNames[i])}: ${embdeddedValues[i]}${i < embdeddedValues.length - 1 ? ',' : ''}${withComment ? ' -- ' + columnComments[i] : ''}${os.EOL}`;
115
+ }
116
+ }
117
+ query += `}${os.EOL}`;
118
+ }
119
+ else {
120
+ query += `INSERT INTO ${tableNameWithSchema + os.EOL} (${os.EOL} `;
121
+ query += `${columnNames.join(',' + os.EOL + ' ')}${os.EOL}`;
122
+ query += `) VALUES (${os.EOL}`;
123
+ if (specifyValuesWithBindParameters) {
124
+ for (let i = 0; i < placeHolders.length; i++) {
125
+ query += ` ${placeHolders[i]}${i < placeHolders.length - 1 ? ',' : ''}${withComment ? ' -- ' + columnComments[i] : ''}${os.EOL}`;
126
+ }
127
+ }
128
+ else {
129
+ for (let i = 0; i < embdeddedValues.length; i++) {
130
+ query += ` ${embdeddedValues[i]}${i < embdeddedValues.length - 1 ? ',' : ''}${withComment ? ' -- ' + columnComments[i] : ''}${os.EOL}`;
131
+ }
132
+ }
133
+ query += `)${os.EOL}`;
134
+ }
135
+ }
136
+ return {
137
+ query,
138
+ binds,
139
+ };
140
+ };
141
+ exports.toInsertStatement = toInsertStatement;
142
+ const toUpdateStatement = ({ schemaName, tableName, columns, values, conditions, bindOption, quote, idQuoteCharacter, sqlLang, }) => {
143
+ const tableNameWithSchema = (0, quote_1.createTableNameWithSchema)({
144
+ schema: schemaName,
145
+ table: tableName,
146
+ idQuoteCharacter,
147
+ sqlLang,
148
+ });
149
+ const { specifyValuesWithBindParameters, toPositionedParameter, toPositionalCharacter, } = bindOption;
150
+ const pChar = toPositionalCharacter !== null && toPositionalCharacter !== void 0 ? toPositionalCharacter : '$';
151
+ const binds = [];
152
+ const setList = [];
153
+ const conditionList = [];
154
+ let index = 0;
155
+ Object.keys(values).forEach((key) => {
156
+ var _a, _b;
157
+ const colType = (_b = (_a = columns.find((it) => (0, rdh_1.equalsIgnoreCase)(it.name, key))) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : rdh_1.GeneralColumnType.UNKNOWN;
158
+ if (sqlLang === 'partiql') {
159
+ if (specifyValuesWithBindParameters) {
160
+ setList.push(`${(0, quote_1.wrapDoubleQuote)(key)} = ${toPositionedParameter === true ? `${pChar}${index + 1}` : '?'}`);
161
+ binds.push((0, quote_1.toBindValue)(colType, values[key]));
162
+ index++;
163
+ }
164
+ else {
165
+ setList.push(`${(0, quote_1.wrapDoubleQuote)(key)} = ${(0, quote_1.toEmbeddedStringValue)(colType, values[key])}`);
166
+ }
167
+ }
168
+ else {
169
+ if (specifyValuesWithBindParameters) {
170
+ setList.push(`${quote ? (0, quote_1.wrapBackQuote)(key) : key} = ${toPositionedParameter === true ? `${pChar}${index + 1}` : '?'}`);
171
+ binds.push((0, quote_1.toBindValue)(colType, values[key]));
172
+ index++;
173
+ }
174
+ else {
175
+ setList.push(`${quote ? (0, quote_1.wrapBackQuote)(key) : key} = ${(0, quote_1.toEmbeddedStringValue)(colType, values[key])}`);
176
+ }
177
+ }
178
+ });
179
+ Object.keys(conditions).forEach((key) => {
180
+ var _a, _b;
181
+ const colType = (_b = (_a = columns.find((it) => (0, rdh_1.equalsIgnoreCase)(it.name, key))) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : rdh_1.GeneralColumnType.UNKNOWN;
182
+ if (sqlLang === 'partiql') {
183
+ if (specifyValuesWithBindParameters) {
184
+ conditionList.push(`${(0, quote_1.wrapDoubleQuote)(key)} = ${toPositionedParameter === true ? `$${index + 1}` : '?'}`);
185
+ binds.push((0, quote_1.toBindValue)(colType, conditions[key]));
186
+ index++;
187
+ }
188
+ else {
189
+ conditionList.push(`${(0, quote_1.wrapDoubleQuote)(key)} = ${(0, quote_1.toEmbeddedStringValue)(colType, conditions[key])}`);
190
+ }
191
+ }
192
+ else {
193
+ if (specifyValuesWithBindParameters) {
194
+ conditionList.push(`${quote ? (0, quote_1.wrapBackQuote)(key) : key} = ${toPositionedParameter === true ? `$${index + 1}` : '?'}`);
195
+ binds.push((0, quote_1.toBindValue)(colType, conditions[key]));
196
+ index++;
197
+ }
198
+ else {
199
+ conditionList.push(`${quote ? (0, quote_1.wrapBackQuote)(key) : key} = ${(0, quote_1.toEmbeddedStringValue)(colType, conditions[key])}`);
200
+ }
201
+ }
202
+ });
203
+ const query = `UPDATE ${tableNameWithSchema} SET ${setList.join(',')} WHERE ${conditionList.join(' AND ')}`;
204
+ return {
205
+ query,
206
+ binds,
207
+ };
208
+ };
209
+ exports.toUpdateStatement = toUpdateStatement;
210
+ const toDeleteStatement = ({ schemaName, tableName, columns, conditions, bindOption, quote, idQuoteCharacter, sqlLang, }) => {
211
+ const tableNameWithSchema = (0, quote_1.createTableNameWithSchema)({
212
+ schema: schemaName,
213
+ table: tableName,
214
+ idQuoteCharacter,
215
+ sqlLang,
216
+ });
217
+ const { specifyValuesWithBindParameters, toPositionedParameter, toPositionalCharacter, } = bindOption;
218
+ const pChar = toPositionalCharacter !== null && toPositionalCharacter !== void 0 ? toPositionalCharacter : '$';
219
+ const binds = [];
220
+ const conditionList = [];
221
+ Object.keys(conditions).forEach((key, index) => {
222
+ var _a, _b;
223
+ const colType = (_b = (_a = columns.find((it) => (0, rdh_1.equalsIgnoreCase)(it.name, key))) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : rdh_1.GeneralColumnType.UNKNOWN;
224
+ if (sqlLang === 'partiql') {
225
+ if (specifyValuesWithBindParameters) {
226
+ conditionList.push(`${(0, quote_1.wrapDoubleQuote)(key)} = ${toPositionedParameter === true ? `${pChar}${index + 1}` : '?'}`);
227
+ binds.push((0, quote_1.toBindValue)(colType, conditions[key]));
228
+ }
229
+ else {
230
+ conditionList.push(`${(0, quote_1.wrapDoubleQuote)(key)} = ${(0, quote_1.toEmbeddedStringValue)(colType, conditions[key])}`);
231
+ }
232
+ }
233
+ else {
234
+ if (specifyValuesWithBindParameters) {
235
+ conditionList.push(`${quote ? (0, quote_1.wrapBackQuote)(key) : key} = ${toPositionedParameter === true ? `${pChar}${index + 1}` : '?'}`);
236
+ binds.push((0, quote_1.toBindValue)(colType, conditions[key]));
237
+ }
238
+ else {
239
+ conditionList.push(`${quote ? (0, quote_1.wrapBackQuote)(key) : key} = ${(0, quote_1.toEmbeddedStringValue)(colType, conditions[key])}`);
240
+ }
241
+ }
242
+ });
243
+ const query = `DELETE FROM ${tableNameWithSchema} WHERE ${conditionList.join(' AND ')}`;
244
+ return {
245
+ query,
246
+ binds,
247
+ };
248
+ };
249
+ exports.toDeleteStatement = toDeleteStatement;
250
+ //# sourceMappingURL=mutationQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationQuery.js","sourceRoot":"","sources":["../../../../src/helpers/sql/mutationQuery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { QueryWithBindsResult } from '../../types';
2
+ export declare const normalizeQuery: ({ query, toPositionedParameter, toPositionalCharacter, bindParams, }: {
3
+ query: string;
4
+ toPositionedParameter?: boolean;
5
+ toPositionalCharacter?: string;
6
+ bindParams?: {
7
+ [key: string]: any;
8
+ };
9
+ }) => QueryWithBindsResult;
10
+ export declare const normalizePositionedParametersQuery: (query: string, bindParams?: {
11
+ [key: string]: any;
12
+ }, toPositionalCharacter?: string) => QueryWithBindsResult;
13
+ export declare const normalizeSimpleParametersQuery: (query: string, bindParams?: {
14
+ [key: string]: any;
15
+ }) => QueryWithBindsResult;
16
+ export declare const stripComment: (query: string) => string;
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stripComment = exports.normalizeSimpleParametersQuery = exports.normalizePositionedParametersQuery = exports.normalizeQuery = void 0;
4
+ const rdh_1 = require("@l-v-yonsama/rdh");
5
+ const normalizeQuery = ({ query, toPositionedParameter, toPositionalCharacter, bindParams, }) => {
6
+ if (toPositionedParameter) {
7
+ return (0, exports.normalizePositionedParametersQuery)(query, bindParams, toPositionalCharacter);
8
+ }
9
+ return (0, exports.normalizeSimpleParametersQuery)(query, bindParams);
10
+ };
11
+ exports.normalizeQuery = normalizeQuery;
12
+ const normalizePositionedParametersQuery = (query, bindParams, toPositionalCharacter) => {
13
+ let i = 0;
14
+ const nameWithPos = {};
15
+ const missingParams = new Set();
16
+ const pChar = toPositionalCharacter !== null && toPositionalCharacter !== void 0 ? toPositionalCharacter : '$';
17
+ const checkBindParam = (s) => {
18
+ if (bindParams && bindParams[s] === undefined) {
19
+ missingParams.add(s);
20
+ return false;
21
+ }
22
+ return true;
23
+ };
24
+ const getOrCreateSinglePosition = (word) => {
25
+ if (!nameWithPos[word]) {
26
+ nameWithPos[word] = {
27
+ firstPosition: ++i,
28
+ kind: 'single',
29
+ numOfBinds: 1,
30
+ };
31
+ }
32
+ return `${pChar}${nameWithPos[word].firstPosition}`;
33
+ };
34
+ const getOrCreateMultiplePosition = (word) => {
35
+ var _a, _b;
36
+ if (!nameWithPos[word]) {
37
+ const numOfBinds = bindParams ? (_b = (_a = bindParams[word]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0 : 0;
38
+ if (numOfBinds) {
39
+ ++i;
40
+ }
41
+ nameWithPos[word] = {
42
+ firstPosition: i,
43
+ kind: 'multiple',
44
+ numOfBinds,
45
+ };
46
+ if (numOfBinds > 1) {
47
+ i += numOfBinds - 1;
48
+ }
49
+ }
50
+ if (nameWithPos[word].numOfBinds === 0) {
51
+ return ' null ';
52
+ }
53
+ const list = [];
54
+ const first = nameWithPos[word].firstPosition;
55
+ for (let j = first; j < first + nameWithPos[word].numOfBinds; j++) {
56
+ list.push(`${pChar}${j}`);
57
+ }
58
+ return list.join(',');
59
+ };
60
+ const lines = (0, rdh_1.toLines)((0, exports.stripComment)(query));
61
+ const newLines = [];
62
+ lines.forEach((line) => {
63
+ const reg = /((?<!:):([a-zA-Z_$]\w*)\b)/gi;
64
+ const normalized = line.replace(reg, (substring, g1, g2, offset) => {
65
+ const before = line.slice(0, offset);
66
+ const inSingleQuote = (before.match(/'/g) || []).length % 2 !== 0;
67
+ const inDoubleQuote = (before.match(/"/g) || []).length % 2 !== 0;
68
+ if (inSingleQuote || inDoubleQuote) {
69
+ return substring;
70
+ }
71
+ if (g1) {
72
+ const word = g2;
73
+ const ok = checkBindParam(word);
74
+ if (ok && Array.isArray(bindParams[word])) {
75
+ return getOrCreateMultiplePosition(word);
76
+ }
77
+ else {
78
+ return getOrCreateSinglePosition(word);
79
+ }
80
+ }
81
+ return '';
82
+ });
83
+ newLines.push(normalized);
84
+ });
85
+ const keys = Object.keys(nameWithPos);
86
+ const binds = new Array(i);
87
+ if (bindParams) {
88
+ if (missingParams.size) {
89
+ const arr = [...missingParams];
90
+ if (arr.length === 1) {
91
+ throw new Error(`Missing bind parameter [${arr[0]}]`);
92
+ }
93
+ throw new Error(`Missing bind parameters [${arr.join(',')}]`);
94
+ }
95
+ keys.forEach((k) => {
96
+ const pos = nameWithPos[k];
97
+ const v = bindParams[k];
98
+ if (pos.kind === 'single') {
99
+ const idx = pos.firstPosition - 1;
100
+ binds[idx] = v;
101
+ }
102
+ else {
103
+ for (let j = 0; j < pos.numOfBinds; j++) {
104
+ const idx = pos.firstPosition + j - 1;
105
+ binds[idx] = v[j];
106
+ }
107
+ }
108
+ });
109
+ }
110
+ return { query: newLines.join('\n'), binds };
111
+ };
112
+ exports.normalizePositionedParametersQuery = normalizePositionedParametersQuery;
113
+ const normalizeSimpleParametersQuery = (query, bindParams) => {
114
+ const binds = [];
115
+ const missingParams = new Set();
116
+ const checkBindParam = (s) => {
117
+ if (bindParams && bindParams[s] === undefined) {
118
+ missingParams.add(s);
119
+ return false;
120
+ }
121
+ return true;
122
+ };
123
+ const pushBindParam = (s) => {
124
+ if (bindParams) {
125
+ binds.push(bindParams[s]);
126
+ }
127
+ };
128
+ const lines = (0, rdh_1.toLines)((0, exports.stripComment)(query));
129
+ const newLines = [];
130
+ lines.forEach((line) => {
131
+ const reg = /((?<!:):([a-zA-Z_$]\w*)\b)/gi;
132
+ const normalized = line.replace(reg, (substring, g1, g2, offset) => {
133
+ const before = line.slice(0, offset);
134
+ const inSingleQuote = (before.match(/'/g) || []).length % 2 !== 0;
135
+ const inDoubleQuote = (before.match(/"/g) || []).length % 2 !== 0;
136
+ if (inSingleQuote || inDoubleQuote) {
137
+ return substring;
138
+ }
139
+ if (g1) {
140
+ const word = g2;
141
+ const ok = checkBindParam(word);
142
+ if (ok && Array.isArray(bindParams[word])) {
143
+ const numOfBinds = bindParams[word].length;
144
+ binds.push(...bindParams[word]);
145
+ const bindStr = '?,'.repeat(numOfBinds);
146
+ return bindStr.substring(0, bindStr.length - 1);
147
+ }
148
+ else {
149
+ pushBindParam(word);
150
+ return '?';
151
+ }
152
+ }
153
+ return '';
154
+ });
155
+ newLines.push(normalized);
156
+ });
157
+ return { query: newLines.join('\n'), binds };
158
+ };
159
+ exports.normalizeSimpleParametersQuery = normalizeSimpleParametersQuery;
160
+ const stripComment = (query) => {
161
+ return query
162
+ .replace(/\/\*[^*]*\*\//gm, '')
163
+ .replace(/(\s)?(#|--)\s+.*$/gm, '$1');
164
+ };
165
+ exports.stripComment = stripComment;
166
+ //# sourceMappingURL=parameterNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameterNormalizer.js","sourceRoot":"","sources":["../../../../src/helpers/sql/parameterNormalizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { QStatement } from '../../types';
2
+ export declare const toSafeQueryForPgsqlAst: (query: string) => string;
3
+ export declare const hasSetVariableClause: (sql: string) => boolean;
4
+ export declare const parseQuery: (sql: string) => QStatement | undefined;
5
+ export declare const isReadOnlyQuery: (sql: string) => boolean;
6
+ export declare const separateMultipleQueries: (text: string) => string[];