@openfn/language-mssql 5.2.3 → 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.
@@ -55,13 +55,6 @@
55
55
  false
56
56
  ]
57
57
  },
58
- "rowCollectionOnRequestCompletion": {
59
- "type": "boolean",
60
- "default": true,
61
- "examples": [
62
- false
63
- ]
64
- },
65
58
  "trustServerCertificate": {
66
59
  "type": "boolean",
67
60
  "default": true,
package/dist/index.cjs CHANGED
@@ -35,7 +35,6 @@ __export(src_exports, {
35
35
  findValue: () => findValue,
36
36
  fn: () => import_language_common2.fn,
37
37
  fnIf: () => import_language_common2.fnIf,
38
- http: () => import_language_common2.http,
39
38
  insert: () => insert,
40
39
  insertMany: () => insertMany,
41
40
  insertTable: () => insertTable,
@@ -69,7 +68,6 @@ __export(Adaptor_exports, {
69
68
  findValue: () => findValue,
70
69
  fn: () => import_language_common2.fn,
71
70
  fnIf: () => import_language_common2.fnIf,
72
- http: () => import_language_common2.http,
73
71
  insert: () => insert,
74
72
  insertMany: () => insertMany,
75
73
  insertTable: () => insertTable,
@@ -110,7 +108,6 @@ function createConnection(state) {
110
108
  database,
111
109
  port = 1433,
112
110
  encrypt = true,
113
- rowCollectionOnRequestCompletion = true,
114
111
  trustServerCertificate = true
115
112
  } = state.configuration;
116
113
  if (!server) {
@@ -126,7 +123,7 @@ function createConnection(state) {
126
123
  port,
127
124
  database,
128
125
  encrypt,
129
- rowCollectionOnRequestCompletion,
126
+ rowCollectionOnRequestCompletion: true,
130
127
  trustServerCertificate
131
128
  }
132
129
  };
@@ -201,19 +198,20 @@ function queryHandler(state, query, callback, options) {
201
198
  return state;
202
199
  }
203
200
  }
204
- const rows = [];
205
- const request = new import_tedious.Request(query, (err) => {
201
+ const request = new import_tedious.Request(query, (err, rowCount, rows) => {
206
202
  if (err) {
207
- console.error(err);
203
+ if (err.name === "AggregateError" && err.errors) {
204
+ err.errors.map((error) => console.error("Error: ", error.message));
205
+ } else {
206
+ console.error(err);
207
+ }
208
208
  reject(err);
209
+ return;
209
210
  } else {
210
- console.log(`Finished: ${rows.length} row(s).`);
211
+ console.log(`Finished: ${rowCount} row(s).`);
211
212
  resolve(callback(state, rows));
212
213
  }
213
214
  });
214
- request.on("row", (columns) => {
215
- rows.push(columns);
216
- });
217
215
  connection.execSql(request);
218
216
  });
219
217
  }
@@ -272,25 +270,24 @@ function findValue(filter) {
272
270
  try {
273
271
  const body = `select ${uuid} from ${relation} ${condition}`;
274
272
  console.log("Preparing to execute sql statement");
273
+ let returnValue = null;
275
274
  return new Promise((resolve, reject) => {
276
275
  console.log(`Executing query: ${body}`);
277
- const rows = [];
278
- const request = new import_tedious.Request(body, (err) => {
276
+ const request = new import_tedious.Request(body, (err, rowCount, rows) => {
279
277
  if (err) {
280
278
  console.error(err.message);
281
279
  reject(err);
282
280
  } else {
283
281
  if (rows.length > 0) {
284
- resolve(rows[0][0].value);
285
- } else {
282
+ returnValue = rows[0][0].value;
283
+ }
284
+ if (returnValue === null) {
286
285
  console.log("No value found");
287
286
  resolve(void 0);
288
287
  }
288
+ resolve(returnValue);
289
289
  }
290
290
  });
291
- request.on("row", (columns) => {
292
- rows.push(columns);
293
- });
294
291
  connection.execSql(request);
295
292
  });
296
293
  } catch (e) {
@@ -313,7 +310,7 @@ function insert(table, record, options) {
313
310
  const safeQuery = `INSERT INTO ${table} (${columns.join(
314
311
  ", "
315
312
  )}) VALUES [--REDACTED--]];`;
316
- return new Promise((resolve, reject) => {
313
+ return new Promise((resolve) => {
317
314
  const queryToLog = options && options.logValues ? query : safeQuery;
318
315
  console.log(`Executing insert via: ${queryToLog}`);
319
316
  resolve(queryHandler(state, query, addRowsToRefs, options));
@@ -342,7 +339,7 @@ function insertMany(table, records, options) {
342
339
  const safeQuery = `INSERT INTO ${table} (${columns.join(
343
340
  ", "
344
341
  )}) VALUES [--REDACTED--]];`;
345
- return new Promise((resolve, reject) => {
342
+ return new Promise((resolve) => {
346
343
  const queryToLog = options && options.logValues ? query : safeQuery;
347
344
  console.log(`Executing insertMany via: ${queryToLog}`);
348
345
  resolve(queryHandler(state, query, addRowsToRefs, options));
@@ -388,7 +385,7 @@ function upsert(table, uuid, record, options) {
388
385
  UPDATE SET [--REDACTED--]
389
386
  WHEN NOT MATCHED THEN
390
387
  INSERT (${insertColumns}) VALUES [--REDACTED--];`;
391
- return new Promise((resolve, reject) => {
388
+ return new Promise((resolve) => {
392
389
  const queryToLog = options && options.logValues ? query : safeQuery;
393
390
  console.log(`Executing upsert via: ${queryToLog}`);
394
391
  resolve(queryHandler(state, query, addRowsToRefs, options));
@@ -406,7 +403,7 @@ function upsertIf(logical, table, uuid, record, options) {
406
403
  const [recordData] = (0, import_util.expandReferences)(state, record);
407
404
  const columns = Object.keys(recordData).sort();
408
405
  const [logicalData] = (0, import_util.expandReferences)(state, logical);
409
- return new Promise((resolve, reject) => {
406
+ return new Promise((resolve) => {
410
407
  if (!logicalData) {
411
408
  console.log(`Skipping upsert for ${uuid}.`);
412
409
  resolve(state);
@@ -456,7 +453,7 @@ function upsertMany(table, uuid, records, options) {
456
453
  const { connection } = state;
457
454
  try {
458
455
  const [recordData] = (0, import_util.expandReferences)(state, records);
459
- return new Promise((resolve, reject) => {
456
+ return new Promise((resolve) => {
460
457
  if (!recordData || recordData.length === 0) {
461
458
  console.log("No records provided; skipping upsert.");
462
459
  resolve(state);
@@ -525,7 +522,7 @@ function insertTable(tableName, columns, options) {
525
522
  const { connection } = state;
526
523
  try {
527
524
  const [data] = (0, import_util.expandReferences)(state, columns);
528
- return new Promise((resolve, reject) => {
525
+ return new Promise((resolve) => {
529
526
  if (!data || data.length === 0) {
530
527
  console.log("No columns provided; skipping table creation.");
531
528
  resolve(state);
@@ -551,7 +548,7 @@ function modifyTable(tableName, columns, options) {
551
548
  const { connection } = state;
552
549
  try {
553
550
  const [data] = (0, import_util.expandReferences)(state, columns);
554
- return new Promise((resolve, reject) => {
551
+ return new Promise((resolve) => {
555
552
  if (!data || data.length === 0) {
556
553
  console.log("No columns provided; skipping table modification.");
557
554
  resolve(state);
@@ -590,7 +587,6 @@ var src_default = Adaptor_exports;
590
587
  findValue,
591
588
  fn,
592
589
  fnIf,
593
- http,
594
590
  insert,
595
591
  insertMany,
596
592
  insertTable,
package/dist/index.js CHANGED
@@ -22,7 +22,6 @@ __export(Adaptor_exports, {
22
22
  findValue: () => findValue,
23
23
  fn: () => fn,
24
24
  fnIf: () => fnIf,
25
- http: () => http,
26
25
  insert: () => insert,
27
26
  insertMany: () => insertMany,
28
27
  insertTable: () => insertTable,
@@ -65,7 +64,6 @@ import {
65
64
  fields,
66
65
  fn,
67
66
  fnIf,
68
- http,
69
67
  lastReferenceValue,
70
68
  cursor,
71
69
  merge,
@@ -80,7 +78,6 @@ function createConnection(state) {
80
78
  database,
81
79
  port = 1433,
82
80
  encrypt = true,
83
- rowCollectionOnRequestCompletion = true,
84
81
  trustServerCertificate = true
85
82
  } = state.configuration;
86
83
  if (!server) {
@@ -96,7 +93,7 @@ function createConnection(state) {
96
93
  port,
97
94
  database,
98
95
  encrypt,
99
- rowCollectionOnRequestCompletion,
96
+ rowCollectionOnRequestCompletion: true,
100
97
  trustServerCertificate
101
98
  }
102
99
  };
@@ -171,19 +168,20 @@ function queryHandler(state, query, callback, options) {
171
168
  return state;
172
169
  }
173
170
  }
174
- const rows = [];
175
- const request = new Request(query, (err) => {
171
+ const request = new Request(query, (err, rowCount, rows) => {
176
172
  if (err) {
177
- console.error(err);
173
+ if (err.name === "AggregateError" && err.errors) {
174
+ err.errors.map((error) => console.error("Error: ", error.message));
175
+ } else {
176
+ console.error(err);
177
+ }
178
178
  reject(err);
179
+ return;
179
180
  } else {
180
- console.log(`Finished: ${rows.length} row(s).`);
181
+ console.log(`Finished: ${rowCount} row(s).`);
181
182
  resolve(callback(state, rows));
182
183
  }
183
184
  });
184
- request.on("row", (columns) => {
185
- rows.push(columns);
186
- });
187
185
  connection.execSql(request);
188
186
  });
189
187
  }
@@ -242,25 +240,24 @@ function findValue(filter) {
242
240
  try {
243
241
  const body = `select ${uuid} from ${relation} ${condition}`;
244
242
  console.log("Preparing to execute sql statement");
243
+ let returnValue = null;
245
244
  return new Promise((resolve, reject) => {
246
245
  console.log(`Executing query: ${body}`);
247
- const rows = [];
248
- const request = new Request(body, (err) => {
246
+ const request = new Request(body, (err, rowCount, rows) => {
249
247
  if (err) {
250
248
  console.error(err.message);
251
249
  reject(err);
252
250
  } else {
253
251
  if (rows.length > 0) {
254
- resolve(rows[0][0].value);
255
- } else {
252
+ returnValue = rows[0][0].value;
253
+ }
254
+ if (returnValue === null) {
256
255
  console.log("No value found");
257
256
  resolve(void 0);
258
257
  }
258
+ resolve(returnValue);
259
259
  }
260
260
  });
261
- request.on("row", (columns) => {
262
- rows.push(columns);
263
- });
264
261
  connection.execSql(request);
265
262
  });
266
263
  } catch (e) {
@@ -283,7 +280,7 @@ function insert(table, record, options) {
283
280
  const safeQuery = `INSERT INTO ${table} (${columns.join(
284
281
  ", "
285
282
  )}) VALUES [--REDACTED--]];`;
286
- return new Promise((resolve, reject) => {
283
+ return new Promise((resolve) => {
287
284
  const queryToLog = options && options.logValues ? query : safeQuery;
288
285
  console.log(`Executing insert via: ${queryToLog}`);
289
286
  resolve(queryHandler(state, query, addRowsToRefs, options));
@@ -312,7 +309,7 @@ function insertMany(table, records, options) {
312
309
  const safeQuery = `INSERT INTO ${table} (${columns.join(
313
310
  ", "
314
311
  )}) VALUES [--REDACTED--]];`;
315
- return new Promise((resolve, reject) => {
312
+ return new Promise((resolve) => {
316
313
  const queryToLog = options && options.logValues ? query : safeQuery;
317
314
  console.log(`Executing insertMany via: ${queryToLog}`);
318
315
  resolve(queryHandler(state, query, addRowsToRefs, options));
@@ -358,7 +355,7 @@ function upsert(table, uuid, record, options) {
358
355
  UPDATE SET [--REDACTED--]
359
356
  WHEN NOT MATCHED THEN
360
357
  INSERT (${insertColumns}) VALUES [--REDACTED--];`;
361
- return new Promise((resolve, reject) => {
358
+ return new Promise((resolve) => {
362
359
  const queryToLog = options && options.logValues ? query : safeQuery;
363
360
  console.log(`Executing upsert via: ${queryToLog}`);
364
361
  resolve(queryHandler(state, query, addRowsToRefs, options));
@@ -376,7 +373,7 @@ function upsertIf(logical, table, uuid, record, options) {
376
373
  const [recordData] = expandReferences(state, record);
377
374
  const columns = Object.keys(recordData).sort();
378
375
  const [logicalData] = expandReferences(state, logical);
379
- return new Promise((resolve, reject) => {
376
+ return new Promise((resolve) => {
380
377
  if (!logicalData) {
381
378
  console.log(`Skipping upsert for ${uuid}.`);
382
379
  resolve(state);
@@ -426,7 +423,7 @@ function upsertMany(table, uuid, records, options) {
426
423
  const { connection } = state;
427
424
  try {
428
425
  const [recordData] = expandReferences(state, records);
429
- return new Promise((resolve, reject) => {
426
+ return new Promise((resolve) => {
430
427
  if (!recordData || recordData.length === 0) {
431
428
  console.log("No records provided; skipping upsert.");
432
429
  resolve(state);
@@ -495,7 +492,7 @@ function insertTable(tableName, columns, options) {
495
492
  const { connection } = state;
496
493
  try {
497
494
  const [data] = expandReferences(state, columns);
498
- return new Promise((resolve, reject) => {
495
+ return new Promise((resolve) => {
499
496
  if (!data || data.length === 0) {
500
497
  console.log("No columns provided; skipping table creation.");
501
498
  resolve(state);
@@ -521,7 +518,7 @@ function modifyTable(tableName, columns, options) {
521
518
  const { connection } = state;
522
519
  try {
523
520
  const [data] = expandReferences(state, columns);
524
- return new Promise((resolve, reject) => {
521
+ return new Promise((resolve) => {
525
522
  if (!data || data.length === 0) {
526
523
  console.log("No columns provided; skipping table modification.");
527
524
  resolve(state);
@@ -560,7 +557,6 @@ export {
560
557
  findValue,
561
558
  fn,
562
559
  fnIf,
563
- http,
564
560
  insert,
565
561
  insertMany,
566
562
  insertTable,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openfn/language-mssql",
3
3
  "label": "MSSQL",
4
- "version": "5.2.3",
4
+ "version": "6.0.1",
5
5
  "description": "A Microsoft SQL language pack for OpenFn",
6
6
  "exports": {
7
7
  ".": {
@@ -170,4 +170,4 @@ export function insertTable(tableName: string, columns: any[], options: object):
170
170
  * @returns {Operation}
171
171
  */
172
172
  export function modifyTable(tableName: string, columns: any[], options: object): Operation;
173
- export { alterState, combine, dataPath, dataValue, dateFns, each, field, fields, fn, fnIf, http, lastReferenceValue, cursor, merge, sourceValue, as } from "@openfn/language-common";
173
+ export { alterState, combine, dataPath, dataValue, dateFns, each, field, fields, fn, fnIf, lastReferenceValue, cursor, merge, sourceValue, as } from "@openfn/language-common";