@warlock.js/cascade 4.0.92 → 4.0.93
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/cjs/contracts/database-driver.contract.d.ts +118 -0
- package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
- package/cjs/contracts/migration-driver.contract.d.ts +14 -0
- package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
- package/cjs/contracts/query-builder.contract.d.ts +410 -1
- package/cjs/contracts/query-builder.contract.d.ts.map +1 -1
- package/cjs/data-source/data-source-registry.d.ts +4 -0
- package/cjs/data-source/data-source-registry.d.ts.map +1 -1
- package/cjs/data-source/data-source-registry.js +7 -0
- package/cjs/data-source/data-source-registry.js.map +1 -1
- package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
- package/cjs/drivers/mongodb/mongodb-blueprint.js.map +1 -0
- package/{esm/drivers/mongo → cjs/drivers/mongodb}/mongodb-driver.d.ts +49 -0
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
- package/cjs/drivers/{mongo → mongodb}/mongodb-driver.js +125 -8
- package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
- package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
- package/cjs/drivers/mongodb/mongodb-id-generator.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +220 -14
- package/cjs/drivers/mongodb/mongodb-query-builder.js.map +1 -0
- package/{esm/drivers/mongo/mongo-query-operations.d.ts → cjs/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
- package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
- package/cjs/drivers/mongodb/mongodb-query-operations.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
- package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
- package/cjs/drivers/mongodb/mongodb-query-parser.js.map +1 -0
- package/cjs/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
- package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
- package/cjs/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
- package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
- package/{esm/drivers/mongo → cjs/drivers/mongodb}/types.d.ts +2 -2
- package/cjs/drivers/mongodb/types.d.ts.map +1 -0
- package/cjs/drivers/postgres/index.d.ts +16 -0
- package/cjs/drivers/postgres/index.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-blueprint.d.ts +64 -0
- package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-blueprint.js +121 -0
- package/cjs/drivers/postgres/postgres-blueprint.js.map +1 -0
- package/cjs/drivers/postgres/postgres-dialect.d.ts +135 -0
- package/cjs/drivers/postgres/postgres-dialect.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-dialect.js +245 -0
- package/cjs/drivers/postgres/postgres-dialect.js.map +1 -0
- package/cjs/drivers/postgres/postgres-driver.d.ts +360 -0
- package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-driver.js +763 -0
- package/cjs/drivers/postgres/postgres-driver.js.map +1 -0
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts +297 -0
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-migration-driver.js +578 -0
- package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -0
- package/cjs/drivers/postgres/postgres-query-builder.d.ts +824 -0
- package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-query-builder.js +1800 -0
- package/cjs/drivers/postgres/postgres-query-builder.js.map +1 -0
- package/cjs/drivers/postgres/postgres-query-parser.d.ts +308 -0
- package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-query-parser.js +706 -0
- package/cjs/drivers/postgres/postgres-query-parser.js.map +1 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.js +197 -0
- package/cjs/drivers/postgres/postgres-sync-adapter.js.map +1 -0
- package/cjs/drivers/postgres/types.d.ts +142 -0
- package/cjs/drivers/postgres/types.d.ts.map +1 -0
- package/cjs/drivers/sql/index.d.ts +10 -0
- package/cjs/drivers/sql/index.d.ts.map +1 -0
- package/cjs/drivers/sql/sql-dialect.contract.d.ts +203 -0
- package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
- package/cjs/drivers/sql/sql-types.d.ts +202 -0
- package/cjs/drivers/sql/sql-types.d.ts.map +1 -0
- package/cjs/index.d.ts +9 -6
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/migration/migration-runner.d.ts.map +1 -1
- package/cjs/migration/migration-runner.js +3 -0
- package/cjs/migration/migration-runner.js.map +1 -1
- package/cjs/model/model.d.ts +236 -1
- package/cjs/model/model.d.ts.map +1 -1
- package/cjs/model/model.js +203 -4
- package/cjs/model/model.js.map +1 -1
- package/cjs/relations/helpers.d.ts +156 -0
- package/cjs/relations/helpers.d.ts.map +1 -0
- package/cjs/relations/helpers.js +197 -0
- package/cjs/relations/helpers.js.map +1 -0
- package/cjs/relations/index.d.ts +33 -0
- package/cjs/relations/index.d.ts.map +1 -0
- package/cjs/relations/pivot-operations.d.ts +160 -0
- package/cjs/relations/pivot-operations.d.ts.map +1 -0
- package/cjs/relations/pivot-operations.js +293 -0
- package/cjs/relations/pivot-operations.js.map +1 -0
- package/cjs/relations/relation-loader.d.ts +194 -0
- package/cjs/relations/relation-loader.d.ts.map +1 -0
- package/cjs/relations/relation-loader.js +466 -0
- package/cjs/relations/relation-loader.js.map +1 -0
- package/cjs/relations/types.d.ts +280 -0
- package/cjs/relations/types.d.ts.map +1 -0
- package/cjs/sync/model-sync-operation.js +1 -1
- package/cjs/sync/model-sync-operation.js.map +1 -1
- package/cjs/utils/connect-to-database.d.ts.map +1 -1
- package/cjs/utils/connect-to-database.js +15 -3
- package/cjs/utils/connect-to-database.js.map +1 -1
- package/cjs/utils/define-model.d.ts +51 -29
- package/cjs/utils/define-model.d.ts.map +1 -1
- package/cjs/validation/rules/database-model-rule.js +1 -1
- package/cjs/validation/rules/database-model-rule.js.map +1 -1
- package/esm/contracts/database-driver.contract.d.ts +118 -0
- package/esm/contracts/database-driver.contract.d.ts.map +1 -1
- package/esm/contracts/migration-driver.contract.d.ts +14 -0
- package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
- package/esm/contracts/query-builder.contract.d.ts +410 -1
- package/esm/contracts/query-builder.contract.d.ts.map +1 -1
- package/esm/data-source/data-source-registry.d.ts +4 -0
- package/esm/data-source/data-source-registry.d.ts.map +1 -1
- package/esm/data-source/data-source-registry.js +7 -0
- package/esm/data-source/data-source-registry.js.map +1 -1
- package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
- package/esm/drivers/mongodb/mongodb-blueprint.js.map +1 -0
- package/{cjs/drivers/mongo → esm/drivers/mongodb}/mongodb-driver.d.ts +49 -0
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
- package/esm/drivers/{mongo → mongodb}/mongodb-driver.js +121 -4
- package/esm/drivers/mongodb/mongodb-driver.js.map +1 -0
- package/esm/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
- package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
- package/esm/drivers/mongodb/mongodb-id-generator.js.map +1 -0
- package/esm/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
- package/esm/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +218 -12
- package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -0
- package/{cjs/drivers/mongo/mongo-query-operations.d.ts → esm/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
- package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
- package/esm/drivers/mongodb/mongodb-query-operations.js.map +1 -0
- package/esm/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
- package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
- package/esm/drivers/mongodb/mongodb-query-parser.js.map +1 -0
- package/esm/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
- package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
- package/esm/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
- package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
- package/{cjs/drivers/mongo → esm/drivers/mongodb}/types.d.ts +2 -2
- package/esm/drivers/mongodb/types.d.ts.map +1 -0
- package/esm/drivers/postgres/index.d.ts +16 -0
- package/esm/drivers/postgres/index.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-blueprint.d.ts +64 -0
- package/esm/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-blueprint.js +121 -0
- package/esm/drivers/postgres/postgres-blueprint.js.map +1 -0
- package/esm/drivers/postgres/postgres-dialect.d.ts +135 -0
- package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-dialect.js +245 -0
- package/esm/drivers/postgres/postgres-dialect.js.map +1 -0
- package/esm/drivers/postgres/postgres-driver.d.ts +360 -0
- package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-driver.js +763 -0
- package/esm/drivers/postgres/postgres-driver.js.map +1 -0
- package/esm/drivers/postgres/postgres-migration-driver.d.ts +297 -0
- package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-migration-driver.js +578 -0
- package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -0
- package/esm/drivers/postgres/postgres-query-builder.d.ts +824 -0
- package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-query-builder.js +1800 -0
- package/esm/drivers/postgres/postgres-query-builder.js.map +1 -0
- package/esm/drivers/postgres/postgres-query-parser.d.ts +308 -0
- package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-query-parser.js +706 -0
- package/esm/drivers/postgres/postgres-query-parser.js.map +1 -0
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
- package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
- package/esm/drivers/postgres/postgres-sync-adapter.js +197 -0
- package/esm/drivers/postgres/postgres-sync-adapter.js.map +1 -0
- package/esm/drivers/postgres/types.d.ts +142 -0
- package/esm/drivers/postgres/types.d.ts.map +1 -0
- package/esm/drivers/sql/index.d.ts +10 -0
- package/esm/drivers/sql/index.d.ts.map +1 -0
- package/esm/drivers/sql/sql-dialect.contract.d.ts +203 -0
- package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
- package/esm/drivers/sql/sql-types.d.ts +202 -0
- package/esm/drivers/sql/sql-types.d.ts.map +1 -0
- package/esm/index.d.ts +9 -6
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/migration/migration-runner.d.ts.map +1 -1
- package/esm/migration/migration-runner.js +3 -0
- package/esm/migration/migration-runner.js.map +1 -1
- package/esm/model/model.d.ts +236 -1
- package/esm/model/model.d.ts.map +1 -1
- package/esm/model/model.js +203 -4
- package/esm/model/model.js.map +1 -1
- package/esm/relations/helpers.d.ts +156 -0
- package/esm/relations/helpers.d.ts.map +1 -0
- package/esm/relations/helpers.js +197 -0
- package/esm/relations/helpers.js.map +1 -0
- package/esm/relations/index.d.ts +33 -0
- package/esm/relations/index.d.ts.map +1 -0
- package/esm/relations/pivot-operations.d.ts +160 -0
- package/esm/relations/pivot-operations.d.ts.map +1 -0
- package/esm/relations/pivot-operations.js +293 -0
- package/esm/relations/pivot-operations.js.map +1 -0
- package/esm/relations/relation-loader.d.ts +194 -0
- package/esm/relations/relation-loader.d.ts.map +1 -0
- package/esm/relations/relation-loader.js +466 -0
- package/esm/relations/relation-loader.js.map +1 -0
- package/esm/relations/types.d.ts +280 -0
- package/esm/relations/types.d.ts.map +1 -0
- package/esm/sync/model-sync-operation.js +1 -1
- package/esm/sync/model-sync-operation.js.map +1 -1
- package/esm/utils/connect-to-database.d.ts.map +1 -1
- package/esm/utils/connect-to-database.js +15 -3
- package/esm/utils/connect-to-database.js.map +1 -1
- package/esm/utils/define-model.d.ts +51 -29
- package/esm/utils/define-model.d.ts.map +1 -1
- package/esm/validation/rules/database-model-rule.js +1 -1
- package/esm/validation/rules/database-model-rule.js.map +1 -1
- package/package.json +4 -4
- package/cjs/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-id-generator.js.map +0 -1
- package/cjs/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-migration-driver.js.map +0 -1
- package/cjs/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-query-builder.js.map +0 -1
- package/cjs/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-query-operations.js.map +0 -1
- package/cjs/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-query-parser.js.map +0 -1
- package/cjs/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongo-sync-adapter.js.map +0 -1
- package/cjs/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongodb-blueprint.js.map +0 -1
- package/cjs/drivers/mongo/mongodb-driver.d.ts.map +0 -1
- package/cjs/drivers/mongo/mongodb-driver.js.map +0 -1
- package/cjs/drivers/mongo/types.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-id-generator.js.map +0 -1
- package/esm/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-migration-driver.js.map +0 -1
- package/esm/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-query-builder.js.map +0 -1
- package/esm/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-query-operations.js.map +0 -1
- package/esm/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-query-parser.js.map +0 -1
- package/esm/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
- package/esm/drivers/mongo/mongo-sync-adapter.js.map +0 -1
- package/esm/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
- package/esm/drivers/mongo/mongodb-blueprint.js.map +0 -1
- package/esm/drivers/mongo/mongodb-driver.d.ts.map +0 -1
- package/esm/drivers/mongo/mongodb-driver.js.map +0 -1
- package/esm/drivers/mongo/types.d.ts.map +0 -1
- /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
- /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
- /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
- /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-query-parser.js","sources":["../../../src/drivers/postgres/postgres-query-parser.ts"],"sourcesContent":[null],"names":["PostgresDialect"],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL Sync Adapter
|
|
3
|
+
*
|
|
4
|
+
* Implements the SyncAdapterContract for batch update operations
|
|
5
|
+
* on embedded/denormalized data in PostgreSQL.
|
|
6
|
+
*
|
|
7
|
+
* @module cascade/drivers/postgres
|
|
8
|
+
*/
|
|
9
|
+
import type { SyncAdapterContract, SyncInstruction } from "../../contracts/sync-adapter.contract";
|
|
10
|
+
import type { PostgresDriver } from "./postgres-driver";
|
|
11
|
+
/**
|
|
12
|
+
* PostgreSQL Sync Adapter.
|
|
13
|
+
*
|
|
14
|
+
* Handles batch updates for embedded/denormalized data stored
|
|
15
|
+
* in JSONB columns. In a normalized SQL world, this is less common
|
|
16
|
+
* than in MongoDB, but still useful for JSONB documents.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const syncAdapter = driver.syncAdapter();
|
|
21
|
+
*
|
|
22
|
+
* // Update embedded user data in posts
|
|
23
|
+
* await syncAdapter.executeBatch([
|
|
24
|
+
* {
|
|
25
|
+
* targetTable: 'posts',
|
|
26
|
+
* filter: { 'author.id': 123 },
|
|
27
|
+
* update: { 'author.name': 'New Name' },
|
|
28
|
+
* // ... other fields
|
|
29
|
+
* }
|
|
30
|
+
* ]);
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare class PostgresSyncAdapter implements SyncAdapterContract {
|
|
34
|
+
private readonly driver;
|
|
35
|
+
/**
|
|
36
|
+
* Create a new sync adapter.
|
|
37
|
+
*
|
|
38
|
+
* @param driver - The PostgreSQL driver instance
|
|
39
|
+
*/
|
|
40
|
+
constructor(driver: PostgresDriver);
|
|
41
|
+
/**
|
|
42
|
+
* Execute a batch of sync instructions.
|
|
43
|
+
*
|
|
44
|
+
* @param instructions - Array of sync instructions
|
|
45
|
+
* @returns Total number of affected rows
|
|
46
|
+
*/
|
|
47
|
+
executeBatch(instructions: SyncInstruction[]): Promise<number>;
|
|
48
|
+
/**
|
|
49
|
+
* Execute a single sync instruction.
|
|
50
|
+
*
|
|
51
|
+
* @param instruction - Sync instruction
|
|
52
|
+
* @returns Number of affected rows
|
|
53
|
+
*/
|
|
54
|
+
executeOne(instruction: SyncInstruction): Promise<number>;
|
|
55
|
+
/**
|
|
56
|
+
* Execute an array update instruction with positional operators.
|
|
57
|
+
*
|
|
58
|
+
* @param instruction - Sync instruction with array update info
|
|
59
|
+
* @returns Number of affected rows
|
|
60
|
+
*/
|
|
61
|
+
executeArrayUpdate(instruction: SyncInstruction): Promise<number>;
|
|
62
|
+
/**
|
|
63
|
+
* Execute an update on JSONB fields.
|
|
64
|
+
*
|
|
65
|
+
* @param table - Table name
|
|
66
|
+
* @param filter - Row filter
|
|
67
|
+
* @param update - Fields to update
|
|
68
|
+
* @returns Number of affected rows
|
|
69
|
+
*/
|
|
70
|
+
private executeJsonbUpdate;
|
|
71
|
+
/**
|
|
72
|
+
* Execute an update on elements within a JSONB array.
|
|
73
|
+
*
|
|
74
|
+
* @param table - Table name
|
|
75
|
+
* @param filter - Row filter
|
|
76
|
+
* @param arrayField - JSONB array column
|
|
77
|
+
* @param arrayFilter - Filter to match array elements
|
|
78
|
+
* @param update - Fields to update on matched elements
|
|
79
|
+
* @returns Number of affected rows
|
|
80
|
+
*/
|
|
81
|
+
private executeArrayElementUpdate;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=postgres-sync-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-sync-adapter.d.ts","sourceRoot":"","sources":["../../../src/drivers/postgres/postgres-sync-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IAM1C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C;;;;OAIG;gBACiC,MAAM,EAAE,cAAc;IAE1D;;;;;OAKG;IACU,YAAY,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAc3E;;;;;OAKG;IACU,UAAU,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtE;;;;;OAKG;IACU,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAkB9E;;;;;;;OAOG;YACW,kBAAkB;IA4DhC;;;;;;;;;OASG;YACW,yBAAyB;CA6DxC"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
'use strict';/**
|
|
2
|
+
* PostgreSQL Sync Adapter
|
|
3
|
+
*
|
|
4
|
+
* Implements the SyncAdapterContract for batch update operations
|
|
5
|
+
* on embedded/denormalized data in PostgreSQL.
|
|
6
|
+
*
|
|
7
|
+
* @module cascade/drivers/postgres
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* PostgreSQL Sync Adapter.
|
|
11
|
+
*
|
|
12
|
+
* Handles batch updates for embedded/denormalized data stored
|
|
13
|
+
* in JSONB columns. In a normalized SQL world, this is less common
|
|
14
|
+
* than in MongoDB, but still useful for JSONB documents.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const syncAdapter = driver.syncAdapter();
|
|
19
|
+
*
|
|
20
|
+
* // Update embedded user data in posts
|
|
21
|
+
* await syncAdapter.executeBatch([
|
|
22
|
+
* {
|
|
23
|
+
* targetTable: 'posts',
|
|
24
|
+
* filter: { 'author.id': 123 },
|
|
25
|
+
* update: { 'author.name': 'New Name' },
|
|
26
|
+
* // ... other fields
|
|
27
|
+
* }
|
|
28
|
+
* ]);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
class PostgresSyncAdapter {
|
|
32
|
+
driver;
|
|
33
|
+
/**
|
|
34
|
+
* Create a new sync adapter.
|
|
35
|
+
*
|
|
36
|
+
* @param driver - The PostgreSQL driver instance
|
|
37
|
+
*/
|
|
38
|
+
constructor(driver) {
|
|
39
|
+
this.driver = driver;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Execute a batch of sync instructions.
|
|
43
|
+
*
|
|
44
|
+
* @param instructions - Array of sync instructions
|
|
45
|
+
* @returns Total number of affected rows
|
|
46
|
+
*/
|
|
47
|
+
async executeBatch(instructions) {
|
|
48
|
+
let totalAffected = 0;
|
|
49
|
+
for (const instruction of instructions) {
|
|
50
|
+
if (instruction.isArrayUpdate) {
|
|
51
|
+
totalAffected += await this.executeArrayUpdate(instruction);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
totalAffected += await this.executeOne(instruction);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return totalAffected;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Execute a single sync instruction.
|
|
61
|
+
*
|
|
62
|
+
* @param instruction - Sync instruction
|
|
63
|
+
* @returns Number of affected rows
|
|
64
|
+
*/
|
|
65
|
+
async executeOne(instruction) {
|
|
66
|
+
const { targetTable, filter, update } = instruction;
|
|
67
|
+
return this.executeJsonbUpdate(targetTable, filter, update);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Execute an array update instruction with positional operators.
|
|
71
|
+
*
|
|
72
|
+
* @param instruction - Sync instruction with array update info
|
|
73
|
+
* @returns Number of affected rows
|
|
74
|
+
*/
|
|
75
|
+
async executeArrayUpdate(instruction) {
|
|
76
|
+
const { targetTable, filter, update, arrayField, identifierField, identifierValue } = instruction;
|
|
77
|
+
if (!arrayField || !identifierField || identifierValue === undefined) {
|
|
78
|
+
// Fall back to regular update if array info is missing
|
|
79
|
+
return this.executeOne(instruction);
|
|
80
|
+
}
|
|
81
|
+
return this.executeArrayElementUpdate(targetTable, filter, arrayField, { [identifierField]: identifierValue }, update);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Execute an update on JSONB fields.
|
|
85
|
+
*
|
|
86
|
+
* @param table - Table name
|
|
87
|
+
* @param filter - Row filter
|
|
88
|
+
* @param update - Fields to update
|
|
89
|
+
* @returns Number of affected rows
|
|
90
|
+
*/
|
|
91
|
+
async executeJsonbUpdate(table, filter, update) {
|
|
92
|
+
const quotedTable = this.driver.dialect.quoteIdentifier(table);
|
|
93
|
+
const setClauses = [];
|
|
94
|
+
const params = [];
|
|
95
|
+
let paramIndex = 1;
|
|
96
|
+
// Build SET clauses for each update field
|
|
97
|
+
for (const [path, value] of Object.entries(update)) {
|
|
98
|
+
if (path.includes(".")) {
|
|
99
|
+
// JSONB path update: "column.nested.field" -> jsonb_set
|
|
100
|
+
const [column, ...pathParts] = path.split(".");
|
|
101
|
+
const quotedColumn = this.driver.dialect.quoteIdentifier(column);
|
|
102
|
+
const jsonPath = `{${pathParts.join(",")}}`;
|
|
103
|
+
const placeholder = this.driver.dialect.placeholder(paramIndex++);
|
|
104
|
+
params.push(JSON.stringify(value));
|
|
105
|
+
setClauses.push(`${quotedColumn} = jsonb_set(COALESCE(${quotedColumn}, '{}'::jsonb), '${jsonPath}', ${placeholder}::jsonb)`);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
// Regular column update
|
|
109
|
+
const quotedColumn = this.driver.dialect.quoteIdentifier(path);
|
|
110
|
+
const placeholder = this.driver.dialect.placeholder(paramIndex++);
|
|
111
|
+
params.push(value);
|
|
112
|
+
setClauses.push(`${quotedColumn} = ${placeholder}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// Build WHERE clause
|
|
116
|
+
const whereClauses = [];
|
|
117
|
+
for (const [key, value] of Object.entries(filter)) {
|
|
118
|
+
if (key.includes(".")) {
|
|
119
|
+
// JSONB path filter
|
|
120
|
+
const [column, ...pathParts] = key.split(".");
|
|
121
|
+
const quotedColumn = this.driver.dialect.quoteIdentifier(column);
|
|
122
|
+
const jsonPath = pathParts.map((p) => `'${p}'`).join("->>");
|
|
123
|
+
const placeholder = this.driver.dialect.placeholder(paramIndex++);
|
|
124
|
+
params.push(value);
|
|
125
|
+
whereClauses.push(`${quotedColumn}->>${jsonPath} = ${placeholder}`);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
const quotedKey = this.driver.dialect.quoteIdentifier(key);
|
|
129
|
+
const placeholder = this.driver.dialect.placeholder(paramIndex++);
|
|
130
|
+
params.push(value);
|
|
131
|
+
whereClauses.push(`${quotedKey} = ${placeholder}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const sql = `UPDATE ${quotedTable} SET ${setClauses.join(", ")} WHERE ${whereClauses.join(" AND ")}`;
|
|
135
|
+
const result = await this.driver.query(sql, params);
|
|
136
|
+
return result.rowCount ?? 0;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Execute an update on elements within a JSONB array.
|
|
140
|
+
*
|
|
141
|
+
* @param table - Table name
|
|
142
|
+
* @param filter - Row filter
|
|
143
|
+
* @param arrayField - JSONB array column
|
|
144
|
+
* @param arrayFilter - Filter to match array elements
|
|
145
|
+
* @param update - Fields to update on matched elements
|
|
146
|
+
* @returns Number of affected rows
|
|
147
|
+
*/
|
|
148
|
+
async executeArrayElementUpdate(table, filter, arrayField, arrayFilter, update) {
|
|
149
|
+
const quotedTable = this.driver.dialect.quoteIdentifier(table);
|
|
150
|
+
const quotedArrayField = this.driver.dialect.quoteIdentifier(arrayField);
|
|
151
|
+
const params = [];
|
|
152
|
+
let paramIndex = 1;
|
|
153
|
+
// Build array element filter condition
|
|
154
|
+
const arrayFilterCondition = Object.entries(arrayFilter)
|
|
155
|
+
.map(([key, value]) => {
|
|
156
|
+
params.push(value);
|
|
157
|
+
return `elem->>'${key}' = ${this.driver.dialect.placeholder(paramIndex++)}`;
|
|
158
|
+
})
|
|
159
|
+
.join(" AND ");
|
|
160
|
+
// Build update expression for matched elements
|
|
161
|
+
const updateExpr = Object.entries(update)
|
|
162
|
+
.map(([key, value]) => {
|
|
163
|
+
params.push(JSON.stringify(value));
|
|
164
|
+
return `'${key}', ${this.driver.dialect.placeholder(paramIndex++)}::jsonb`;
|
|
165
|
+
})
|
|
166
|
+
.join(", ");
|
|
167
|
+
// Build WHERE clause for row filter
|
|
168
|
+
const whereClauses = Object.entries(filter).map(([key, value]) => {
|
|
169
|
+
const quotedKey = this.driver.dialect.quoteIdentifier(key);
|
|
170
|
+
params.push(value);
|
|
171
|
+
return `${quotedKey} = ${this.driver.dialect.placeholder(paramIndex++)}`;
|
|
172
|
+
});
|
|
173
|
+
// Use a CTE to update array elements
|
|
174
|
+
const sql = `
|
|
175
|
+
WITH updated AS (
|
|
176
|
+
SELECT id, (
|
|
177
|
+
SELECT jsonb_agg(
|
|
178
|
+
CASE
|
|
179
|
+
WHEN ${arrayFilterCondition}
|
|
180
|
+
THEN elem || jsonb_build_object(${updateExpr})
|
|
181
|
+
ELSE elem
|
|
182
|
+
END
|
|
183
|
+
)
|
|
184
|
+
FROM jsonb_array_elements(${quotedArrayField}) elem
|
|
185
|
+
) AS new_array
|
|
186
|
+
FROM ${quotedTable}
|
|
187
|
+
WHERE ${whereClauses.join(" AND ")}
|
|
188
|
+
)
|
|
189
|
+
UPDATE ${quotedTable} t
|
|
190
|
+
SET ${quotedArrayField} = u.new_array
|
|
191
|
+
FROM updated u
|
|
192
|
+
WHERE t.id = u.id
|
|
193
|
+
`;
|
|
194
|
+
const result = await this.driver.query(sql, params);
|
|
195
|
+
return result.rowCount ?? 0;
|
|
196
|
+
}
|
|
197
|
+
}exports.PostgresSyncAdapter=PostgresSyncAdapter;//# sourceMappingURL=postgres-sync-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-sync-adapter.js","sources":["../../../src/drivers/postgres/postgres-sync-adapter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL Driver Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions specific to the PostgreSQL driver implementation.
|
|
5
|
+
*
|
|
6
|
+
* @module cascade/drivers/postgres
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* PostgreSQL connection configuration options.
|
|
10
|
+
*/
|
|
11
|
+
export type PostgresConnectionConfig = {
|
|
12
|
+
/** Database host (default: "localhost") */
|
|
13
|
+
readonly host?: string;
|
|
14
|
+
/** Database port (default: 5432) */
|
|
15
|
+
readonly port?: number;
|
|
16
|
+
/** Database name */
|
|
17
|
+
readonly database: string;
|
|
18
|
+
/** Database user */
|
|
19
|
+
readonly user?: string;
|
|
20
|
+
/** Database password */
|
|
21
|
+
readonly password?: string;
|
|
22
|
+
/** Connection string (alternative to individual options) */
|
|
23
|
+
readonly connectionString?: string;
|
|
24
|
+
/** SSL configuration */
|
|
25
|
+
readonly ssl?: boolean | {
|
|
26
|
+
readonly rejectUnauthorized?: boolean;
|
|
27
|
+
readonly ca?: string;
|
|
28
|
+
readonly cert?: string;
|
|
29
|
+
readonly key?: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* PostgreSQL pool configuration options.
|
|
34
|
+
*/
|
|
35
|
+
export type PostgresPoolConfig = PostgresConnectionConfig & {
|
|
36
|
+
/** Maximum number of clients in the pool (default: 10) */
|
|
37
|
+
readonly max?: number;
|
|
38
|
+
/** Minimum number of clients in the pool (default: 0) */
|
|
39
|
+
readonly min?: number;
|
|
40
|
+
/** How long a client can sit idle before being closed (ms) */
|
|
41
|
+
readonly idleTimeoutMillis?: number;
|
|
42
|
+
/** How long to wait for a client before timing out (ms) */
|
|
43
|
+
readonly connectionTimeoutMillis?: number;
|
|
44
|
+
/** Maximum times to use a connection before destroying it */
|
|
45
|
+
readonly maxUses?: number;
|
|
46
|
+
/** Application name for connection identification */
|
|
47
|
+
readonly application_name?: string;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* PostgreSQL query result wrapper.
|
|
51
|
+
*/
|
|
52
|
+
export type PostgresQueryResult<T = Record<string, unknown>> = {
|
|
53
|
+
/** Array of rows returned by the query */
|
|
54
|
+
readonly rows: T[];
|
|
55
|
+
/** Number of rows affected by INSERT/UPDATE/DELETE */
|
|
56
|
+
readonly rowCount: number | null;
|
|
57
|
+
/** Column definitions from the result */
|
|
58
|
+
readonly fields: Array<{
|
|
59
|
+
readonly name: string;
|
|
60
|
+
readonly dataTypeID: number;
|
|
61
|
+
}>;
|
|
62
|
+
/** Command that was executed (SELECT, INSERT, etc.) */
|
|
63
|
+
readonly command: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* PostgreSQL transaction isolation levels.
|
|
67
|
+
*/
|
|
68
|
+
export type PostgresIsolationLevel = "read uncommitted" | "read committed" | "repeatable read" | "serializable";
|
|
69
|
+
/**
|
|
70
|
+
* PostgreSQL transaction options.
|
|
71
|
+
*/
|
|
72
|
+
export type PostgresTransactionOptions = {
|
|
73
|
+
/** Isolation level for the transaction */
|
|
74
|
+
readonly isolationLevel?: PostgresIsolationLevel;
|
|
75
|
+
/** Whether the transaction is read-only */
|
|
76
|
+
readonly readOnly?: boolean;
|
|
77
|
+
/** Use deferrable mode (for serializable + read-only) */
|
|
78
|
+
readonly deferrable?: boolean;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* PostgreSQL-specific operation types used in the query builder.
|
|
82
|
+
*/
|
|
83
|
+
export type PostgresOperation = {
|
|
84
|
+
/** Operation stage (select, where, join, etc.) */
|
|
85
|
+
readonly stage: "select" | "from" | "join" | "where" | "groupBy" | "having" | "orderBy" | "limit" | "offset";
|
|
86
|
+
/** Operation type/name */
|
|
87
|
+
readonly type: string;
|
|
88
|
+
/** Operation payload/data */
|
|
89
|
+
readonly data: Record<string, unknown>;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Internal representation of a pending WHERE clause.
|
|
93
|
+
*/
|
|
94
|
+
export type PostgresWhereClause = {
|
|
95
|
+
/** Boolean operator to combine with previous clause */
|
|
96
|
+
readonly boolean: "and" | "or";
|
|
97
|
+
/** Type of where clause */
|
|
98
|
+
readonly type: "basic" | "raw" | "null" | "notNull" | "in" | "notIn" | "between" | "notBetween" | "exists" | "notExists" | "nested" | "column";
|
|
99
|
+
/** Column/field name */
|
|
100
|
+
readonly column?: string;
|
|
101
|
+
/** Comparison operator */
|
|
102
|
+
readonly operator?: string;
|
|
103
|
+
/** Value to compare */
|
|
104
|
+
readonly value?: unknown;
|
|
105
|
+
/** Raw SQL expression */
|
|
106
|
+
readonly raw?: string;
|
|
107
|
+
/** Parameter bindings */
|
|
108
|
+
readonly bindings?: unknown[];
|
|
109
|
+
/** Nested conditions */
|
|
110
|
+
readonly nested?: PostgresWhereClause[];
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* PostgreSQL NOTIFY payload structure.
|
|
114
|
+
*/
|
|
115
|
+
export type PostgresNotification = {
|
|
116
|
+
/** Channel name */
|
|
117
|
+
readonly channel: string;
|
|
118
|
+
/** Notification payload */
|
|
119
|
+
readonly payload?: string;
|
|
120
|
+
/** Process ID of the notifying backend */
|
|
121
|
+
readonly processId: number;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* PostgreSQL COPY options for bulk operations.
|
|
125
|
+
*/
|
|
126
|
+
export type PostgresCopyOptions = {
|
|
127
|
+
/** Format (text, csv, binary) */
|
|
128
|
+
readonly format?: "text" | "csv" | "binary";
|
|
129
|
+
/** Field delimiter for text/csv */
|
|
130
|
+
readonly delimiter?: string;
|
|
131
|
+
/** Quote character for csv */
|
|
132
|
+
readonly quote?: string;
|
|
133
|
+
/** Escape character for csv */
|
|
134
|
+
readonly escape?: string;
|
|
135
|
+
/** Include header row */
|
|
136
|
+
readonly header?: boolean;
|
|
137
|
+
/** Null string representation */
|
|
138
|
+
readonly null?: string;
|
|
139
|
+
/** Column list */
|
|
140
|
+
readonly columns?: string[];
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/drivers/postgres/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drivers/sql/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|