@openfn/language-mssql 6.0.0 → 6.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/configuration-schema.json +0 -7
- package/dist/index.cjs +22 -23
- package/dist/index.js +22 -23
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -108,7 +108,6 @@ function createConnection(state) {
|
|
|
108
108
|
database,
|
|
109
109
|
port = 1433,
|
|
110
110
|
encrypt = true,
|
|
111
|
-
rowCollectionOnRequestCompletion = true,
|
|
112
111
|
trustServerCertificate = true
|
|
113
112
|
} = state.configuration;
|
|
114
113
|
if (!server) {
|
|
@@ -124,7 +123,7 @@ function createConnection(state) {
|
|
|
124
123
|
port,
|
|
125
124
|
database,
|
|
126
125
|
encrypt,
|
|
127
|
-
rowCollectionOnRequestCompletion,
|
|
126
|
+
rowCollectionOnRequestCompletion: true,
|
|
128
127
|
trustServerCertificate
|
|
129
128
|
}
|
|
130
129
|
};
|
|
@@ -199,19 +198,20 @@ function queryHandler(state, query, callback, options) {
|
|
|
199
198
|
return state;
|
|
200
199
|
}
|
|
201
200
|
}
|
|
202
|
-
const
|
|
203
|
-
const request = new import_tedious.Request(query, (err) => {
|
|
201
|
+
const request = new import_tedious.Request(query, (err, rowCount, rows) => {
|
|
204
202
|
if (err) {
|
|
205
|
-
|
|
203
|
+
if (err.name === "AggregateError" && err.errors) {
|
|
204
|
+
err.errors.map((error) => console.error("Error: ", error.message));
|
|
205
|
+
} else {
|
|
206
|
+
console.error(err);
|
|
207
|
+
}
|
|
206
208
|
reject(err);
|
|
209
|
+
return;
|
|
207
210
|
} else {
|
|
208
|
-
console.log(`Finished: ${
|
|
211
|
+
console.log(`Finished: ${rowCount} row(s).`);
|
|
209
212
|
resolve(callback(state, rows));
|
|
210
213
|
}
|
|
211
214
|
});
|
|
212
|
-
request.on("row", (columns) => {
|
|
213
|
-
rows.push(columns);
|
|
214
|
-
});
|
|
215
215
|
connection.execSql(request);
|
|
216
216
|
});
|
|
217
217
|
}
|
|
@@ -270,25 +270,24 @@ function findValue(filter) {
|
|
|
270
270
|
try {
|
|
271
271
|
const body = `select ${uuid} from ${relation} ${condition}`;
|
|
272
272
|
console.log("Preparing to execute sql statement");
|
|
273
|
+
let returnValue = null;
|
|
273
274
|
return new Promise((resolve, reject) => {
|
|
274
275
|
console.log(`Executing query: ${body}`);
|
|
275
|
-
const
|
|
276
|
-
const request = new import_tedious.Request(body, (err) => {
|
|
276
|
+
const request = new import_tedious.Request(body, (err, rowCount, rows) => {
|
|
277
277
|
if (err) {
|
|
278
278
|
console.error(err.message);
|
|
279
279
|
reject(err);
|
|
280
280
|
} else {
|
|
281
281
|
if (rows.length > 0) {
|
|
282
|
-
|
|
283
|
-
}
|
|
282
|
+
returnValue = rows[0][0].value;
|
|
283
|
+
}
|
|
284
|
+
if (returnValue === null) {
|
|
284
285
|
console.log("No value found");
|
|
285
286
|
resolve(void 0);
|
|
286
287
|
}
|
|
288
|
+
resolve(returnValue);
|
|
287
289
|
}
|
|
288
290
|
});
|
|
289
|
-
request.on("row", (columns) => {
|
|
290
|
-
rows.push(columns);
|
|
291
|
-
});
|
|
292
291
|
connection.execSql(request);
|
|
293
292
|
});
|
|
294
293
|
} catch (e) {
|
|
@@ -311,7 +310,7 @@ function insert(table, record, options) {
|
|
|
311
310
|
const safeQuery = `INSERT INTO ${table} (${columns.join(
|
|
312
311
|
", "
|
|
313
312
|
)}) VALUES [--REDACTED--]];`;
|
|
314
|
-
return new Promise((resolve
|
|
313
|
+
return new Promise((resolve) => {
|
|
315
314
|
const queryToLog = options && options.logValues ? query : safeQuery;
|
|
316
315
|
console.log(`Executing insert via: ${queryToLog}`);
|
|
317
316
|
resolve(queryHandler(state, query, addRowsToRefs, options));
|
|
@@ -340,7 +339,7 @@ function insertMany(table, records, options) {
|
|
|
340
339
|
const safeQuery = `INSERT INTO ${table} (${columns.join(
|
|
341
340
|
", "
|
|
342
341
|
)}) VALUES [--REDACTED--]];`;
|
|
343
|
-
return new Promise((resolve
|
|
342
|
+
return new Promise((resolve) => {
|
|
344
343
|
const queryToLog = options && options.logValues ? query : safeQuery;
|
|
345
344
|
console.log(`Executing insertMany via: ${queryToLog}`);
|
|
346
345
|
resolve(queryHandler(state, query, addRowsToRefs, options));
|
|
@@ -386,7 +385,7 @@ function upsert(table, uuid, record, options) {
|
|
|
386
385
|
UPDATE SET [--REDACTED--]
|
|
387
386
|
WHEN NOT MATCHED THEN
|
|
388
387
|
INSERT (${insertColumns}) VALUES [--REDACTED--];`;
|
|
389
|
-
return new Promise((resolve
|
|
388
|
+
return new Promise((resolve) => {
|
|
390
389
|
const queryToLog = options && options.logValues ? query : safeQuery;
|
|
391
390
|
console.log(`Executing upsert via: ${queryToLog}`);
|
|
392
391
|
resolve(queryHandler(state, query, addRowsToRefs, options));
|
|
@@ -404,7 +403,7 @@ function upsertIf(logical, table, uuid, record, options) {
|
|
|
404
403
|
const [recordData] = (0, import_util.expandReferences)(state, record);
|
|
405
404
|
const columns = Object.keys(recordData).sort();
|
|
406
405
|
const [logicalData] = (0, import_util.expandReferences)(state, logical);
|
|
407
|
-
return new Promise((resolve
|
|
406
|
+
return new Promise((resolve) => {
|
|
408
407
|
if (!logicalData) {
|
|
409
408
|
console.log(`Skipping upsert for ${uuid}.`);
|
|
410
409
|
resolve(state);
|
|
@@ -454,7 +453,7 @@ function upsertMany(table, uuid, records, options) {
|
|
|
454
453
|
const { connection } = state;
|
|
455
454
|
try {
|
|
456
455
|
const [recordData] = (0, import_util.expandReferences)(state, records);
|
|
457
|
-
return new Promise((resolve
|
|
456
|
+
return new Promise((resolve) => {
|
|
458
457
|
if (!recordData || recordData.length === 0) {
|
|
459
458
|
console.log("No records provided; skipping upsert.");
|
|
460
459
|
resolve(state);
|
|
@@ -523,7 +522,7 @@ function insertTable(tableName, columns, options) {
|
|
|
523
522
|
const { connection } = state;
|
|
524
523
|
try {
|
|
525
524
|
const [data] = (0, import_util.expandReferences)(state, columns);
|
|
526
|
-
return new Promise((resolve
|
|
525
|
+
return new Promise((resolve) => {
|
|
527
526
|
if (!data || data.length === 0) {
|
|
528
527
|
console.log("No columns provided; skipping table creation.");
|
|
529
528
|
resolve(state);
|
|
@@ -549,7 +548,7 @@ function modifyTable(tableName, columns, options) {
|
|
|
549
548
|
const { connection } = state;
|
|
550
549
|
try {
|
|
551
550
|
const [data] = (0, import_util.expandReferences)(state, columns);
|
|
552
|
-
return new Promise((resolve
|
|
551
|
+
return new Promise((resolve) => {
|
|
553
552
|
if (!data || data.length === 0) {
|
|
554
553
|
console.log("No columns provided; skipping table modification.");
|
|
555
554
|
resolve(state);
|
package/dist/index.js
CHANGED
|
@@ -78,7 +78,6 @@ function createConnection(state) {
|
|
|
78
78
|
database,
|
|
79
79
|
port = 1433,
|
|
80
80
|
encrypt = true,
|
|
81
|
-
rowCollectionOnRequestCompletion = true,
|
|
82
81
|
trustServerCertificate = true
|
|
83
82
|
} = state.configuration;
|
|
84
83
|
if (!server) {
|
|
@@ -94,7 +93,7 @@ function createConnection(state) {
|
|
|
94
93
|
port,
|
|
95
94
|
database,
|
|
96
95
|
encrypt,
|
|
97
|
-
rowCollectionOnRequestCompletion,
|
|
96
|
+
rowCollectionOnRequestCompletion: true,
|
|
98
97
|
trustServerCertificate
|
|
99
98
|
}
|
|
100
99
|
};
|
|
@@ -169,19 +168,20 @@ function queryHandler(state, query, callback, options) {
|
|
|
169
168
|
return state;
|
|
170
169
|
}
|
|
171
170
|
}
|
|
172
|
-
const
|
|
173
|
-
const request = new Request(query, (err) => {
|
|
171
|
+
const request = new Request(query, (err, rowCount, rows) => {
|
|
174
172
|
if (err) {
|
|
175
|
-
|
|
173
|
+
if (err.name === "AggregateError" && err.errors) {
|
|
174
|
+
err.errors.map((error) => console.error("Error: ", error.message));
|
|
175
|
+
} else {
|
|
176
|
+
console.error(err);
|
|
177
|
+
}
|
|
176
178
|
reject(err);
|
|
179
|
+
return;
|
|
177
180
|
} else {
|
|
178
|
-
console.log(`Finished: ${
|
|
181
|
+
console.log(`Finished: ${rowCount} row(s).`);
|
|
179
182
|
resolve(callback(state, rows));
|
|
180
183
|
}
|
|
181
184
|
});
|
|
182
|
-
request.on("row", (columns) => {
|
|
183
|
-
rows.push(columns);
|
|
184
|
-
});
|
|
185
185
|
connection.execSql(request);
|
|
186
186
|
});
|
|
187
187
|
}
|
|
@@ -240,25 +240,24 @@ function findValue(filter) {
|
|
|
240
240
|
try {
|
|
241
241
|
const body = `select ${uuid} from ${relation} ${condition}`;
|
|
242
242
|
console.log("Preparing to execute sql statement");
|
|
243
|
+
let returnValue = null;
|
|
243
244
|
return new Promise((resolve, reject) => {
|
|
244
245
|
console.log(`Executing query: ${body}`);
|
|
245
|
-
const
|
|
246
|
-
const request = new Request(body, (err) => {
|
|
246
|
+
const request = new Request(body, (err, rowCount, rows) => {
|
|
247
247
|
if (err) {
|
|
248
248
|
console.error(err.message);
|
|
249
249
|
reject(err);
|
|
250
250
|
} else {
|
|
251
251
|
if (rows.length > 0) {
|
|
252
|
-
|
|
253
|
-
}
|
|
252
|
+
returnValue = rows[0][0].value;
|
|
253
|
+
}
|
|
254
|
+
if (returnValue === null) {
|
|
254
255
|
console.log("No value found");
|
|
255
256
|
resolve(void 0);
|
|
256
257
|
}
|
|
258
|
+
resolve(returnValue);
|
|
257
259
|
}
|
|
258
260
|
});
|
|
259
|
-
request.on("row", (columns) => {
|
|
260
|
-
rows.push(columns);
|
|
261
|
-
});
|
|
262
261
|
connection.execSql(request);
|
|
263
262
|
});
|
|
264
263
|
} catch (e) {
|
|
@@ -281,7 +280,7 @@ function insert(table, record, options) {
|
|
|
281
280
|
const safeQuery = `INSERT INTO ${table} (${columns.join(
|
|
282
281
|
", "
|
|
283
282
|
)}) VALUES [--REDACTED--]];`;
|
|
284
|
-
return new Promise((resolve
|
|
283
|
+
return new Promise((resolve) => {
|
|
285
284
|
const queryToLog = options && options.logValues ? query : safeQuery;
|
|
286
285
|
console.log(`Executing insert via: ${queryToLog}`);
|
|
287
286
|
resolve(queryHandler(state, query, addRowsToRefs, options));
|
|
@@ -310,7 +309,7 @@ function insertMany(table, records, options) {
|
|
|
310
309
|
const safeQuery = `INSERT INTO ${table} (${columns.join(
|
|
311
310
|
", "
|
|
312
311
|
)}) VALUES [--REDACTED--]];`;
|
|
313
|
-
return new Promise((resolve
|
|
312
|
+
return new Promise((resolve) => {
|
|
314
313
|
const queryToLog = options && options.logValues ? query : safeQuery;
|
|
315
314
|
console.log(`Executing insertMany via: ${queryToLog}`);
|
|
316
315
|
resolve(queryHandler(state, query, addRowsToRefs, options));
|
|
@@ -356,7 +355,7 @@ function upsert(table, uuid, record, options) {
|
|
|
356
355
|
UPDATE SET [--REDACTED--]
|
|
357
356
|
WHEN NOT MATCHED THEN
|
|
358
357
|
INSERT (${insertColumns}) VALUES [--REDACTED--];`;
|
|
359
|
-
return new Promise((resolve
|
|
358
|
+
return new Promise((resolve) => {
|
|
360
359
|
const queryToLog = options && options.logValues ? query : safeQuery;
|
|
361
360
|
console.log(`Executing upsert via: ${queryToLog}`);
|
|
362
361
|
resolve(queryHandler(state, query, addRowsToRefs, options));
|
|
@@ -374,7 +373,7 @@ function upsertIf(logical, table, uuid, record, options) {
|
|
|
374
373
|
const [recordData] = expandReferences(state, record);
|
|
375
374
|
const columns = Object.keys(recordData).sort();
|
|
376
375
|
const [logicalData] = expandReferences(state, logical);
|
|
377
|
-
return new Promise((resolve
|
|
376
|
+
return new Promise((resolve) => {
|
|
378
377
|
if (!logicalData) {
|
|
379
378
|
console.log(`Skipping upsert for ${uuid}.`);
|
|
380
379
|
resolve(state);
|
|
@@ -424,7 +423,7 @@ function upsertMany(table, uuid, records, options) {
|
|
|
424
423
|
const { connection } = state;
|
|
425
424
|
try {
|
|
426
425
|
const [recordData] = expandReferences(state, records);
|
|
427
|
-
return new Promise((resolve
|
|
426
|
+
return new Promise((resolve) => {
|
|
428
427
|
if (!recordData || recordData.length === 0) {
|
|
429
428
|
console.log("No records provided; skipping upsert.");
|
|
430
429
|
resolve(state);
|
|
@@ -493,7 +492,7 @@ function insertTable(tableName, columns, options) {
|
|
|
493
492
|
const { connection } = state;
|
|
494
493
|
try {
|
|
495
494
|
const [data] = expandReferences(state, columns);
|
|
496
|
-
return new Promise((resolve
|
|
495
|
+
return new Promise((resolve) => {
|
|
497
496
|
if (!data || data.length === 0) {
|
|
498
497
|
console.log("No columns provided; skipping table creation.");
|
|
499
498
|
resolve(state);
|
|
@@ -519,7 +518,7 @@ function modifyTable(tableName, columns, options) {
|
|
|
519
518
|
const { connection } = state;
|
|
520
519
|
try {
|
|
521
520
|
const [data] = expandReferences(state, columns);
|
|
522
|
-
return new Promise((resolve
|
|
521
|
+
return new Promise((resolve) => {
|
|
523
522
|
if (!data || data.length === 0) {
|
|
524
523
|
console.log("No columns provided; skipping table modification.");
|
|
525
524
|
resolve(state);
|