@spinajs/orm-postgres 2.0.553 → 2.0.555

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/README.md CHANGED
@@ -42,23 +42,61 @@ import { Configuration } from '@spinajs/configuration';
42
42
  | Insert-or-ignore | `INSERT IGNORE` | `ON CONFLICT DO NOTHING` |
43
43
  | Offset without limit | `LIMIT 18446744073709551615` | bare `OFFSET` |
44
44
  | `ENUM` / `SET` columns | native types | `TEXT` (+ `CHECK (col IN (...))` for enum) |
45
- | `DATETIME` / `DOUBLE` / `BLOB` / `JSON` | native names | `TIMESTAMP` / `DOUBLE PRECISION` / `BYTEA` / `JSONB` |
45
+ | `DOUBLE` / `BLOB` / `JSON` | native names | `DOUBLE PRECISION` / `BYTEA` / `JSONB` |
46
46
  | `UNSIGNED`, per-column `CHARACTER SET`, inline `COMMENT` | supported | dropped (no postgres spelling) |
47
47
  | `MODIFY column` | one clause restates the column | `ALTER COLUMN ... TYPE / SET / DROP` actions, MODIFY semantics kept (omitted NOT NULL / DEFAULT is dropped) |
48
48
  | `CREATE DATABASE IF NOT EXISTS` | supported | refused — postgres has no such clause |
49
49
  | `CREATE EVENT`, table history triggers, `CREATE TABLE ... LIKE` | MySQL syntax | unregistered — fail with a DI error naming the abstraction |
50
50
  | `DECIMAL` / `NUMERIC` / `BIGINT` in responses | driver-dependent | strings (node-postgres refuses to lose precision above 2^53); `ResponseSchemaTypes` says so |
51
+ | `dateTime` / `timestamp` columns | `DATETIME` | `TIMESTAMPTZ(3)`; the driver writes and reads UTC instants (milliseconds; microseconds truncated), a `DateTime` read back is in the UTC zone, and every pooled session runs with `TimeZone = UTC`. Legacy `TIMESTAMP` columns are read as UTC, see [Upgrading `TIMESTAMP` columns](#upgrading-timestamp-columns-created-by-earlier-versions) |
52
+ | `DATE` columns | calendar day | calendar day; a raw query returns it as a `Date` at UTC midnight (pg-types alone would use the process zone) |
53
+ | Column defaults (`tableInfo`) | literal values | literal defaults become values of the column type; expression defaults (`gen_random_uuid()`, `CURRENT_TIMESTAMP`, sequences) stay on the server: a new model leaves the column unset and the insert writes `DEFAULT` |
54
+ | Joined table references | `` `db`.`table` `` (sibling databases) | unqualified; join key columns quoted |
55
+ | `COUNT(*)` | number | `bigint`; `count()` / `selectCount()` return numbers |
56
+ | Upsert target of `insert(InsertOrUpdate)` | `ON DUPLICATE KEY` (any unique key) | the primary key when the row carries it, else the one unique column it carries; a row carrying several unique columns needs `insert().onDuplicate(column)` |
57
+ | JSON string value in a `jsonb` column | string | string; a string value that is itself valid JSON text (`"123"`) comes back parsed |
58
+ | Explicit value into an identity key | moves `AUTO_INCREMENT` | does not move the identity; run `SELECT setval(pg_get_serial_sequence('"t"', 'Id'), (SELECT max("Id") FROM "t"))` after explicit keys |
59
+ | Failed statement inside a transaction | transaction continues | transaction is aborted (`25P02`) until rollback; wrap recoverable statements in a nested `transaction()` (savepoint) |
60
+ | `?` in raw SQL | placeholder | the first N `?` (N = bindings) become `$1..$N`, including jsonb `?` operators; with bindings, use `jsonb_exists()` / `jsonb_exists_any()` |
61
+ | `dropColumn()` | unquoted name | quoted, so mixed-case names are not folded to lower case |
51
62
 
52
63
  Transactions run on a dedicated pooled client with full savepoint support; all four
53
64
  standard isolation levels are accepted (`READ UNCOMMITTED` behaves as `READ COMMITTED`,
54
65
  postgres' documented, standard-permitted upgrade).
55
66
 
67
+ ### Upgrading `TIMESTAMP` columns created by earlier versions
68
+
69
+ New `dateTime` / `timestamp` columns are `TIMESTAMPTZ(3)`. Existing `TIMESTAMP` (without time zone) columns keep
70
+ working: the driver writes UTC into them and reads them as UTC. Rows written by earlier versions hold the wall time
71
+ of the process that wrote them, so they read shifted by that zone's offset until converted. Convert each column
72
+ once, naming the zone the old rows were written in (the app servers' `TZ`; `UTC` in most containers):
73
+
74
+ ALTER TABLE "orders" ALTER COLUMN "CreatedAt" TYPE TIMESTAMPTZ(3) USING "CreatedAt" AT TIME ZONE 'Europe/Warsaw';
75
+
76
+ Do this in a migration (raw query), one statement per column. Rows written by this version into a still
77
+ unconverted column are UTC wall time: if both kinds are mixed, convert before deploying this version, or split
78
+ the rows by their insert time.
79
+
56
80
  ## Running integration tests
57
81
 
58
- The integration suite expects the docker fixture from the repository root:
82
+ docker compose --profile test up -d postgres
83
+ npx tsc -b packages/orm-postgres/tsconfig.mjs.json
84
+ cd packages/orm-postgres && npm run test:integration
59
85
 
60
- ```
61
- docker compose --profile test up -d postgres
62
- ```
86
+ One file: `npx ts-mocha -p tsconfig.json --config .mocharc.integration.json test/integration/<file>.test.ts`.
87
+
88
+ Each suite creates its own schema `it_<suite>_<pid>_<random>` in database `orm_postgres_it` (created on first run)
89
+ and drops it afterwards. The suites skip with a warning when the server is unreachable.
90
+
91
+ | Variable | Default |
92
+ | --- | --- |
93
+ | `ORM_TEST_POSTGRES_HOST` | `127.0.0.1` |
94
+ | `ORM_TEST_POSTGRES_PORT` | `15432` |
95
+ | `ORM_TEST_POSTGRES_USER` / `_PASSWORD` | `postgres` / `postgres` |
96
+ | `ORM_TEST_POSTGRES_DATABASE` | `orm_postgres_it` |
97
+ | `ORM_TEST_POSTGRES_CONTAINER` | `spinajs-orm-test-postgres` (the restart test runs `docker restart` on it) |
98
+ | `ORM_TEST_POSTGRES_REQUIRED` | unset; `1` fails instead of skipping (CI) |
99
+ | `ORM_TEST_POSTGRES_KEEP_SCHEMA` | unset; `1` keeps each suite's schema for inspection |
63
100
 
64
- It listens on port `15432` by default; override with `ORM_TEST_POSTGRES_PORT`.
101
+ **The infrastructure suite restarts the container**, and the time suite changes the integration database's
102
+ default `timezone` for its duration. Do not point the suites at a server you care about.
@@ -1,7 +1,7 @@
1
1
  import { Container, IContainer } from '@spinajs/di';
2
2
  import { Log } from '@spinajs/log';
3
3
  import { ICompilerOutput, OnDuplicateQueryBuilder, InsertQueryBuilder, TableExistsCompiler, TableExistsQueryBuilder, LimitQueryCompiler, LimitBuilder, CreateDatabaseCompiler, CreateDatabaseQueryBuilder, IdentifierQuoter, TableAliasCompiler, CreateViewQueryBuilder } from '@spinajs/orm';
4
- import { SqlInsertQueryCompiler, SqlColumnQueryCompiler, SqlAlterColumnQueryCompiler, SqlOnDuplicateQueryCompiler, SqlDefaultValueBuilder, SqlCreateViewQueryCompiler } from '@spinajs/orm-sql';
4
+ import { SqlInsertQueryCompiler, SqlColumnQueryCompiler, SqlAlterColumnQueryCompiler, SqlAlterTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlDefaultValueBuilder, SqlCreateViewQueryCompiler } from '@spinajs/orm-sql';
5
5
  export declare class PostgresTableExistsCompiler implements TableExistsCompiler {
6
6
  protected builder: TableExistsQueryBuilder;
7
7
  constructor(builder: TableExistsQueryBuilder);
@@ -69,7 +69,7 @@ export declare class PostgresInsertQueryCompiler extends SqlInsertQueryCompiler
69
69
  * it back.
70
70
  * - UNSIGNED, CHARACTER SET and inline COMMENT have no postgres spelling and are dropped;
71
71
  * COLLATE is kept ( postgres collations are identifiers, so it is quoted ).
72
- * - MySQL type names map to their postgres equivalents ( DATETIME → TIMESTAMP,
72
+ * - MySQL type names map to their postgres equivalents ( DATETIME → TIMESTAMPTZ(3),
73
73
  * DOUBLE → DOUBLE PRECISION, BLOB → BYTEA, JSON → JSONB ).
74
74
  * - BOOLEAN takes no integer default: a numeric default on a boolean column ( MySQL's
75
75
  * 0/1 ) renders as FALSE/TRUE.
@@ -103,6 +103,10 @@ export declare class PostgresAlterColumnQueryCompiler extends SqlAlterColumnQuer
103
103
  protected _add(definition: string): string | null;
104
104
  protected _modify(_definition: string): string | null;
105
105
  }
106
+ /** Postgres folds an unquoted identifier to lower case, so a dropped column is quoted. */
107
+ export declare class PostgresAlterTableQueryCompiler extends SqlAlterTableQueryCompiler {
108
+ protected droppedColumn(column: string): string;
109
+ }
106
110
  /**
107
111
  * Postgres spells database DDL its own way: encoding is `ENCODING`, not CHARACTER SET,
108
112
  * and CREATE DATABASE has no IF NOT EXISTS at all — existence has to be checked by the
@@ -1 +1 @@
1
- {"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,SAAS,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAErF,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAY,uBAAuB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAgB,kBAAkB,EAAE,YAAY,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,gBAAgB,EAAuB,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3U,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,sBAAsB,EAA0C,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAGpQ,qBACa,2BAA4B,YAAW,mBAAmB;IACzD,SAAS,CAAC,OAAO,EAAE,uBAAuB;IAAtD,YAAsB,OAAO,EAAE,uBAAuB,EAIrD;IAEM,OAAO,IAAI,eAAe,CAgBhC;CACF;AAED;;;;;GAKG;AACH,qBACa,0BAA2B,SAAQ,kBAAkB;IAChE,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAE1C,YAAY,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAQzC;IAEM,OAAO,IAAI,eAAe,CAmBhC;CACF;AAED;;;;;GAKG;AACH,qBACa,gCAAiC,SAAQ,2BAA2B;IAC/E,YAAY,OAAO,EAAE,uBAAuB,EAE3C;IAEM,OAAO;;;MAgCb;CACF;AAED,qBAEa,2BAA4B,SAAQ,sBAAsB;IACrE,YAAY,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAE7D;IAEM,OAAO;QASV,QAAQ;QACR,UAAU;MAEb;IAED;;;OAGG;IACH,SAAS,CAAC,wBAAwB,IAAI,MAAM,CAE3C;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAM,IAAI,MAAM,CAEzB;IAED;;;OAGG;IACH,SAAS,CAAC,SAAS,WAOlB;IAED,SAAS,CAAC,IAAI,WAGb;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,2BAA4B,SAAQ,sBAAsB;IAC9D,OAAO,IAAI,eAAe,CAkChC;IAED;;;OAGG;IACI,iBAAiB,IAAI,MAAM,CAEjC;IAED,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAMnC;IAED;;;OAGG;IACI,cAAc,IAAI,MAAM,CAkD9B;CACF;AAED;;;;;;;;GAQG;AACH,qBAEa,gCAAiC,SAAQ,2BAA2B;IAE/E,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,SAAS,CAAC,iBAAiB,IAAI,eAAe,CAE7C;IAED,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOhD;IAED,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYpD;CACF;AAED,0FAA0F;AAC1F,qBAEa,+BAAgC,SAAQ,0BAA0B;IAC7E,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9C;CACF;AAED;;;;GAIG;AACH,qBAEa,mCAAoC,SAAQ,sBAAsB;IAIjE,SAAS,CAAC,SAAS,EAAE,SAAS;IAAE,SAAS,CAAC,OAAO,EAAE,0BAA0B;IAFlF,MAAM,EAAE,gBAAgB,CAAC;IAEhC,YAAsB,SAAS,EAAE,SAAS,EAAY,OAAO,EAAE,0BAA0B,EAExF;IAEM,OAAO,IAAI,eAAe,CAYhC;CACF;AAMD;;;GAGG;AACH,qBACa,2BAA2B,CAAC,CAAC,CAAE,SAAQ,sBAAsB,CAAC,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,CAGf;CACF;AAED;;;;;;;;;GASG;AACH,qBACa,0BAA2B,YAAW,kBAAkB;IAE5D,MAAM,EAAE,gBAAgB,CAAC;IAEzB,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,UAQjF;CACF;AAED,qBAEa,0BAA2B,SAAQ,0BAA0B;IACxE,SAAS,CAAC,MAAM,SAAc;IAE9B,YAAY,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAEhE;IAED,SAAS,CAAC,QAAQ,IAAI,MAAM,CAE3B;IAED,SAAS,CAAC,UAAU,IAAI,MAAM,CAE7B;IAED,SAAS,CAAC,cAAc,IAAI,MAAM,CAEjC;IAGD,SAAS,CAAC,YAAY,IAAI,MAAM,CAE/B;IAED,SAAS,CAAC,YAAY,IAAI,MAAM,CAE/B;CACF"}
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PostgresCreateViewCompiler = exports.PostgresTableAliasCompiler = exports.PostgresDefaultValueBuilder = exports.PostgresCreateDatabaseQueryCompiler = exports.PostgresAlterColumnQueryCompiler = exports.PostgresColumnQueryCompiler = exports.PostgresInsertQueryCompiler = exports.PostgresOnDuplicateQueryCompiler = exports.PostgresLimitQueryCompiler = exports.PostgresTableExistsCompiler = void 0;
15
+ exports.PostgresCreateViewCompiler = exports.PostgresTableAliasCompiler = exports.PostgresDefaultValueBuilder = exports.PostgresCreateDatabaseQueryCompiler = exports.PostgresAlterTableQueryCompiler = exports.PostgresAlterColumnQueryCompiler = exports.PostgresColumnQueryCompiler = exports.PostgresInsertQueryCompiler = exports.PostgresOnDuplicateQueryCompiler = exports.PostgresLimitQueryCompiler = exports.PostgresTableExistsCompiler = void 0;
16
16
  /* eslint-disable security/detect-object-injection */
17
17
  const di_1 = require("@spinajs/di");
18
18
  const exceptions_1 = require("@spinajs/exceptions");
@@ -198,7 +198,7 @@ exports.PostgresInsertQueryCompiler = PostgresInsertQueryCompiler = __decorate([
198
198
  * it back.
199
199
  * - UNSIGNED, CHARACTER SET and inline COMMENT have no postgres spelling and are dropped;
200
200
  * COLLATE is kept ( postgres collations are identifiers, so it is quoted ).
201
- * - MySQL type names map to their postgres equivalents ( DATETIME → TIMESTAMP,
201
+ * - MySQL type names map to their postgres equivalents ( DATETIME → TIMESTAMPTZ(3),
202
202
  * DOUBLE → DOUBLE PRECISION, BLOB → BYTEA, JSON → JSONB ).
203
203
  * - BOOLEAN takes no integer default: a numeric default on a boolean column ( MySQL's
204
204
  * 0/1 ) renders as FALSE/TRUE.
@@ -295,7 +295,8 @@ let PostgresColumnQueryCompiler = class PostgresColumnQueryCompiler extends orm_
295
295
  return 'TIME';
296
296
  case 'dateTime':
297
297
  case 'timestamp':
298
- return 'TIMESTAMP';
298
+ // instants: the driver converts to UTC; precision 3 because JS dates carry milliseconds
299
+ return 'TIMESTAMPTZ(3)';
299
300
  case 'json':
300
301
  return 'JSONB';
301
302
  default:
@@ -346,6 +347,17 @@ exports.PostgresAlterColumnQueryCompiler = PostgresAlterColumnQueryCompiler = __
346
347
  (0, di_1.NewInstance)(),
347
348
  (0, di_1.Inject)(di_1.Container)
348
349
  ], PostgresAlterColumnQueryCompiler);
350
+ /** Postgres folds an unquoted identifier to lower case, so a dropped column is quoted. */
351
+ let PostgresAlterTableQueryCompiler = class PostgresAlterTableQueryCompiler extends orm_sql_1.SqlAlterTableQueryCompiler {
352
+ droppedColumn(column) {
353
+ return this.container.resolve(orm_1.IdentifierQuoter).quote(column);
354
+ }
355
+ };
356
+ exports.PostgresAlterTableQueryCompiler = PostgresAlterTableQueryCompiler;
357
+ exports.PostgresAlterTableQueryCompiler = PostgresAlterTableQueryCompiler = __decorate([
358
+ (0, di_1.NewInstance)(),
359
+ (0, di_1.Inject)(di_1.Container)
360
+ ], PostgresAlterTableQueryCompiler);
349
361
  /**
350
362
  * Postgres spells database DDL its own way: encoding is `ENCODING`, not CHARACTER SET,
351
363
  * and CREATE DATABASE has no IF NOT EXISTS at all — existence has to be checked by the
@@ -1 +1 @@
1
- {"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { DatetimeValueConverter, IColumnDescriptor, IDehydrateOptions, JsonValueConverter, ModelBase } from '@spinajs/orm';
2
+ import { DateTime } from 'luxon';
3
+ /**
4
+ * Instants go to the server as UTC ISO strings and come back as UTC DateTimes, so neither the
5
+ * process zone nor the session TimeZone moves a stored instant. `dehydrate()` (API output) keeps
6
+ * the formats of the shared SQL converter.
7
+ */
8
+ export declare class PostgresDatetimeValueConverter extends DatetimeValueConverter {
9
+ toDB(value: Date | DateTime | string, _model: ModelBase<unknown>, column: IColumnDescriptor, _options?: any, dehydrateOptions?: IDehydrateOptions): string | number | null | undefined;
10
+ fromDB(value: string | DateTime | Date | number): any;
11
+ }
12
+ /** node-postgres already parses json/jsonb; a string here is either a JSON string value or JSON text from a TEXT column. */
13
+ export declare class PostgresJsonValueConverter extends JsonValueConverter {
14
+ fromDB(value: any): any;
15
+ }
16
+ //# sourceMappingURL=converters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3H,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIjC;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,sBAAsB;IACjE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAiC5L;IAEM,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,CAiB3D;CACF;AAED,4HAA4H;AAC5H,qBAAa,0BAA2B,SAAQ,kBAAkB;IACzD,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAS7B;CACF"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostgresJsonValueConverter = exports.PostgresDatetimeValueConverter = void 0;
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ const orm_1 = require("@spinajs/orm");
6
+ const luxon_1 = require("luxon");
7
+ const NUMERIC_TYPES = ['int', 'integer', 'float', 'double', 'decimal', 'bigint', 'smallint', 'tinyint', 'mediumint', 'int2', 'int4', 'int8', 'numeric', 'float4', 'float8'];
8
+ /**
9
+ * Instants go to the server as UTC ISO strings and come back as UTC DateTimes, so neither the
10
+ * process zone nor the session TimeZone moves a stored instant. `dehydrate()` (API output) keeps
11
+ * the formats of the shared SQL converter.
12
+ */
13
+ class PostgresDatetimeValueConverter extends orm_1.DatetimeValueConverter {
14
+ toDB(value, _model, column, _options, dehydrateOptions) {
15
+ // undefined stays undefined: the insert then writes DEFAULT (e.g. CURRENT_TIMESTAMP) instead of NULL
16
+ if (value === null || value === undefined) {
17
+ return value;
18
+ }
19
+ const dt = typeof value === 'string' ? luxon_1.DateTime.fromISO(value, { setZone: true }) : luxon_1.DateTime.isDateTime(value) ? value : luxon_1.DateTime.fromJSDate(value);
20
+ if (dehydrateOptions) {
21
+ switch (dehydrateOptions.dateTimeFormat) {
22
+ case 'iso':
23
+ return dt.toISO();
24
+ case 'unix':
25
+ return dt.toUnixInteger() ?? 0;
26
+ case 'sql':
27
+ return dt.toSQL({ includeOffset: false });
28
+ }
29
+ }
30
+ if (column && NUMERIC_TYPES.includes(column.Type)) {
31
+ return dt.toUnixInteger();
32
+ }
33
+ if (dehydrateOptions) {
34
+ return dt.toSQL({ includeOffset: false });
35
+ }
36
+ // a DATE is a calendar day in the value's own zone, not an instant
37
+ if (column?.Type === 'date') {
38
+ return dt.toISODate();
39
+ }
40
+ return dt.toUTC().toISO();
41
+ }
42
+ fromDB(value) {
43
+ if (value === null || value === undefined || value === '') {
44
+ return null;
45
+ }
46
+ // model construction runs assigned values through here too; converting the zone would move a DATE's day
47
+ if (luxon_1.DateTime.isDateTime(value)) {
48
+ return value;
49
+ }
50
+ if (value instanceof Date) {
51
+ return luxon_1.DateTime.fromJSDate(value, { zone: 'utc' });
52
+ }
53
+ if (typeof value === 'number') {
54
+ return luxon_1.DateTime.fromSeconds(value, { zone: 'utc' });
55
+ }
56
+ // text without an offset (a raw query, a legacy TIMESTAMP read without the type parser) is UTC
57
+ const iso = luxon_1.DateTime.fromISO(value, { zone: 'utc' });
58
+ return iso.isValid ? iso : luxon_1.DateTime.fromSQL(value, { zone: 'utc' });
59
+ }
60
+ }
61
+ exports.PostgresDatetimeValueConverter = PostgresDatetimeValueConverter;
62
+ /** node-postgres already parses json/jsonb; a string here is either a JSON string value or JSON text from a TEXT column. */
63
+ class PostgresJsonValueConverter extends orm_1.JsonValueConverter {
64
+ fromDB(value) {
65
+ if (typeof value !== 'string') {
66
+ return value;
67
+ }
68
+ try {
69
+ return JSON.parse(value);
70
+ }
71
+ catch {
72
+ return value;
73
+ }
74
+ }
75
+ }
76
+ exports.PostgresJsonValueConverter = PostgresJsonValueConverter;
77
+ //# sourceMappingURL=converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { SqlDriver } from '@spinajs/orm-sql';
3
3
  import pg from 'pg';
4
4
  export * from './compilers.js';
5
5
  export * from './statements.js';
6
+ export * from './converters.js';
6
7
  export interface IPostgresTransactionContext extends ITransactionContext {
7
8
  connection: pg.PoolClient;
8
9
  }
@@ -19,6 +20,19 @@ export declare function toPositionalParameters(stmt: string): string;
19
20
  * statement ), same bound `toNamedParameters` applies on the MSSQL driver.
20
21
  */
21
22
  export declare function toDriverStatement(stmt: string, params?: unknown[]): string;
23
+ /**
24
+ * pg-types reads `date` and `timestamp` (no zone) as LOCAL time. This driver writes UTC, so
25
+ * both are read as UTC: a legacy TIMESTAMP column holds UTC wall time, and a DATE becomes UTC
26
+ * midnight of its calendar day. `timestamptz` keeps the default parser: its text carries the offset.
27
+ */
28
+ export declare function utcTypeParser(oid: number, format?: string): (value: string) => unknown;
29
+ /**
30
+ * `column_default` is SQL text, and a new model copies `DefaultValue` into its properties.
31
+ * Scalar literals become values of the column type (int8/numeric stay strings, as node-postgres
32
+ * reads them); anything else is an expression only the server can evaluate, so it stays a
33
+ * RawQuery and the insert leaves the column to the server default.
34
+ */
35
+ export declare function parseColumnDefault(raw: string | null | undefined, udtName: string): unknown;
22
36
  export declare class PostgresServerResponseMapper extends ServerResponseMapper {
23
37
  read(data: any, pkNames?: string[]): {
24
38
  RowsAffected: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAqC,oBAAoB,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAmB,YAAY,EAAyX,MAAM,cAAc,CAAC;AACtmB,OAAO,EAAE,SAAS,EAAuL,MAAM,kBAAkB,CAAC;AAClO,OAAO,EAAE,MAAM,IAAI,CAAC;AAKpB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;CAC3B;AASD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAI1E;AAED,qBAAa,4BAA6B,SAAQ,oBAAoB;IAC7D,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;;;;MAqBxC;CACF;AAED,qBAEa,iBAAkB,SAAQ,SAAS;IAC9C,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IAExB;;;OAGG;IACH,SAAgB,wBAAwB,EAAE,cAAc,EAAE,CAA6E;IAEvI;;;;;OAKG;IACH,SAAgB,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAIpE;IAEK,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAInF;IAED,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAsBhD;IAED,UAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CA4DjG;IAEM,iBAAiB,IAAI,iBAAiB,CAW5C;IAEM,OAAO,SAuCb;IAED,mFAAmF;IAC5E,WAAW,IAAI,YAAY,CAMjC;IAEY,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CASpC;IAEY,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CA6CzC;IAEY,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAU5C;IAEY,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAmElF;IAED;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB,UAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiBlF;IAED,UAAgB,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;IAED,UAAgB,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;IAID,UAAgB,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;IAED,UAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;IAED,UAAgB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;IAED,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1D;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/cjs/index.js CHANGED
@@ -26,6 +26,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.PostgresOrmDriver = exports.PostgresServerResponseMapper = void 0;
27
27
  exports.toPositionalParameters = toPositionalParameters;
28
28
  exports.toDriverStatement = toDriverStatement;
29
+ exports.utcTypeParser = utcTypeParser;
30
+ exports.parseColumnDefault = parseColumnDefault;
29
31
  /* eslint-disable @typescript-eslint/no-explicit-any */
30
32
  const di_1 = require("@spinajs/di");
31
33
  const orm_1 = require("@spinajs/orm");
@@ -33,8 +35,10 @@ const orm_sql_1 = require("@spinajs/orm-sql");
33
35
  const pg_1 = __importDefault(require("pg"));
34
36
  const compilers_js_1 = require("./compilers.js");
35
37
  const statements_js_1 = require("./statements.js");
38
+ const converters_js_1 = require("./converters.js");
36
39
  __exportStar(require("./compilers.js"), exports);
37
40
  __exportStar(require("./statements.js"), exports);
41
+ __exportStar(require("./converters.js"), exports);
38
42
  /**
39
43
  * SQLSTATE classes that mean the transport died rather than the statement being wrong.
40
44
  * 08xxx is the connection-exception class; 57P01–57P03 are the server telling us it is
@@ -61,6 +65,53 @@ function toDriverStatement(stmt, params) {
61
65
  let i = 0;
62
66
  return stmt.replace(/\?/g, (match) => (i < count ? `$${++i}` : match));
63
67
  }
68
+ const DATE_OID = 1082;
69
+ const TIMESTAMP_WITHOUT_TIME_ZONE_OID = 1114;
70
+ /**
71
+ * pg-types reads `date` and `timestamp` (no zone) as LOCAL time. This driver writes UTC, so
72
+ * both are read as UTC: a legacy TIMESTAMP column holds UTC wall time, and a DATE becomes UTC
73
+ * midnight of its calendar day. `timestamptz` keeps the default parser: its text carries the offset.
74
+ */
75
+ function utcTypeParser(oid, format) {
76
+ const parse = pg_1.default.types.getTypeParser(oid, format);
77
+ if (format === 'binary' || (oid !== DATE_OID && oid !== TIMESTAMP_WITHOUT_TIME_ZONE_OID)) {
78
+ return parse;
79
+ }
80
+ return (value) => (/^-?infinity$/.test(value) || / BC$/.test(value) ? parse(value) : new Date(`${value.replace(' ', 'T')}${oid === DATE_OID ? 'T00:00:00' : ''}Z`));
81
+ }
82
+ const QUOTED_LITERAL_DEFAULT = /^'((?:[^']|'')*)'::[a-z0-9_ ."]+$/i;
83
+ const NUMERIC_LITERAL_DEFAULT = /^\(?-?\d+(\.\d+)?\)?$/;
84
+ /**
85
+ * `column_default` is SQL text, and a new model copies `DefaultValue` into its properties.
86
+ * Scalar literals become values of the column type (int8/numeric stay strings, as node-postgres
87
+ * reads them); anything else is an expression only the server can evaluate, so it stays a
88
+ * RawQuery and the insert leaves the column to the server default.
89
+ */
90
+ function parseColumnDefault(raw, udtName) {
91
+ if (raw === null || raw === undefined || /^NULL(::.+)?$/i.test(raw)) {
92
+ return null;
93
+ }
94
+ const quoted = QUOTED_LITERAL_DEFAULT.exec(raw);
95
+ const text = quoted ? quoted[1].replace(/''/g, "'") : NUMERIC_LITERAL_DEFAULT.test(raw) ? raw.replace(/[()]/g, '') : /^(true|false)$/i.test(raw) ? raw.toLowerCase() : undefined;
96
+ if (text !== undefined) {
97
+ switch (udtName) {
98
+ case 'varchar':
99
+ case 'bpchar':
100
+ case 'text':
101
+ case 'int8':
102
+ case 'numeric':
103
+ return text;
104
+ case 'int2':
105
+ case 'int4':
106
+ case 'float4':
107
+ case 'float8':
108
+ return Number(text);
109
+ case 'bool':
110
+ return text === 'true' || text === 't';
111
+ }
112
+ }
113
+ return orm_1.RawQuery.create(raw);
114
+ }
64
115
  class PostgresServerResponseMapper extends orm_1.ServerResponseMapper {
65
116
  read(data, pkNames) {
66
117
  // Upserts resolve with their RETURNING rows directly.
@@ -102,6 +153,7 @@ let PostgresOrmDriver = class PostgresOrmDriver extends orm_sql_1.SqlDriver {
102
153
  decimal: { type: 'string' },
103
154
  numeric: { type: 'string' },
104
155
  bigint: { type: 'string' },
156
+ timestamptz: { type: 'string', format: 'date-time' },
105
157
  };
106
158
  }
107
159
  executeOnDb(stmt, params, context) {
@@ -209,6 +261,7 @@ let PostgresOrmDriver = class PostgresOrmDriver extends orm_sql_1.SqlDriver {
209
261
  this.Container.register(compilers_js_1.PostgresInsertQueryCompiler).as(orm_1.InsertQueryCompiler);
210
262
  this.Container.register(compilers_js_1.PostgresColumnQueryCompiler).as(orm_1.ColumnQueryCompiler);
211
263
  this.Container.register(compilers_js_1.PostgresAlterColumnQueryCompiler).as(orm_1.AlterColumnQueryCompiler);
264
+ this.Container.register(compilers_js_1.PostgresAlterTableQueryCompiler).as(orm_1.AlterTableQueryCompiler);
212
265
  this.Container.register(compilers_js_1.PostgresLimitQueryCompiler).as(orm_1.LimitQueryCompiler);
213
266
  this.Container.register(compilers_js_1.PostgresCreateDatabaseQueryCompiler).as(orm_1.CreateDatabaseCompiler);
214
267
  this.Container.register(compilers_js_1.PostgresDefaultValueBuilder).as(orm_1.DefaultValueBuilder);
@@ -216,6 +269,9 @@ let PostgresOrmDriver = class PostgresOrmDriver extends orm_sql_1.SqlDriver {
216
269
  this.Container.register(compilers_js_1.PostgresTableAliasCompiler).as(orm_1.TableAliasCompiler);
217
270
  this.Container.register(compilers_js_1.PostgresCreateViewCompiler).as(orm_1.CreateViewCompiler);
218
271
  this.Container.register(statements_js_1.PostgresLiteralQuoter).as(orm_1.LiteralQuoter);
272
+ this.Container.register(statements_js_1.PostgresJoinStatement).as(orm_1.JoinStatement);
273
+ this.Container.register(converters_js_1.PostgresJsonValueConverter).as(orm_1.JsonValueConverter);
274
+ this.Container.register(converters_js_1.PostgresDatetimeValueConverter).as(orm_1.DatetimeValueConverter);
219
275
  // Shared implementations that happen to be valid postgres, claimed explicitly.
220
276
  // DROP DATABASE IF EXISTS is among them: with this driver's quoter injected the
221
277
  // shared compiler already emits exactly the postgres statement.
@@ -225,7 +281,6 @@ let PostgresOrmDriver = class PostgresOrmDriver extends orm_sql_1.SqlDriver {
225
281
  this.Container.register(orm_sql_1.SqlDropDatabaseQueryCompiler).as(orm_1.DropDatabaseCompiler);
226
282
  this.Container.register(orm_sql_1.SqlTruncateTableQueryCompiler).as(orm_1.TruncateTableQueryCompiler);
227
283
  this.Container.register(orm_sql_1.SqlWithRecursiveCompiler).as(orm_1.RecursiveQueryCompiler);
228
- this.Container.register(orm_sql_1.SqlAlterTableQueryCompiler).as(orm_1.AlterTableQueryCompiler);
229
284
  // No native scheduler in this engine, and nothing is simulated in its place.
230
285
  this.Container.register(orm_sql_1.UnsupportedEventQueryCompiler).as(orm_1.EventQueryCompiler);
231
286
  this.Container.register(orm_sql_1.UnsupportedDropEventQueryCompiler).as(orm_1.DropEventQueryCompiler);
@@ -251,6 +306,8 @@ let PostgresOrmDriver = class PostgresOrmDriver extends orm_sql_1.SqlDriver {
251
306
  }
252
307
  async connect() {
253
308
  const pool = this.resolvedPoolOptions();
309
+ // withReconnect() calls connect() again on a live driver; the old pool's sockets died with the server
310
+ const previous = this.Pool;
254
311
  this.Pool = new pg_1.default.Pool({
255
312
  host: this.Options.Host,
256
313
  user: this.Options.User,
@@ -261,35 +318,32 @@ let PostgresOrmDriver = class PostgresOrmDriver extends orm_sql_1.SqlDriver {
261
318
  min: pool.Min,
262
319
  idleTimeoutMillis: pool.IdleTimeout,
263
320
  connectionTimeoutMillis: pool.AcquireTimeout,
321
+ types: { getTypeParser: utcTypeParser },
264
322
  });
265
323
  // An idle client's connection can die between checkouts; without a listener pg emits
266
324
  // 'error' on the pool and an unhandled 'error' event kills the process.
267
325
  this.Pool.on('error', (err) => {
268
326
  this.Log?.warn(`postgres pool connection error for ${this.Options.Name}: ${err.message}`);
269
327
  });
270
- try {
271
- // Test the pool, and pin the schema when one is configured: search_path is a
272
- // session setting, so it has to be set per connection as the pool opens them.
273
- const client = await this.Pool.connect();
274
- client.release();
275
- const schema = this.Options.Options?.Schema;
276
- if (schema) {
277
- this.Pool.on('connect', (c) => {
278
- c.query(`SET search_path TO ${(0, statements_js_1.pgEscapeIdentifier)(schema)}`).catch((err) => {
279
- this.Log?.warn(`could not set search_path to ${schema} for ${this.Options.Name}: ${err.message}`);
280
- });
281
- });
282
- // the test client above predates the listener
283
- await this.executeOnDb(`SET search_path TO ${(0, statements_js_1.pgEscapeIdentifier)(schema)}`, [], orm_1.QueryContext.Schema);
284
- }
285
- this.setState(orm_1.ConnectionState.Connected);
286
- return this;
287
- }
288
- catch (err) {
289
- await this.Pool.end().catch(() => undefined);
290
- this.Pool = null;
291
- throw err;
292
- }
328
+ // Session settings are per connection, so they are applied as the pool opens each one.
329
+ // UTC so now()::text, date_trunc() and casts to date agree with the stored instants.
330
+ const schema = this.Options.Options?.Schema;
331
+ const session = [`SET TIME ZONE 'UTC'`, ...(schema ? [`SET search_path TO ${(0, statements_js_1.pgEscapeIdentifier)(schema)}`] : [])].join('; ');
332
+ this.Pool.on('connect', (c) => {
333
+ // The pool listens for errors only while a client is idle. A checked-out client whose
334
+ // socket dies emits 'error' too, and unhandled that kills the process; the statement in
335
+ // flight already rejects with the same error.
336
+ c.on('error', () => undefined);
337
+ c.query(session).catch((err) => {
338
+ this.Log?.warn(`session setup failed for ${this.Options.Name}: ${err.message}`);
339
+ });
340
+ });
341
+ void previous?.end().catch(() => undefined);
342
+ // On failure the new pool stays: a retry must find a pool to connect through, not null.
343
+ const client = await this.Pool.connect();
344
+ client.release();
345
+ this.setState(orm_1.ConnectionState.Connected);
346
+ return this;
293
347
  }
294
348
  async disconnect() {
295
349
  this.stopHealthCheck();
@@ -332,7 +386,7 @@ let PostgresOrmDriver = class PostgresOrmDriver extends orm_sql_1.SqlDriver {
332
386
  Type: r.udt_name,
333
387
  MaxLength: -1,
334
388
  Comment: '',
335
- DefaultValue: r.column_default,
389
+ DefaultValue: parseColumnDefault(r.column_default, r.udt_name),
336
390
  NativeType: r.udt_name,
337
391
  Unsigned: false,
338
392
  Nullable: r.is_nullable === 'YES',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}