@owlmeans/postgres-resource 0.1.18-rc.42 → 0.1.18-rc.43

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.
Files changed (154) hide show
  1. package/README.md +13 -13
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/postgres-resource/SKILL.md +1 -1
  4. package/build/consts.d.ts +9 -0
  5. package/build/consts.d.ts.map +1 -1
  6. package/build/consts.js +6 -0
  7. package/build/consts.js.map +1 -1
  8. package/build/declarations/types.d.ts +12 -0
  9. package/build/declarations/types.d.ts.map +1 -0
  10. package/build/declarations/types.js +2 -0
  11. package/build/declarations/types.js.map +1 -0
  12. package/build/declarations.d.ts +5 -1
  13. package/build/declarations.d.ts.map +1 -1
  14. package/build/declarations.js +25 -15
  15. package/build/declarations.js.map +1 -1
  16. package/build/errors.d.ts +0 -20
  17. package/build/errors.d.ts.map +1 -1
  18. package/build/errors.js +1 -111
  19. package/build/errors.js.map +1 -1
  20. package/build/index.d.ts +3 -0
  21. package/build/index.d.ts.map +1 -1
  22. package/build/index.js +1 -0
  23. package/build/index.js.map +1 -1
  24. package/build/pg-error/types.d.ts +24 -0
  25. package/build/pg-error/types.d.ts.map +1 -0
  26. package/build/pg-error/types.js +2 -0
  27. package/build/pg-error/types.js.map +1 -0
  28. package/build/pg-error.d.ts +4 -0
  29. package/build/pg-error.d.ts.map +1 -0
  30. package/build/pg-error.js +100 -0
  31. package/build/pg-error.js.map +1 -0
  32. package/build/resource.d.ts.map +1 -1
  33. package/build/resource.js +15 -11
  34. package/build/resource.js.map +1 -1
  35. package/build/types.d.ts.map +1 -1
  36. package/build/utils/consts.local.d.ts +2 -0
  37. package/build/utils/consts.local.d.ts.map +1 -1
  38. package/build/utils/consts.local.js +2 -0
  39. package/build/utils/consts.local.js.map +1 -1
  40. package/build/utils/criteria/types.d.ts +31 -0
  41. package/build/utils/criteria/types.d.ts.map +1 -0
  42. package/build/utils/criteria/types.js +2 -0
  43. package/build/utils/criteria/types.js.map +1 -0
  44. package/build/utils/criteria.d.ts +3 -27
  45. package/build/utils/criteria.d.ts.map +1 -1
  46. package/build/utils/criteria.js +86 -104
  47. package/build/utils/criteria.js.map +1 -1
  48. package/build/utils/diff/types.d.ts +40 -0
  49. package/build/utils/diff/types.d.ts.map +1 -0
  50. package/build/utils/diff/types.js +2 -0
  51. package/build/utils/diff/types.js.map +1 -0
  52. package/build/utils/diff.d.ts +5 -35
  53. package/build/utils/diff.d.ts.map +1 -1
  54. package/build/utils/diff.js +320 -344
  55. package/build/utils/diff.js.map +1 -1
  56. package/build/utils/index.d.ts +9 -0
  57. package/build/utils/index.d.ts.map +1 -1
  58. package/build/utils/index.js.map +1 -1
  59. package/build/utils/introspect/types.d.ts +9 -0
  60. package/build/utils/introspect/types.d.ts.map +1 -0
  61. package/build/utils/introspect/types.js +2 -0
  62. package/build/utils/introspect/types.js.map +1 -0
  63. package/build/utils/introspect.d.ts +3 -3
  64. package/build/utils/introspect.d.ts.map +1 -1
  65. package/build/utils/introspect.js +41 -38
  66. package/build/utils/introspect.js.map +1 -1
  67. package/build/utils/life-cycle/types.d.ts +37 -0
  68. package/build/utils/life-cycle/types.d.ts.map +1 -0
  69. package/build/utils/life-cycle/types.js +2 -0
  70. package/build/utils/life-cycle/types.js.map +1 -0
  71. package/build/utils/life-cycle.d.ts +3 -33
  72. package/build/utils/life-cycle.d.ts.map +1 -1
  73. package/build/utils/life-cycle.js +88 -108
  74. package/build/utils/life-cycle.js.map +1 -1
  75. package/build/utils/marshal/types.d.ts +39 -0
  76. package/build/utils/marshal/types.d.ts.map +1 -0
  77. package/build/utils/marshal/types.js +2 -0
  78. package/build/utils/marshal/types.js.map +1 -0
  79. package/build/utils/marshal.d.ts +4 -32
  80. package/build/utils/marshal.d.ts.map +1 -1
  81. package/build/utils/marshal.js +121 -144
  82. package/build/utils/marshal.js.map +1 -1
  83. package/build/utils/migrations.d.ts.map +1 -1
  84. package/build/utils/migrations.js +41 -36
  85. package/build/utils/migrations.js.map +1 -1
  86. package/build/utils/name/types.d.ts +43 -0
  87. package/build/utils/name/types.d.ts.map +1 -0
  88. package/build/utils/name/types.js +2 -0
  89. package/build/utils/name/types.js.map +1 -0
  90. package/build/utils/name.d.ts +6 -35
  91. package/build/utils/name.d.ts.map +1 -1
  92. package/build/utils/name.js +38 -57
  93. package/build/utils/name.js.map +1 -1
  94. package/build/utils/schema/types.d.ts +22 -0
  95. package/build/utils/schema/types.d.ts.map +1 -0
  96. package/build/utils/schema/types.js +2 -0
  97. package/build/utils/schema/types.js.map +1 -0
  98. package/build/utils/schema.d.ts +4 -24
  99. package/build/utils/schema.d.ts.map +1 -1
  100. package/build/utils/schema.js +339 -352
  101. package/build/utils/schema.js.map +1 -1
  102. package/build/utils/sql/types.d.ts +25 -0
  103. package/build/utils/sql/types.d.ts.map +1 -0
  104. package/build/utils/sql/types.js +2 -0
  105. package/build/utils/sql/types.js.map +1 -0
  106. package/build/utils/sql.d.ts +4 -18
  107. package/build/utils/sql.d.ts.map +1 -1
  108. package/build/utils/sql.js +0 -0
  109. package/build/utils/sql.js.map +1 -1
  110. package/build/utils/sync/types.d.ts +25 -0
  111. package/build/utils/sync/types.d.ts.map +1 -0
  112. package/build/utils/sync/types.js +2 -0
  113. package/build/utils/sync/types.js.map +1 -0
  114. package/build/utils/sync.d.ts +2 -19
  115. package/build/utils/sync.d.ts.map +1 -1
  116. package/build/utils/sync.js +64 -71
  117. package/build/utils/sync.js.map +1 -1
  118. package/package.json +7 -7
  119. package/src/consts.ts +7 -0
  120. package/src/declarations/types.ts +12 -0
  121. package/src/declarations.ts +29 -14
  122. package/src/errors.ts +1 -121
  123. package/src/index.ts +3 -0
  124. package/src/pg-error/types.ts +23 -0
  125. package/src/pg-error.ts +114 -0
  126. package/src/resource.ts +17 -13
  127. package/src/types.ts +1 -0
  128. package/src/utils/consts.local.ts +3 -0
  129. package/src/utils/criteria/types.ts +32 -0
  130. package/src/utils/criteria.ts +95 -110
  131. package/src/utils/diff/types.ts +41 -0
  132. package/src/utils/diff.ts +330 -348
  133. package/src/utils/index.ts +9 -0
  134. package/src/utils/introspect/types.ts +9 -0
  135. package/src/utils/introspect.ts +51 -45
  136. package/src/utils/life-cycle/types.ts +41 -0
  137. package/src/utils/life-cycle.ts +102 -121
  138. package/src/utils/marshal/types.ts +40 -0
  139. package/src/utils/marshal.ts +129 -147
  140. package/src/utils/migrations.ts +39 -33
  141. package/src/utils/name/types.ts +44 -0
  142. package/src/utils/name.ts +47 -60
  143. package/src/utils/schema/types.ts +26 -0
  144. package/src/utils/schema.ts +359 -366
  145. package/src/utils/sql/types.ts +25 -0
  146. package/src/utils/sql.ts +0 -0
  147. package/src/utils/sync/types.ts +25 -0
  148. package/src/utils/sync.ts +62 -68
  149. package/tests/criteria.spec.ts +4 -1
  150. package/tests/diff.spec.ts +4 -1
  151. package/tests/errors.spec.ts +4 -3
  152. package/tests/name.spec.ts +5 -3
  153. package/tests/schema.spec.ts +3 -1
  154. package/tests/sql.spec.ts +20 -22
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/utils/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { TableSpec } from '../../types.js';
2
+ /**
3
+ * `{{alias}}` placeholders of custom SQL, resolved through ONE context's registered postgres
4
+ * resources. Reached as `pgPlaceholdersOf(context)`.
5
+ */
6
+ export interface PgPlaceholderHelper {
7
+ /**
8
+ * Fully qualified table of a registered postgres resource; omit the alias for `self`.
9
+ * This is what `PostgresTx.ref` and `PostgresResource.ref` resolve through.
10
+ *
11
+ * @throws {PostgresPlaceholderError}
12
+ */
13
+ refOf: (self: TableSpec | null, alias?: string) => string;
14
+ /**
15
+ * Rewrite `{{...}}` placeholders into quoted identifiers.
16
+ *
17
+ * Identifiers only — `$1`-style parameters are left exactly as written and their values
18
+ * never pass through here. Postgres can't bind an identifier as a parameter, which is the
19
+ * whole reason this mechanism has to exist; values have no such excuse.
20
+ *
21
+ * @throws {PostgresPlaceholderError}
22
+ */
23
+ resolvePlaceholders: (text: string, self: TableSpec | null) => string;
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/sql/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACzD;;;;;;;;OAQG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,MAAM,CAAA;CACtE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/sql/types.ts"],"names":[],"mappings":""}
@@ -1,22 +1,8 @@
1
- import type { TableSpec } from '../types.js';
1
+ import type { PgPlaceholderHelper } from './sql/types.js';
2
2
  import type { PlaceholderContext } from './types.js';
3
- /**
4
- * Fully qualified table of a registered postgres resource; omit the alias for `self`.
5
- * This is what `PostgresTx.ref` and `PostgresResource.ref` resolve through.
6
- *
7
- * @throws {PostgresPlaceholderError}
8
- */
9
- export declare const refOf: (context: PlaceholderContext, self: TableSpec | null, alias?: string) => string;
10
- /**
11
- * Rewrite `{{...}}` placeholders into quoted identifiers.
12
- *
13
- * Identifiers only — `$1`-style parameters are left exactly as written and their values
14
- * never pass through here. Postgres can't bind an identifier as a parameter, which is the
15
- * whole reason this mechanism has to exist; values have no such excuse.
16
- *
17
- * @throws {PostgresPlaceholderError}
18
- */
19
- export declare const resolvePlaceholders: (text: string, context: PlaceholderContext, self: TableSpec | null) => string;
20
3
  /** Testing seam — a rebuilt context is a fresh key, but a reused one keeps its entries. */
21
4
  export declare const resetPlaceholderCache: () => void;
5
+ export declare const makePgPlaceholderHelper: (context: PlaceholderContext) => PgPlaceholderHelper;
6
+ /** The placeholder resolver of one context — one per context. */
7
+ export declare const pgPlaceholdersOf: (target: PlaceholderContext) => PgPlaceholderHelper;
22
8
  //# sourceMappingURL=sql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAA;AAG9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAkDpD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,YACP,kBAAkB,QAAQ,SAAS,GAAG,IAAI,UAAU,MAAM,KAClE,MAAsD,CAAA;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,SACxB,MAAM,WAAW,kBAAkB,QAAQ,SAAS,GAAG,IAAI,KAChE,MAqCF,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAAO,IAAkC,CAAA"}
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAuBpD,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAAO,IAAkC,CAAA;AAE3E,eAAO,MAAM,uBAAuB,YAAa,kBAAkB,KAAG,mBAyErE,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,qDAA8C,CAAA"}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { DdlPlan, TableSpec } from '../../types.js';
2
+ /** The reconciliation steps run over one checked out connection. */
3
+ export interface PgSyncHelper {
4
+ /**
5
+ * Serialize initialization across replicas. A session level lock, not `xact`, because
6
+ * migrations run in their own transactions inside the critical section.
7
+ */
8
+ acquireLock: (qualified: string) => Promise<void>;
9
+ /** Release the {@link PgSyncHelper.acquireLock} lock; never masks the failure that preceded it. */
10
+ releaseLock: (qualified: string) => Promise<void>;
11
+ /** `CREATE SCHEMA IF NOT EXISTS`. */
12
+ ensureSchema: (schema: string) => Promise<void>;
13
+ /**
14
+ * Apply a reconciliation plan in a single transaction.
15
+ *
16
+ * Postgres DDL is transactional, so a plan that fails partway leaves the table exactly as
17
+ * it was. That property is what makes converging without confirmation prompts tolerable —
18
+ * the table is either fully converged or untouched, never half migrated.
19
+ *
20
+ * @throws {PostgresCastRequired} Postgres refused an automatic cast.
21
+ * @throws {PostgresSyncError} any other statement failed — the message names the statement.
22
+ */
23
+ applyPlan: (spec: TableSpec, plan: DdlPlan) => Promise<DdlPlan>;
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/sync/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAExD,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,mGAAmG;IACnG,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,qCAAqC;IACrC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C;;;;;;;;;OASG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAChE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/sync/types.ts"],"names":[],"mappings":""}
@@ -1,21 +1,4 @@
1
1
  import type { PoolClient } from 'pg';
2
- import type { DdlPlan, TableSpec } from '../types.js';
3
- /**
4
- * Serialize initialization across replicas. A session level lock, not `xact`, because
5
- * migrations run in their own transactions inside the critical section.
6
- */
7
- export declare const acquireLock: (client: PoolClient, qualified: string) => Promise<void>;
8
- export declare const releaseLock: (client: PoolClient, qualified: string) => Promise<void>;
9
- export declare const ensureSchema: (client: PoolClient, schema: string) => Promise<void>;
10
- /**
11
- * Apply a reconciliation plan in a single transaction.
12
- *
13
- * Postgres DDL is transactional, so a plan that fails partway leaves the table exactly as
14
- * it was. That property is what makes converging without confirmation prompts tolerable —
15
- * the table is either fully converged or untouched, never half migrated.
16
- *
17
- * @throws {PostgresCastRequired} Postgres refused an automatic cast.
18
- * @throws {PostgresSyncError} any other statement failed — the message names the statement.
19
- */
20
- export declare const applyPlan: (client: PoolClient, spec: TableSpec, plan: DdlPlan) => Promise<DdlPlan>;
2
+ import type { PgSyncHelper } from './sync/types.js';
3
+ export declare const makePgSyncHelper: (client: PoolClient) => PgSyncHelper;
21
4
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/utils/sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAGpC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAOrD;;;GAGG;AACH,eAAO,MAAM,WAAW,WAAkB,UAAU,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAGrF,CAAA;AAED,eAAO,MAAM,WAAW,WAAkB,UAAU,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAOrF,CAAA;AAED,eAAO,MAAM,YAAY,WAAkB,UAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAMnF,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,WACZ,UAAU,QAAQ,SAAS,QAAQ,OAAO,KACjD,OAAO,CAAC,OAAO,CA4CjB,CAAA"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/utils/sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAQpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAInD,eAAO,MAAM,gBAAgB,WAAY,UAAU,KAAG,YA0ErD,CAAA"}
@@ -1,83 +1,76 @@
1
1
  import { logger } from '@owlmeans/log';
2
- import { PostgresCastRequired, PostgresSyncError, describePgError, pgErrorToResourceError } from '../errors.js';
3
- import { countNonNull } from './introspect.js';
4
- import { advisoryKey, quoteIdent } from './name.js';
2
+ import { PostgresCastRequired, PostgresSyncError } from '../errors.js';
3
+ import { pgErrorHelper } from '../pg-error.js';
4
+ import { makePgIntrospectHelper } from './introspect.js';
5
+ import { pgNameHelper } from './name.js';
5
6
  import { CAST_DATA_CODES } from './consts.local.js';
6
7
  const log = logger('postgres-resource');
7
- /**
8
- * Serialize initialization across replicas. A session level lock, not `xact`, because
9
- * migrations run in their own transactions inside the critical section.
10
- */
11
- export const acquireLock = async (client, qualified) => {
12
- const [first, second] = advisoryKey(qualified);
13
- await client.query('SELECT pg_advisory_lock($1, $2)', [first, second]);
14
- };
15
- export const releaseLock = async (client, qualified) => {
16
- const [first, second] = advisoryKey(qualified);
17
- try {
18
- await client.query('SELECT pg_advisory_unlock($1, $2)', [first, second]);
19
- }
20
- catch {
21
- /** Releasing the session drops the lock anyway — never mask the original failure. */
22
- }
23
- };
24
- export const ensureSchema = async (client, schema) => {
25
- try {
26
- await client.query(`CREATE SCHEMA IF NOT EXISTS ${quoteIdent(schema)}`);
27
- }
28
- catch (error) {
29
- throw pgErrorToResourceError(error);
30
- }
31
- };
32
- /**
33
- * Apply a reconciliation plan in a single transaction.
34
- *
35
- * Postgres DDL is transactional, so a plan that fails partway leaves the table exactly as
36
- * it was. That property is what makes converging without confirmation prompts tolerable —
37
- * the table is either fully converged or untouched, never half migrated.
38
- *
39
- * @throws {PostgresCastRequired} Postgres refused an automatic cast.
40
- * @throws {PostgresSyncError} any other statement failed — the message names the statement.
41
- */
42
- export const applyPlan = async (client, spec, plan) => {
43
- if (plan.statements.length < 1) {
44
- return plan;
45
- }
46
- /** Read what a drop would cost before the transaction opens, so the log can say it. */
47
- for (const statement of plan.statements) {
48
- if (statement.destructive === true) {
49
- statement.affected = await countNonNull(client, spec.qualified, statement.target);
8
+ export const makePgSyncHelper = (client) => {
9
+ const { describePgError, pgErrorToResourceError } = pgErrorHelper;
10
+ const { advisoryKey, quoteIdent } = pgNameHelper;
11
+ const introspect = makePgIntrospectHelper(client);
12
+ const acquireLock = async (qualified) => {
13
+ const [first, second] = advisoryKey(qualified);
14
+ await client.query('SELECT pg_advisory_lock($1, $2)', [first, second]);
15
+ };
16
+ const releaseLock = async (qualified) => {
17
+ const [first, second] = advisoryKey(qualified);
18
+ try {
19
+ await client.query('SELECT pg_advisory_unlock($1, $2)', [first, second]);
20
+ }
21
+ catch {
22
+ /** Releasing the session drops the lock anyway — never mask the original failure. */
23
+ }
24
+ };
25
+ const ensureSchema = async (schema) => {
26
+ try {
27
+ await client.query(`CREATE SCHEMA IF NOT EXISTS ${quoteIdent(schema)}`);
50
28
  }
51
- }
52
- await client.query('BEGIN');
53
- let current = '';
54
- try {
29
+ catch (error) {
30
+ throw pgErrorToResourceError(error);
31
+ }
32
+ };
33
+ const applyPlan = async (spec, plan) => {
34
+ if (plan.statements.length < 1) {
35
+ return plan;
36
+ }
37
+ /** Read what a drop would cost before the transaction opens, so the log can say it. */
55
38
  for (const statement of plan.statements) {
56
- current = statement.sql;
57
- if (statement.destructive === true && (statement.affected ?? 0) > 0) {
58
- log.warn('Dropping a column that holds values; declare it under pg.unmanaged or set pg.managed false to keep it', {
59
- table: spec.qualified, column: statement.target, rows: statement.affected,
60
- }, { event: 'migration.drop' });
39
+ if (statement.destructive === true) {
40
+ statement.affected = await introspect.countNonNull(spec.qualified, statement.target);
41
+ }
42
+ }
43
+ await client.query('BEGIN');
44
+ let current = '';
45
+ try {
46
+ for (const statement of plan.statements) {
47
+ current = statement.sql;
48
+ if (statement.destructive === true && (statement.affected ?? 0) > 0) {
49
+ log.warn('Dropping a column that holds values; declare it under pg.unmanaged or set pg.managed false to keep it', {
50
+ table: spec.qualified, column: statement.target, rows: statement.affected,
51
+ }, { event: 'migration.drop' });
52
+ }
53
+ await client.query(statement.sql);
61
54
  }
62
- await client.query(statement.sql);
55
+ await client.query('COMMIT');
63
56
  }
64
- await client.query('COMMIT');
65
- }
66
- catch (error) {
67
- await client.query('ROLLBACK').catch(() => undefined);
68
- const translated = pgErrorToResourceError(error);
69
- const code = error?.code;
70
- if (translated instanceof PostgresCastRequired || (code != null && CAST_DATA_CODES.includes(code))) {
71
- const failure = new PostgresCastRequired(`${spec.qualified}: ${describePgError(error)} — statement: ${current}.`
72
- + ' Declare `pg: { using: \'<expr>\' }` on the property, or perform the change in a'
73
- + ' `pre` migration so reconciliation observes no drift.');
57
+ catch (error) {
58
+ await client.query('ROLLBACK').catch(() => undefined);
59
+ const translated = pgErrorToResourceError(error);
60
+ const code = error?.code;
61
+ if (translated instanceof PostgresCastRequired || (code != null && CAST_DATA_CODES.includes(code))) {
62
+ const failure = new PostgresCastRequired(`${spec.qualified}: ${describePgError(error)} — statement: ${current}.`
63
+ + ' Declare `pg: { using: \'<expr>\' }` on the property, or perform the change in a'
64
+ + ' `pre` migration so reconciliation observes no drift.');
65
+ failure.cause = error;
66
+ throw failure;
67
+ }
68
+ const failure = new PostgresSyncError(`${spec.qualified}: ${describePgError(error)} — statement: ${current}`);
74
69
  failure.cause = error;
75
70
  throw failure;
76
71
  }
77
- const failure = new PostgresSyncError(`${spec.qualified}: ${describePgError(error)} — statement: ${current}`);
78
- failure.cause = error;
79
- throw failure;
80
- }
81
- return plan;
72
+ return plan;
73
+ };
74
+ return { acquireLock, releaseLock, ensureSchema, applyPlan };
82
75
  };
83
76
  //# sourceMappingURL=sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/utils/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/utils/sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/postgres-resource",
3
- "version": "0.1.18-rc.42",
3
+ "version": "0.1.18-rc.43",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -27,17 +27,17 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@noble/hashes": "^2.4.0",
30
- "@owlmeans/basic-ids": "^0.1.18-rc.36",
31
- "@owlmeans/context": "^0.1.18-rc.33",
32
- "@owlmeans/log": "^0.1.18-rc.1",
33
- "@owlmeans/resource": "^0.1.18-rc.39",
34
- "@owlmeans/server-context": "^0.1.18-rc.42",
30
+ "@owlmeans/basic-ids": "^0.1.18-rc.37",
31
+ "@owlmeans/context": "^0.1.18-rc.34",
32
+ "@owlmeans/log": "^0.1.18-rc.2",
33
+ "@owlmeans/resource": "^0.1.18-rc.40",
34
+ "@owlmeans/server-context": "^0.1.18-rc.43",
35
35
  "@scure/base": "^2.4.0",
36
36
  "drizzle-orm": "~0.45.3"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@owlmeans/dep-config": "workspace:*",
40
- "@owlmeans/test-integration": "^0.1.18-rc.32",
40
+ "@owlmeans/test-integration": "^0.1.18-rc.33",
41
41
  "@types/bun": "^1.4.2",
42
42
  "@types/node": "^26.6.4",
43
43
  "@types/pg": "^8.23.1",
package/src/consts.ts CHANGED
@@ -20,6 +20,13 @@ export const DEF_MIGRATIONS_TABLE = '_owlmeans_migrations'
20
20
  /** JSON Schema keyword carrying the Postgres specific overrides. */
21
21
  export const PG_KEYWORD = 'pg'
22
22
 
23
+ /**
24
+ * AJV keyword registration for consumers running in strict mode. The mapper reads the raw
25
+ * schema object and never validates through AJV, so this is purely to stop strict mode
26
+ * rejecting a schema that carries `pg` overrides.
27
+ */
28
+ export const pgKeyword = { keyword: PG_KEYWORD, valid: true }
29
+
23
30
  /** Postgres `NAMEDATALEN - 1`. Identifiers past this are silently truncated by the server. */
24
31
  export const PG_MAX_IDENTIFIER = 63
25
32
 
@@ -0,0 +1,12 @@
1
+ import type { PostgresDeclaration } from '../types.js'
2
+
3
+ /**
4
+ * The per-alias declaration store every postgres resource maker reads and extends — schema,
5
+ * indexes and migrations, keyed by resource alias.
6
+ */
7
+ export interface PgDeclarationHelper {
8
+ /** The declaration of an alias, created empty on first use. */
9
+ getDeclaration: (alias: string) => PostgresDeclaration
10
+ /** Testing seam — drops every declaration so a spec can redeclare a resource from scratch. */
11
+ resetDeclarations: (alias?: string) => void
12
+ }
@@ -1,5 +1,6 @@
1
1
  import { createMigrationRegistry } from '@owlmeans/resource'
2
2
 
3
+ import type { PgDeclarationHelper } from './declarations/types.js'
3
4
  import type { PostgresTx, PostgresDeclaration } from './types.js'
4
5
 
5
6
  /**
@@ -10,24 +11,38 @@ import type { PostgresTx, PostgresDeclaration } from './types.js'
10
11
  * a no-op: every run reads and extends the same schema, indexes and migrations, so nothing a
11
12
  * caller chained onto an earlier resource object is lost. Losing a migration is silent — the
12
13
  * data transformation simply never runs — which is why the store cannot live on the object.
14
+ *
15
+ * Process-wide for the same reason: it stays outside the factory, so every helper built from it
16
+ * reads the one store.
13
17
  */
14
18
  const declarations: Map<string, PostgresDeclaration> = new Map()
15
19
 
16
- export const getDeclaration = (alias: string): PostgresDeclaration => {
17
- let declaration = declarations.get(alias)
18
- if (declaration == null) {
19
- declaration = { indexes: [], migrations: createMigrationRegistry<PostgresTx>() }
20
- declarations.set(alias, declaration)
21
- }
20
+ export const createPgDeclarationHelper = (): PgDeclarationHelper => {
21
+ const getDeclaration = (alias: string): PostgresDeclaration => {
22
+ let declaration = declarations.get(alias)
23
+ if (declaration == null) {
24
+ declaration = { indexes: [], migrations: createMigrationRegistry<PostgresTx>() }
25
+ declarations.set(alias, declaration)
26
+ }
22
27
 
23
- return declaration
24
- }
28
+ return declaration
29
+ }
25
30
 
26
- /** Testing seam — drops every declaration so a spec can redeclare a resource from scratch. */
27
- export const resetDeclarations = (alias?: string): void => {
28
- if (alias == null) {
29
- declarations.clear()
30
- return
31
+ const resetDeclarations = (alias?: string): void => {
32
+ if (alias == null) {
33
+ declarations.clear()
34
+ return
35
+ }
36
+ declarations.delete(alias)
31
37
  }
32
- declarations.delete(alias)
38
+
39
+ return { getDeclaration, resetDeclarations }
33
40
  }
41
+
42
+ export const pgDeclarationHelper = createPgDeclarationHelper()
43
+
44
+ /** @deprecated compat:factory-refactor — use `pgDeclarationHelper.getDeclaration(…)` */
45
+ export const getDeclaration = (alias: string): PostgresDeclaration => pgDeclarationHelper.getDeclaration(alias)
46
+
47
+ /** @deprecated compat:factory-refactor — use `pgDeclarationHelper.resetDeclarations(…)` */
48
+ export const resetDeclarations = (alias?: string): void => pgDeclarationHelper.resetDeclarations(alias)