prostgles-server 4.0.11 → 4.0.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqB,MAAM,kCAAkC,CAAC;AAEnG,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kDAA8D,IAAI;iBACpF,aAAa,EAAE;UACtB,iBAAiB,EAAE;EAyD1B,CAAA"}
1
+ {"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqB,MAAM,kCAAkC,CAAC;AAEnG,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kDAA8D,IAAI;iBACpF,aAAa,EAAE;UACtB,iBAAiB,EAAE;EAwC1B,CAAA"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFutureTableSchema = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
+ const DboBuilder_1 = require("../DboBuilder");
6
+ const { TransactionMode, isolationLevel } = DboBuilder_1.pgp.txMode;
5
7
  const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
6
8
  const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
7
9
  const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db }) => {
@@ -9,21 +11,10 @@ const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = []
9
11
  let cols = [];
10
12
  const ROLLBACK = "Rollback";
11
13
  try {
12
- await db.tx(async (t) => {
13
- // const { v } = await t.one("SELECT md5(random()::text) as v");
14
- // /** TODO: create all tables in a random new schema */
15
- // const randomTableName = `prostgles_constr_${v}`;
16
- // /* References are removed to avoid potential issues with ftables missing */
17
- // const columnDefsWithoutReferences = columnDefs.map(cdef => {
18
- // const refIdx = cdef.toLowerCase().indexOf(" references ");
19
- // if(refIdx < 0) return cdef;
20
- // return cdef.slice(0, refIdx);
21
- // });
22
- // const query = `CREATE TABLE ${randomTableName} (
23
- // ${columnDefsWithoutReferences.join(",\n")}
24
- // );
25
- // ${alterQueries}
26
- // `;
14
+ const txMode = new TransactionMode({
15
+ tiLevel: isolationLevel.serializable
16
+ });
17
+ await db.tx({ mode: txMode }, async (t) => {
27
18
  const tableEsc = (0, prostgles_types_1.asName)(tableName);
28
19
  const consQueries = constraintDefs.map(c => `ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${(0, prostgles_types_1.asName)(c.name)}` : ""} ${c.content};`).join("\n");
29
20
  const query = `
@@ -1 +1 @@
1
- {"version":3,"file":"getFutureTableSchema.js","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AAGzC,yEAAgF;AAChF,qFAAmG;AAS5F,MAAM,oBAAoB,GAAG,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,EAAQ,EAGhG,EAAE;IAEH,IAAI,WAAW,GAAoB,EAAE,CAAC;IACtC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,IAAI;QACF,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YACpB,gEAAgE;YAEhE,wDAAwD;YACxD,mDAAmD;YAEnD,8EAA8E;YAC9E,+DAA+D;YAC/D,+DAA+D;YAC/D,gCAAgC;YAChC,kCAAkC;YAClC,MAAM;YAIN,oDAAoD;YACpD,iDAAiD;YACjD,OAAO;YACP,oBAAoB;YACpB,KAAK;YAEL,MAAM,QAAQ,GAAG,IAAA,wBAAM,EAAC,SAAS,CAAC,CAAC;YAEnC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzC,eAAe,QAAQ,QAAQ,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,eAAe,IAAA,wBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,KAAK,GAAG;+BACW,QAAQ;uBAChB,QAAQ;YACnB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;UAExB,WAAW;OACd,CAAA;YAED,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,WAAW,GAAG,MAAM,IAAA,kDAAiB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,IAAI,GAAG,MAAM,IAAA,0CAAe,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE1D,eAAe;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;KAEJ;IAAC,OAAM,CAAC,EAAC;QACR,IAAG,CAAC,KAAK,QAAQ,EAAE;YACjB,MAAM,CAAC,CAAC;SACT;KACF;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAA;AA3DY,QAAA,oBAAoB,wBA2DhC"}
1
+ {"version":3,"file":"getFutureTableSchema.js","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AACzC,8CAAoC;AAEpC,MAAM,EAAC,eAAe,EAAE,cAAc,EAAC,GAAG,gBAAG,CAAC,MAAM,CAAC;AACrD,yEAAgF;AAChF,qFAAmG;AAS5F,MAAM,oBAAoB,GAAG,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,EAAQ,EAGhG,EAAE;IAEH,IAAI,WAAW,GAAoB,EAAE,CAAC;IACtC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,OAAO,EAAE,cAAc,CAAC,YAAY;SACrC,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAA,wBAAM,EAAC,SAAS,CAAC,CAAC;YAEnC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzC,eAAe,QAAQ,QAAQ,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,eAAe,IAAA,wBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,KAAK,GAAG;+BACW,QAAQ;uBAChB,QAAQ;YACnB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;UAExB,WAAW;OACd,CAAA;YAED,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,WAAW,GAAG,MAAM,IAAA,kDAAiB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,IAAI,GAAG,MAAM,IAAA,0CAAe,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE1D,eAAe;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;KAEJ;IAAC,OAAM,CAAC,EAAC;QACR,IAAG,CAAC,KAAK,QAAQ,EAAE;YACjB,MAAM,CAAC,CAAC;SACT;KACF;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAA;AA1CY,QAAA,oBAAoB,wBA0ChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,eAAO,MAAM,qBAAqB,+CAAsD,IAAI;gBAC9E,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;cA8GlB,CAAA"}
1
+ {"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,eAAO,MAAM,qBAAqB,+CAAsD,IAAI;gBAC9E,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;cA8GlB,CAAA"}
@@ -63,7 +63,7 @@ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler })
63
63
  alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.nullable ? "SET" : "DROP"} NOT NULL;`);
64
64
  }
65
65
  else if (newCol.udt_name !== c.udt_name) {
66
- alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name};`);
66
+ alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name} USING ${(0, prostgles_types_1.asName)(c.column_name)}::${newCol.udt_name};`);
67
67
  }
68
68
  else if (newCol.column_default !== c.column_default) {
69
69
  const colConfig = colDefs.find(cd => cd.name === c.column_name);
@@ -1 +1 @@
1
- {"version":3,"file":"getTableColumnQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":";;;AAAA,qDAA+E;AAE/E,4FAAyF;AACzF,yEAAuF;AAGvF,iEAA8D;AASvD,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAQ,EAKzF,EAAE;IAEH,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE;QAE/C,MAAM,kBAAkB,GAAG,IAAA,yBAAO,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,KAAK,IAAI,IAAA,0BAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QACjF,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,IAAG,kBAAkB,EAAC;YACpB,IAAI;gBACF,MAAM,EAAE,CAAC,GAAG,CAAC,qDAAyB,CAAC,CAAC;aACzC;YAAC,OAAM,GAAQ,EAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,GAAG,CAAC,CAAC;gBACrF,MAAM,GAAG,CAAC;aACX;SACF;QAED,MAAM,OAAO,GAAG,IAAA,yBAAO,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACpD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAQ,CAAC,CAAC,CAAE,CAAC;YACtC,+BAA+B;YAC/B,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,CAAA;QAC7D,CAAC,CAAa,CAAC;QAEf,MAAM,OAAO,GAAoC,EAAE,CAAC;QAEpD,IAAI,KAAK,EAAC,MAAM,OAAO,IAAI,OAAO,EAAE;YAClC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAQ,CAAC,OAAO,CAAE,CAAC;YAE7C,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAwB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAClG,IAAG,MAAM,EAAC;gBACR,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC,CAAC;aAC7C;SACF;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAG,CAAC,OAAO,CAAC,MAAM,EAAC;YACjB,OAAO,SAAS,CAAC;SAClB;QAGD,MAAM,MAAM,GAAG,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,EAAE;YACjB,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAEhD;aAAM,IAAI,YAAY,EAAE;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAA,0CAAe,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAEjE,sBAAsB;YACtB,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAE3G,8BAA8B;YAC9B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAoB,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3G,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACnB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;gBACvE,IAAG,CAAC,MAAM,EAAC;oBACT,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;iBACrC;qBAAM,IAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAC;oBACvC,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,iBAAiB,IAAA,wBAAM,EAAC,CAAC,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,CAAA;iBACvH;qBAAM,IAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAC;oBACvC,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,iBAAiB,IAAA,wBAAM,EAAC,CAAC,CAAC,WAAW,CAAC,SAAS,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;iBACnG;qBAAM,IAAG,MAAM,CAAC,cAAc,KAAK,CAAC,CAAC,cAAc,EAAC;oBACnD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;oBAChE,IAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAC;wBAC1I,kDAAkD;qBACnD;yBAAM;wBACL,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,iBAAiB,IAAA,wBAAM,EAAC,CAAC,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAA,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;qBACtK;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,mBAAmB,EAAE;YAC5E,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,KAAK,GAAG,wBAAwB,IAAA,wBAAM,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,SAAS,GAAG,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,YAAY,CAAA,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAA,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtG,gBAAgB,IAAA,wBAAM,EAAC,SAAS,CAAC,IAAI;gBACnC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzB,IAAI;aACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAEf;aAAM;YACL,SAAS,GAAG;gBACV,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,gBAAgB,IAAA,wBAAM,EAAC,CAAC,CAAC,GAAG,CAAC;gBAClE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC;gBACvD,GAAG,iBAAiB;aACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACd;QAED,OAAO;YACL,SAAS;YACT,UAAU;YACV,QAAQ;YACR,aAAa;SACd,CAAA;KACF;SAAM;QACL,OAAO,SAAS,CAAC;KAClB;AAGH,CAAC,CAAA;AAlHY,QAAA,qBAAqB,yBAkHjC"}
1
+ {"version":3,"file":"getTableColumnQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["getFutureTableSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqB,MAAM,kCAAkC,CAAC;AAEnG,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kDAA8D,IAAI;iBACpF,aAAa,EAAE;UACtB,iBAAiB,EAAE;EAyD1B,CAAA"}
1
+ {"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["getFutureTableSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqB,MAAM,kCAAkC,CAAC;AAEnG,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kDAA8D,IAAI;iBACpF,aAAa,EAAE;UACtB,iBAAiB,EAAE;EAyC1B,CAAA"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFutureTableSchema = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
+ const DboBuilder_1 = require("../DboBuilder");
6
+ const { TransactionMode, isolationLevel } = DboBuilder_1.pgp.txMode;
5
7
  const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
6
8
  const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
7
9
  const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db }) => {
@@ -9,21 +11,11 @@ const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = []
9
11
  let cols = [];
10
12
  const ROLLBACK = "Rollback";
11
13
  try {
12
- await db.tx(async (t) => {
13
- // const { v } = await t.one("SELECT md5(random()::text) as v");
14
- // /** TODO: create all tables in a random new schema */
15
- // const randomTableName = `prostgles_constr_${v}`;
16
- // /* References are removed to avoid potential issues with ftables missing */
17
- // const columnDefsWithoutReferences = columnDefs.map(cdef => {
18
- // const refIdx = cdef.toLowerCase().indexOf(" references ");
19
- // if(refIdx < 0) return cdef;
20
- // return cdef.slice(0, refIdx);
21
- // });
22
- // const query = `CREATE TABLE ${randomTableName} (
23
- // ${columnDefsWithoutReferences.join(",\n")}
24
- // );
25
- // ${alterQueries}
26
- // `;
14
+ const txMode = new TransactionMode({
15
+ tiLevel: isolationLevel.serializable,
16
+ // deferrable: true
17
+ });
18
+ await db.tx({ mode: txMode }, async (t) => {
27
19
  const tableEsc = (0, prostgles_types_1.asName)(tableName);
28
20
  const consQueries = constraintDefs.map(c => `ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${(0, prostgles_types_1.asName)(c.name)}` : ""} ${c.content};`).join("\n");
29
21
  const query = `
@@ -1,6 +1,7 @@
1
1
  import { asName } from "prostgles-types";
2
+ import { pgp } from "../DboBuilder";
2
3
  import { DB } from "../Prostgles";
3
- import { log } from "../PubSubManager/PubSubManager";
4
+ const {TransactionMode, isolationLevel} = pgp.txMode;
4
5
  import { ColumnMinimalInfo, getTableColumns } from "./getColumnDefinitionQuery";
5
6
  import { ColConstraint, ConstraintDef, getColConstraints } from "./getConstraintDefinitionQueries";
6
7
 
@@ -20,27 +21,10 @@ export const getFutureTableSchema = async ({ columnDefs, tableName, constraintDe
20
21
  let cols: ColumnMinimalInfo[] = [];
21
22
  const ROLLBACK = "Rollback";
22
23
  try {
23
- await db.tx(async t => {
24
- // const { v } = await t.one("SELECT md5(random()::text) as v");
25
-
26
- // /** TODO: create all tables in a random new schema */
27
- // const randomTableName = `prostgles_constr_${v}`;
28
-
29
- // /* References are removed to avoid potential issues with ftables missing */
30
- // const columnDefsWithoutReferences = columnDefs.map(cdef => {
31
- // const refIdx = cdef.toLowerCase().indexOf(" references ");
32
- // if(refIdx < 0) return cdef;
33
- // return cdef.slice(0, refIdx);
34
- // });
35
-
36
-
37
-
38
- // const query = `CREATE TABLE ${randomTableName} (
39
- // ${columnDefsWithoutReferences.join(",\n")}
40
- // );
41
- // ${alterQueries}
42
- // `;
43
-
24
+ const txMode = new TransactionMode({
25
+ tiLevel: isolationLevel.serializable
26
+ });
27
+ await db.tx({ mode: txMode }, async t => {
44
28
  const tableEsc = asName(tableName);
45
29
 
46
30
  const consQueries = constraintDefs.map(c =>
@@ -1 +1 @@
1
- {"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,eAAO,MAAM,qBAAqB,+CAAsD,IAAI;gBAC9E,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;EA8GlB,CAAA"}
1
+ {"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,eAAO,MAAM,qBAAqB,+CAAsD,IAAI;gBAC9E,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;EA8GlB,CAAA"}
@@ -63,7 +63,7 @@ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler })
63
63
  alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.nullable ? "SET" : "DROP"} NOT NULL;`);
64
64
  }
65
65
  else if (newCol.udt_name !== c.udt_name) {
66
- alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name};`);
66
+ alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name} USING ${(0, prostgles_types_1.asName)(c.column_name)}::${newCol.udt_name};`);
67
67
  }
68
68
  else if (newCol.column_default !== c.column_default) {
69
69
  const colConfig = colDefs.find(cd => cd.name === c.column_name);
@@ -2,8 +2,7 @@ import { getKeys, asName as _asName, isObject, asName } from "prostgles-types";
2
2
  import { DB, DBHandlerServer } from "../Prostgles";
3
3
  import { validate_jsonb_schema_sql } from "../JSONBValidation/validate_jsonb_schema_sql";
4
4
  import { getColumnDefinitionQuery, getTableColumns } from "./getColumnDefinitionQuery";
5
- import { TableConfig } from "./TableConfig";
6
- import { log } from "../PubSubManager/PubSubManager";
5
+ import { TableConfig } from "./TableConfig";
7
6
  import { getFutureTableSchema } from "./getFutureTableSchema";
8
7
 
9
8
  type Args = {
@@ -86,7 +85,7 @@ export const getTableColumnQueries = async ({ db, tableConf, tableName, tableHan
86
85
  } else if(newCol.nullable !== c.nullable){
87
86
  alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} ${newCol.nullable? "SET" : "DROP"} NOT NULL;`)
88
87
  } else if(newCol.udt_name !== c.udt_name){
89
- alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} TYPE ${newCol.udt_name};`)
88
+ alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} TYPE ${newCol.udt_name} USING ${asName(c.column_name)}::${newCol.udt_name};`)
90
89
  } else if(newCol.column_default !== c.column_default){
91
90
  const colConfig = colDefs.find(cd => cd.name === c.column_name);
92
91
  if(["serial", "bigserial"].some(t => colConfig?.def.toLowerCase().includes(` ${t}`)) && c.column_default?.toLowerCase().includes("nextval")){
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.0.11",
3
+ "version": "4.0.12",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 5484
1
+ 202015
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.0.10",
24
+ "version": "4.0.11",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.272.0",