af-db-ts 2.0.96 → 2.0.97
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/dist/cjs/src/pg/get-sql/merge.js +7 -2
- package/dist/cjs/src/pg/get-sql/merge.js.map +1 -1
- package/dist/esm/src/pg/get-sql/merge.js +7 -2
- package/dist/esm/src/pg/get-sql/merge.js.map +1 -1
- package/dist/types/src/pg/get-sql/merge.d.ts +1 -0
- package/dist/types/src/pg/get-sql/merge.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/pg/get-sql/merge.ts +9 -2
|
@@ -5,7 +5,7 @@ const table_schema_pg_1 = require("../table-schema-pg");
|
|
|
5
5
|
const prepare_value_1 = require("../prepare-value");
|
|
6
6
|
const utils_1 = require("../../utils/utils");
|
|
7
7
|
const getMergeSqlPg = async (arg) => {
|
|
8
|
-
const { connectionId, commonSchemaAndTable, recordset, omitFields = [], noUpdateIfNull } = arg;
|
|
8
|
+
const { connectionId, commonSchemaAndTable, recordset, omitFields = [], noUpdateIfNull, fieldsExcludedFromUpdatePart = [] } = arg;
|
|
9
9
|
if (!recordset?.length) {
|
|
10
10
|
return '';
|
|
11
11
|
}
|
|
@@ -29,7 +29,12 @@ const getMergeSqlPg = async (arg) => {
|
|
|
29
29
|
});
|
|
30
30
|
return `(${preparedValues.join(', ')})`;
|
|
31
31
|
}).join(',\n ').trim();
|
|
32
|
-
|
|
32
|
+
let updateFieldsArr = mergeFieldsArr;
|
|
33
|
+
if (fieldsExcludedFromUpdatePart?.length) {
|
|
34
|
+
const set = new Set(fieldsExcludedFromUpdatePart);
|
|
35
|
+
updateFieldsArr = mergeFieldsArr.filter((fieldName) => !set.has(fieldName));
|
|
36
|
+
}
|
|
37
|
+
const updateSetStr = updateFieldsArr.map((f) => {
|
|
33
38
|
const vArr = [`EXCLUDED."${f}"`];
|
|
34
39
|
if (noUpdateIfNull) {
|
|
35
40
|
vArr.push(`${schemaTableStr}."${f}"`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../../src/pg/get-sql/merge.ts"],"names":[],"mappings":";;;AAAA,wDAAsD;AACtD,oDAAqD;AAErD,6CAAgD;AAGzC,MAAM,aAAa,GAAG,KAAK,EAAoC,
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../../src/pg/get-sql/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { getTableSchemaPg } from '../table-schema-pg';
|
|
|
2
2
|
import { prepareSqlValuePg } from '../prepare-value';
|
|
3
3
|
import { schemaTable } from '../../utils/utils';
|
|
4
4
|
export const getMergeSqlPg = async (arg) => {
|
|
5
|
-
const { connectionId, commonSchemaAndTable, recordset, omitFields = [], noUpdateIfNull } = arg;
|
|
5
|
+
const { connectionId, commonSchemaAndTable, recordset, omitFields = [], noUpdateIfNull, fieldsExcludedFromUpdatePart = [] } = arg;
|
|
6
6
|
if (!recordset?.length) {
|
|
7
7
|
return '';
|
|
8
8
|
}
|
|
@@ -26,7 +26,12 @@ export const getMergeSqlPg = async (arg) => {
|
|
|
26
26
|
});
|
|
27
27
|
return `(${preparedValues.join(', ')})`;
|
|
28
28
|
}).join(',\n ').trim();
|
|
29
|
-
|
|
29
|
+
let updateFieldsArr = mergeFieldsArr;
|
|
30
|
+
if (fieldsExcludedFromUpdatePart?.length) {
|
|
31
|
+
const set = new Set(fieldsExcludedFromUpdatePart);
|
|
32
|
+
updateFieldsArr = mergeFieldsArr.filter((fieldName) => !set.has(fieldName));
|
|
33
|
+
}
|
|
34
|
+
const updateSetStr = updateFieldsArr.map((f) => {
|
|
30
35
|
const vArr = [`EXCLUDED."${f}"`];
|
|
31
36
|
if (noUpdateIfNull) {
|
|
32
37
|
vArr.push(`${schemaTableStr}."${f}"`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../../src/pg/get-sql/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAoC,
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../../src/pg/get-sql/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare const getMergeSqlPg: <U extends TDBRecord = TDBRecord>(arg: {
|
|
|
4
4
|
commonSchemaAndTable: string;
|
|
5
5
|
recordset: TRecordSet<U>;
|
|
6
6
|
omitFields?: string[] | undefined;
|
|
7
|
+
fieldsExcludedFromUpdatePart?: string[] | undefined;
|
|
7
8
|
noUpdateIfNull?: boolean | undefined;
|
|
8
9
|
mergeCorrection?: ((_sql: string) => string) | undefined;
|
|
9
10
|
}) => Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../src/pg/get-sql/merge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE9D,eAAO,MAAM,aAAa;kBACV,MAAM;0BACE,MAAM
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../src/pg/get-sql/merge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE9D,eAAO,MAAM,aAAa;kBACV,MAAM;0BACE,MAAM;;;;;8BAKH,MAAM,KAAK,MAAM;MACxC,QAAQ,MAAM,CA8DjB,CAAC"}
|
package/package.json
CHANGED
package/src/pg/get-sql/merge.ts
CHANGED
|
@@ -9,10 +9,11 @@ export const getMergeSqlPg = async <U extends TDBRecord = TDBRecord> (arg: {
|
|
|
9
9
|
commonSchemaAndTable: string,
|
|
10
10
|
recordset: TRecordSet<U>,
|
|
11
11
|
omitFields?: string[],
|
|
12
|
+
fieldsExcludedFromUpdatePart?: string[],
|
|
12
13
|
noUpdateIfNull?: boolean,
|
|
13
14
|
mergeCorrection?: (_sql: string) => string,
|
|
14
15
|
}): Promise<string> => {
|
|
15
|
-
const { connectionId, commonSchemaAndTable, recordset, omitFields = [], noUpdateIfNull } = arg;
|
|
16
|
+
const { connectionId, commonSchemaAndTable, recordset, omitFields = [], noUpdateIfNull, fieldsExcludedFromUpdatePart = [] } = arg;
|
|
16
17
|
if (!recordset?.length) {
|
|
17
18
|
return '';
|
|
18
19
|
}
|
|
@@ -40,7 +41,13 @@ export const getMergeSqlPg = async <U extends TDBRecord = TDBRecord> (arg: {
|
|
|
40
41
|
return `(${preparedValues.join(', ')})`;
|
|
41
42
|
}).join(',\n ').trim();
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
let updateFieldsArr: string[] = mergeFieldsArr;
|
|
45
|
+
if (fieldsExcludedFromUpdatePart?.length) {
|
|
46
|
+
const set = new Set(fieldsExcludedFromUpdatePart);
|
|
47
|
+
updateFieldsArr = mergeFieldsArr.filter((fieldName) => !set.has(fieldName));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const updateSetStr = updateFieldsArr.map((f) => {
|
|
44
51
|
const vArr = [`EXCLUDED."${f}"`];
|
|
45
52
|
if (noUpdateIfNull) {
|
|
46
53
|
vArr.push(`${schemaTableStr}."${f}"`);
|