@l-v-yonsama/multi-platform-database-drivers 1.3.0 → 2.0.1
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.
- package/README.md +40 -0
- package/built/src/drivers/Auth0Driver.js +9 -9
- package/built/src/drivers/Auth0Driver.js.map +1 -1
- package/built/src/drivers/AwsDriver.js +3 -3
- package/built/src/drivers/AwsDriver.js.map +1 -1
- package/built/src/drivers/BaseDriver.d.ts +1 -1
- package/built/src/drivers/BaseDriver.js +4 -6
- package/built/src/drivers/BaseDriver.js.map +1 -1
- package/built/src/drivers/DBDriverResolver.js.map +1 -1
- package/built/src/drivers/DBError.js.map +1 -1
- package/built/src/drivers/KeycloakDriver.d.ts +2 -3
- package/built/src/drivers/KeycloakDriver.js +27 -262
- package/built/src/drivers/KeycloakDriver.js.map +1 -1
- package/built/src/drivers/MemcacheDriver.d.ts +0 -1
- package/built/src/drivers/MemcacheDriver.js +5 -5
- package/built/src/drivers/MemcacheDriver.js.map +1 -1
- package/built/src/drivers/MqttDriver.d.ts +0 -1
- package/built/src/drivers/MqttDriver.js +4 -4
- package/built/src/drivers/MqttDriver.js.map +1 -1
- package/built/src/drivers/MySQLDriver.js +12 -12
- package/built/src/drivers/MySQLDriver.js.map +1 -1
- package/built/src/drivers/OracleDriver.js +13 -13
- package/built/src/drivers/OracleDriver.js.map +1 -1
- package/built/src/drivers/PostgresDriver.js +22 -2
- package/built/src/drivers/PostgresDriver.js.map +1 -1
- package/built/src/drivers/RDSBaseDriver.d.ts +1 -1
- package/built/src/drivers/RDSBaseDriver.js +6 -6
- package/built/src/drivers/RDSBaseDriver.js.map +1 -1
- package/built/src/drivers/RedisDriver.js +2 -2
- package/built/src/drivers/RedisDriver.js.map +1 -1
- package/built/src/drivers/SQLServerDriver.js +7 -7
- package/built/src/drivers/SQLServerDriver.js.map +1 -1
- package/built/src/drivers/SQLiteDriver.d.ts +1 -1
- package/built/src/drivers/SQLiteDriver.js +7 -7
- package/built/src/drivers/SQLiteDriver.js.map +1 -1
- package/built/src/drivers/aws/AwsCloudFormationServiceClient.js +2 -2
- package/built/src/drivers/aws/AwsCloudFormationServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsCloudwatchServiceClient.js +3 -3
- package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsDynamoServiceClient.js +7 -7
- package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsS3ServiceClient.js +24 -24
- package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSESServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSQSServiceClient.js +8 -8
- package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js +1 -1
- package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsServiceClient.js +2 -2
- package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSsmServiceClient.js +1 -1
- package/built/src/drivers/aws/AwsSsmServiceClient.js.map +1 -1
- package/built/src/drivers/keycloak/resourceTreeBuilder.d.ts +5 -0
- package/built/src/drivers/keycloak/resourceTreeBuilder.js +37 -0
- package/built/src/drivers/keycloak/resourceTreeBuilder.js.map +1 -0
- package/built/src/drivers/keycloak/scanResultBuilder.d.ts +8 -0
- package/built/src/drivers/keycloak/scanResultBuilder.js +212 -0
- package/built/src/drivers/keycloak/scanResultBuilder.js.map +1 -0
- package/built/src/drivers/memcache/helper.d.ts +0 -1
- package/built/src/drivers/memcache/helper.js +13 -14
- package/built/src/drivers/memcache/helper.js.map +1 -1
- package/built/src/helpers/ProposalHelper.js +3 -3
- package/built/src/helpers/ProposalHelper.js.map +1 -1
- package/built/src/helpers/RdhRecordRuleHelper.js.map +1 -1
- package/built/src/helpers/RuleEngine.d.ts +5 -5
- package/built/src/helpers/RuleEngine.js +14 -14
- package/built/src/helpers/RuleEngine.js.map +1 -1
- package/built/src/helpers/SQLHelper.d.ts +8 -115
- package/built/src/helpers/SQLHelper.js +35 -1084
- package/built/src/helpers/SQLHelper.js.map +1 -1
- package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/RdsPromptHelper.js +1 -1
- package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -1
- package/built/src/helpers/sql/dynamoConversion.d.ts +2 -0
- package/built/src/helpers/sql/dynamoConversion.js +27 -0
- package/built/src/helpers/sql/dynamoConversion.js.map +1 -0
- package/built/src/helpers/sql/formatQuery.d.ts +6 -0
- package/built/src/helpers/sql/formatQuery.js +45 -0
- package/built/src/helpers/sql/formatQuery.js.map +1 -0
- package/built/src/helpers/sql/mutationQuery.d.ts +54 -0
- package/built/src/helpers/sql/mutationQuery.js +250 -0
- package/built/src/helpers/sql/mutationQuery.js.map +1 -0
- package/built/src/helpers/sql/parameterNormalizer.d.ts +16 -0
- package/built/src/helpers/sql/parameterNormalizer.js +166 -0
- package/built/src/helpers/sql/parameterNormalizer.js.map +1 -0
- package/built/src/helpers/sql/queryParser.d.ts +6 -0
- package/built/src/helpers/sql/queryParser.js +239 -0
- package/built/src/helpers/sql/queryParser.js.map +1 -0
- package/built/src/helpers/sql/quote.d.ts +17 -0
- package/built/src/helpers/sql/quote.js +140 -0
- package/built/src/helpers/sql/quote.js.map +1 -0
- package/built/src/helpers/sql/selectQuery.d.ts +24 -0
- package/built/src/helpers/sql/selectQuery.js +262 -0
- package/built/src/helpers/sql/selectQuery.js.map +1 -0
- package/built/src/resource/aws.d.ts +106 -0
- package/built/src/resource/aws.js +219 -0
- package/built/src/resource/aws.js.map +1 -0
- package/built/src/resource/base.d.ts +28 -0
- package/built/src/resource/base.js +76 -0
- package/built/src/resource/base.js.map +1 -0
- package/built/src/resource/connection.d.ts +35 -0
- package/built/src/resource/connection.js +52 -0
- package/built/src/resource/connection.js.map +1 -0
- package/built/src/resource/fromJson.d.ts +2 -0
- package/built/src/resource/fromJson.js +125 -0
- package/built/src/resource/fromJson.js.map +1 -0
- package/built/src/resource/iam.d.ts +70 -0
- package/built/src/resource/iam.js +175 -0
- package/built/src/resource/iam.js.map +1 -0
- package/built/src/resource/index.d.ts +8 -1
- package/built/src/resource/index.js +8 -1
- package/built/src/resource/index.js.map +1 -1
- package/built/src/resource/keyValue.d.ts +85 -0
- package/built/src/resource/keyValue.js +74 -0
- package/built/src/resource/keyValue.js.map +1 -0
- package/built/src/resource/rdb.d.ts +49 -0
- package/built/src/resource/rdb.js +155 -0
- package/built/src/resource/rdb.js.map +1 -0
- package/built/src/resource/types.d.ts +18 -0
- package/built/src/resource/types.js +3 -0
- package/built/src/resource/types.js.map +1 -0
- package/built/src/types/drivers/Keycloak.js +1 -1
- package/built/src/types/drivers/Keycloak.js.map +1 -1
- package/built/src/types/drivers/MemcachedParams.d.ts +0 -1
- package/built/src/types/helpers/index.js +1 -1
- package/built/src/types/helpers/index.js.map +1 -1
- package/built/src/types/resource/AwsCfnStackAttributes.d.ts +1 -1
- package/built/src/types/resource/MySQLColumnType.js +2 -2
- package/built/src/types/resource/MySQLColumnType.js.map +1 -1
- package/built/src/types/resource/OracleColumnType.js +2 -2
- package/built/src/types/resource/OracleColumnType.js.map +1 -1
- package/built/src/types/resource/PartiQLAttrType.js.map +1 -1
- package/built/src/types/resource/PostgresColumnType.js +2 -2
- package/built/src/types/resource/PostgresColumnType.js.map +1 -1
- package/built/src/types/resource/SQLServerColumnType.js +2 -2
- package/built/src/types/resource/SQLServerColumnType.js.map +1 -1
- package/built/src/types/utils/index.js +2 -2
- package/built/src/types/utils/index.js.map +1 -1
- package/built/src/utils/base.js +1 -1
- package/built/src/utils/base.js.map +1 -1
- package/built/src/utils/cfn/applicationDiagram.js +52 -12
- package/built/src/utils/cfn/applicationDiagram.js.map +1 -1
- package/built/src/utils/cfn/applicationRelations.d.ts +1 -1
- package/built/src/utils/cfn/applicationRelations.js +107 -15
- package/built/src/utils/cfn/applicationRelations.js.map +1 -1
- package/built/src/utils/cfn/cfnDependencyGraphDiagram.js.map +1 -1
- package/built/src/utils/cfn/{architectureTopology.d.ts → deploymentTopology.d.ts} +5 -1
- package/built/src/utils/cfn/{architectureTopology.js → deploymentTopology.js} +127 -13
- package/built/src/utils/cfn/deploymentTopology.js.map +1 -0
- package/built/src/utils/cfn/diagramFileModel.js.map +1 -1
- package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.d.ts +3 -0
- package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js +174 -0
- package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js.map +1 -0
- package/built/src/utils/cfn/drawio/commonCells.d.ts +22 -0
- package/built/src/utils/cfn/drawio/commonCells.js +83 -0
- package/built/src/utils/cfn/drawio/commonCells.js.map +1 -0
- package/built/src/utils/cfn/drawio/edgeRouting.d.ts +34 -0
- package/built/src/utils/cfn/drawio/edgeRouting.js +77 -0
- package/built/src/utils/cfn/drawio/edgeRouting.js.map +1 -0
- package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.d.ts +3 -0
- package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js +812 -0
- package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js.map +1 -0
- package/built/src/utils/cfn/drawioApplicationDiagram.d.ts +1 -0
- package/built/src/utils/cfn/drawioApplicationDiagram.js +290 -32
- package/built/src/utils/cfn/drawioApplicationDiagram.js.map +1 -1
- package/built/src/utils/cfn/drawioInfrastructureDiagrams.d.ts +2 -4
- package/built/src/utils/cfn/drawioInfrastructureDiagrams.js +7 -441
- package/built/src/utils/cfn/drawioInfrastructureDiagrams.js.map +1 -1
- package/built/src/utils/cfn/drawioXml.d.ts +0 -24
- package/built/src/utils/cfn/drawioXml.js +5 -47
- package/built/src/utils/cfn/drawioXml.js.map +1 -1
- package/built/src/utils/cfn/generateDiagram.js +3 -4
- package/built/src/utils/cfn/generateDiagram.js.map +1 -1
- package/built/src/utils/cfn/icons.js.map +1 -1
- package/built/src/utils/cfn/index.d.ts +4 -4
- package/built/src/utils/cfn/index.js +9 -8
- package/built/src/utils/cfn/index.js.map +1 -1
- package/built/src/utils/cfn/intrinsics.d.ts +1 -1
- package/built/src/utils/cfn/intrinsics.js.map +1 -1
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.d.ts +27 -0
- package/built/src/utils/cfn/{multiAzDeploymentDataPaths.js → multiAzDeploymentTrafficPathsAndProtection.js} +162 -10
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js.map +1 -0
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.d.ts +2 -0
- package/built/src/utils/cfn/{architectureDiagram.js → multiAzDeploymentTrafficPathsAndProtectionDiagram.js} +82 -34
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map +1 -0
- package/built/src/utils/cfn/naming.d.ts +2 -1
- package/built/src/utils/cfn/naming.js +3 -3
- package/built/src/utils/cfn/naming.js.map +1 -1
- package/built/src/utils/cfn/resourceDependencies.js.map +1 -1
- package/built/src/utils/cfn/templateParsing.js +11 -26
- package/built/src/utils/cfn/templateParsing.js.map +1 -1
- package/built/src/utils/csv.js.map +1 -1
- package/built/src/utils/dbType.js.map +1 -1
- package/built/src/utils/diagramLayout/elkLayoutEngine.d.ts +3 -0
- package/built/src/utils/diagramLayout/elkLayoutEngine.js +199 -0
- package/built/src/utils/diagramLayout/elkLayoutEngine.js.map +1 -0
- package/built/src/utils/diagramLayout/index.d.ts +4 -0
- package/built/src/utils/diagramLayout/index.js +13 -0
- package/built/src/utils/diagramLayout/index.js.map +1 -0
- package/built/src/utils/diagramLayout/normalizeLayout.d.ts +33 -0
- package/built/src/utils/diagramLayout/normalizeLayout.js +116 -0
- package/built/src/utils/diagramLayout/normalizeLayout.js.map +1 -0
- package/built/src/utils/diagramLayout/types.d.ts +64 -0
- package/built/src/utils/diagramLayout/types.js +3 -0
- package/built/src/utils/diagramLayout/types.js.map +1 -0
- package/built/src/utils/drawio/drawioXml.d.ts +24 -0
- package/built/src/utils/drawio/drawioXml.js +47 -0
- package/built/src/utils/drawio/drawioXml.js.map +1 -0
- package/built/src/utils/drawio/index.d.ts +2 -0
- package/built/src/utils/drawio/index.js +10 -0
- package/built/src/utils/drawio/index.js.map +1 -0
- package/built/src/utils/driverUtil.d.ts +1 -1
- package/built/src/utils/driverUtil.js.map +1 -1
- package/built/src/utils/er/erDiagramDrawioGenerator.d.ts +26 -0
- package/built/src/utils/er/erDiagramDrawioGenerator.js +99 -0
- package/built/src/utils/er/erDiagramDrawioGenerator.js.map +1 -0
- package/built/src/utils/er/erDiagramDrawioGeneratorAuto.d.ts +2 -0
- package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js +103 -0
- package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js.map +1 -0
- package/built/src/utils/er/erDiagramGenerator.d.ts +7 -0
- package/built/src/utils/er/erDiagramGenerator.js +321 -0
- package/built/src/utils/er/erDiagramGenerator.js.map +1 -0
- package/built/src/utils/er/index.d.ts +4 -0
- package/built/src/utils/er/index.js +13 -0
- package/built/src/utils/er/index.js.map +1 -0
- package/built/src/utils/er/types.d.ts +31 -0
- package/built/src/utils/er/types.js +3 -0
- package/built/src/utils/er/types.js.map +1 -0
- package/built/src/utils/index.d.ts +1 -0
- package/built/src/utils/index.js +1 -0
- package/built/src/utils/index.js.map +1 -1
- package/built/src/utils/log/LogParser.js.map +1 -1
- package/built/src/utils/log/buildSqlExecutions.js +3 -4
- package/built/src/utils/log/buildSqlExecutions.js.map +1 -1
- package/built/src/utils/log/classify/classifyEvent.js +2 -3
- package/built/src/utils/log/classify/classifyEvent.js.map +1 -1
- package/built/src/utils/log/detect/presetDetector.js +4 -5
- package/built/src/utils/log/detect/presetDetector.js.map +1 -1
- package/built/src/utils/log/extract/runExtractors.js +1 -2
- package/built/src/utils/log/extract/runExtractors.js.map +1 -1
- package/built/src/utils/log/logSummary.js +5 -5
- package/built/src/utils/log/logSummary.js.map +1 -1
- package/built/src/utils/log/pattern/logEventPattern.js +2 -3
- package/built/src/utils/log/pattern/logEventPattern.js.map +1 -1
- package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js +2 -3
- package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -1
- package/built/src/utils/log/split/splitLogEvents.js +1 -2
- package/built/src/utils/log/split/splitLogEvents.js.map +1 -1
- package/built/src/utils/log/sql/removeSqlComments.js +2 -3
- package/built/src/utils/log/sql/removeSqlComments.js.map +1 -1
- package/built/src/utils/log/validator.js +8 -5
- package/built/src/utils/log/validator.js.map +1 -1
- package/package.json +14 -10
- package/built/src/resource/DbResource.d.ts +0 -373
- package/built/src/resource/DbResource.js +0 -836
- package/built/src/resource/DbResource.js.map +0 -1
- package/built/src/utils/cfn/architectureDiagram.d.ts +0 -3
- package/built/src/utils/cfn/architectureDiagram.js.map +0 -1
- package/built/src/utils/cfn/architectureTopology.js.map +0 -1
- package/built/src/utils/cfn/multiAzDeploymentDataPaths.d.ts +0 -27
- 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[];
|