@saltcorn/sql 0.5.5 → 0.5.6

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/action.js CHANGED
@@ -61,17 +61,23 @@ module.exports = {
61
61
  });
62
62
 
63
63
  const client = is_sqlite ? db : await db.getClient();
64
+ db.sql_log("BEGIN;");
64
65
  await client.query(`BEGIN;`);
65
66
  if (!is_sqlite) {
67
+ db.sql_log(`SET LOCAL search_path TO "${db.getTenantSchema()}";`);
66
68
  await client.query(
67
69
  `SET LOCAL search_path TO "${db.getTenantSchema()}";`
68
70
  );
69
- if (read_only)
71
+ if (read_only) {
72
+ db.sql_log(`SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`);
70
73
  await client.query(
71
74
  `SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`
72
75
  );
76
+ }
73
77
  }
78
+ db.sql_log(sql, phValues);
74
79
  const qres = await client.query(sql, phValues);
80
+ db.sql_log("COMMIT;");
75
81
 
76
82
  await client.query(`COMMIT;`);
77
83
 
package/agent-skill.js CHANGED
@@ -47,16 +47,22 @@ class SQLQuerySkill {
47
47
  });
48
48
  }
49
49
  const client = is_sqlite ? db : await db.getClient();
50
+ db.sql_log("BEGIN;");
50
51
  await client.query(`BEGIN;`);
51
52
  if (!is_sqlite) {
53
+ db.sql_log(`SET LOCAL search_path TO "${db.getTenantSchema()}";`);
52
54
  await client.query(`SET LOCAL search_path TO "${db.getTenantSchema()}";`);
53
- if (read_only)
55
+ if (read_only) {
56
+ db.sql_log(`SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`);
54
57
  await client.query(
55
58
  `SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`
56
59
  );
60
+ }
57
61
  }
62
+ db.sql_log(this.sql, phValues);
58
63
  const qres = await client.query(this.sql, phValues);
59
64
 
65
+ db.sql_log("COMMIT;");
60
66
  await client.query(`COMMIT;`);
61
67
 
62
68
  if (!is_sqlite) client.release(true);
package/index.js CHANGED
@@ -152,17 +152,21 @@ module.exports = {
152
152
  const is_sqlite = db.isSQLite;
153
153
 
154
154
  const client = is_sqlite ? db : await db.getClient();
155
+ db.sql_log("BEGIN;");
155
156
  await client.query(`BEGIN;`);
156
157
  if (!is_sqlite) {
158
+ db.sql_log(`SET LOCAL search_path TO "${db.getTenantSchema()}";`);
157
159
  await client.query(
158
160
  `SET LOCAL search_path TO "${db.getTenantSchema()}";`
159
161
  );
162
+ db.sql_log(`SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`);
160
163
  await client.query(
161
164
  `SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`
162
165
  );
163
166
  }
167
+ db.sql_log(query, parameters || []);
164
168
  const qres = await client.query(query, parameters || []);
165
-
169
+ db.sql_log("ROLLBACK;");
166
170
  await client.query(`ROLLBACK;`);
167
171
  return qres;
168
172
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saltcorn/sql",
3
- "version": "0.5.5",
3
+ "version": "0.5.6",
4
4
  "description": "Actions and views based on SQL",
5
5
  "main": "index.js",
6
6
  "dependencies": {
package/table-provider.js CHANGED
@@ -291,9 +291,7 @@ const getSqlQuery = (sql, cfg, where, opts) => {
291
291
  : { type: "number", value: "$" + phIndex },
292
292
  };
293
293
  phIndex += 1;
294
- phValues.push(
295
- wherek?.ilike || wherek?.gt || wherek?.lt || wherek
296
- );
294
+ phValues.push(wherek?.ilike || wherek?.gt || wherek?.lt || wherek);
297
295
  if (!sqlAggrCol) {
298
296
  if (!ast[0].where) ast[0].where = newClause;
299
297
  else {
@@ -419,15 +417,18 @@ const runQuery = async (cfg, where, opts) => {
419
417
  const { sqlQ, phValues } = getSqlQuery(sql, cfg, where, opts);
420
418
 
421
419
  const client = is_sqlite ? db : await db.getClient();
420
+ db.sql_log("BEGIN;");
422
421
  await client.query(`BEGIN;`);
423
422
  if (!is_sqlite) {
423
+ db.sql_log(`SET LOCAL search_path TO "${db.getTenantSchema()}";`);
424
424
  await client.query(`SET LOCAL search_path TO "${db.getTenantSchema()}";`);
425
+ db.sql_log(`SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`);
425
426
  await client.query(`SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`);
426
427
  }
427
-
428
- //console.trace({ sqlQ, phValues, opts });
428
+ db.sql_log(sqlQ, phValues);
429
429
  const qres = await client.query(sqlQ, phValues);
430
430
  qres.query = sqlQ;
431
+ db.sql_log("ROLLBACK;");
431
432
  await client.query(`ROLLBACK;`);
432
433
 
433
434
  if (!is_sqlite) client.release(true);
@@ -454,15 +455,20 @@ const countRows = async (cfg, where, opts) => {
454
455
  const { sqlQ, phValues } = getSqlQuery(sql, cfg, where, opts);
455
456
 
456
457
  const client = is_sqlite ? db : await db.getClient();
458
+ db.sql_log("BEGIN;");
457
459
  await client.query(`BEGIN;`);
458
460
  if (!is_sqlite) {
461
+ db.sql_log(`SET LOCAL search_path TO "${db.getTenantSchema()}";`);
459
462
  await client.query(`SET LOCAL search_path TO "${db.getTenantSchema()}";`);
463
+ db.sql_log(`SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`);
460
464
  await client.query(`SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY;`);
461
465
  }
462
466
 
463
467
  //console.trace({ sqlQ, phValues, opts });
468
+ db.sql_log(`select count(*) from (${sqlQ})`, phValues);
464
469
  const qres = await client.query(`select count(*) from (${sqlQ})`, phValues);
465
470
  qres.query = sqlQ;
471
+ db.sql_log("ROLLBACK;");
466
472
  await client.query(`ROLLBACK;`);
467
473
 
468
474
  if (!is_sqlite) client.release(true);