orez-sync-executor 0.11.4 → 0.11.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez-sync-executor",
3
- "version": "0.11.4",
3
+ "version": "0.11.5",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -1,25 +0,0 @@
1
- import type { ApplicationDatabase, ApplicationTransaction, JsonValue, TransactionQueryFormat } from './types.js';
2
- import type { Schema } from '@rocicorp/zero';
3
- export type PostgreSQLQueryResult<Row extends Record<string, unknown>> = {
4
- readonly rows: readonly Row[];
5
- readonly rowCount?: number | null;
6
- };
7
- export type PostgreSQLClient = {
8
- query<Row extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<PostgreSQLQueryResult<Row>>;
9
- release(): void;
10
- };
11
- export type PostgreSQLPool = {
12
- connect(): Promise<PostgreSQLClient>;
13
- query<Row extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<PostgreSQLQueryResult<Row>>;
14
- };
15
- export type PostgreSQLApplicationDatabaseOptions = {
16
- readonly internalSchema?: string;
17
- readonly schema?: Schema;
18
- readonly queryAst?: <Result>(tx: PostgreSQLClient, ast: JsonValue, format: TransactionQueryFormat, queryName?: string) => Promise<Result>;
19
- };
20
- export declare function createPostgreSQLApplicationDatabase(pool: PostgreSQLPool, options?: PostgreSQLApplicationDatabaseOptions): ApplicationDatabase;
21
- export declare function createSQLiteApplicationDatabase(options: {
22
- transaction<Value>(work: (tx: ApplicationTransaction) => Value | Promise<Value>): Promise<Value>;
23
- query<Row extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<readonly Row[]>;
24
- }): ApplicationDatabase;
25
- //# sourceMappingURL=adapters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EAEtB,SAAS,EAET,sBAAsB,EACvB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAA8B,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGxE,MAAM,MAAM,qBAAqB,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,EAAE,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;IACtC,OAAO,IAAI,IAAI,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACpC,KAAK,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,oCAAoC,GAAG;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EACzB,EAAE,EAAE,gBAAgB,EACpB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,sBAAsB,EAC9B,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,CAAA;CACrB,CAAA;AAED,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,oCAAyC,GACjD,mBAAmB,CAsKrB;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,WAAW,CAAC,KAAK,EACf,IAAI,EAAE,CAAC,EAAE,EAAE,sBAAsB,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAC3D,OAAO,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC,CAAA;CAC3B,GAAG,mBAAmB,CAEtB"}
package/dist/adapters.js DELETED
@@ -1,116 +0,0 @@
1
- import { executePostgresQuery } from '@rocicorp/zero/server';
2
- export function createPostgreSQLApplicationDatabase(pool, options = {}) {
3
- let serverSchema;
4
- async function introspectServerSchema(client) {
5
- if (!options.schema) {
6
- throw new TypeError('PostgreSQL application database requires schema or queryAst for ZQL reads');
7
- }
8
- const tables = Object.values(options.schema.tables).map((table) => {
9
- const serverName = table.serverName ?? table.name;
10
- const period = serverName.indexOf('.');
11
- return period < 0
12
- ? { schema: 'public', table: serverName }
13
- : {
14
- schema: serverName.slice(0, period),
15
- table: serverName.slice(period + 1),
16
- };
17
- });
18
- if (tables.length === 0)
19
- return {};
20
- const params = tables.flatMap((table) => [table.schema, table.table]);
21
- const where = tables
22
- .map((_, index) => `(c.table_schema = $${index * 2 + 1} AND c.table_name = $${index * 2 + 2})`)
23
- .join(' OR ');
24
- const rows = (await client.query(`SELECT
25
- c.table_schema::text AS schema,
26
- c.table_name::text AS table,
27
- c.column_name::text AS column,
28
- c.data_type::text AS "dataType",
29
- t.typtype::text AS typtype,
30
- t.typname::text AS typename,
31
- CASE WHEN t.typelem <> 0 THEN et.typtype::text ELSE NULL END AS "elemTyptype",
32
- CASE WHEN t.typelem <> 0 THEN et.typname::text ELSE NULL END AS "elemTypname"
33
- FROM information_schema.columns c
34
- JOIN pg_catalog.pg_type t ON c.udt_name = t.typname
35
- LEFT JOIN pg_catalog.pg_type et ON t.typelem = et.oid
36
- JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid
37
- WHERE ${where}`, params)).rows;
38
- const result = {};
39
- for (const row of rows) {
40
- const tableName = row.schema === 'public' ? row.table : `${row.schema}.${row.table}`;
41
- const table = (result[tableName] ??= {});
42
- const isArray = row.elemTyptype !== null;
43
- const isEnum = (row.elemTyptype ?? row.typtype) === 'e';
44
- table[row.column] = {
45
- type: isArray
46
- ? (row.elemTypname ?? row.dataType.toLowerCase())
47
- : isEnum
48
- ? row.typename
49
- : row.dataType.toLowerCase(),
50
- isArray,
51
- isEnum,
52
- };
53
- }
54
- return result;
55
- }
56
- const transactionFor = (client) => ({
57
- async exec(sql, params = [], _metadata) {
58
- const result = await client.query(sql, params);
59
- return { changes: result.rowCount ?? 0 };
60
- },
61
- async query(sql, params = []) {
62
- return (await client.query(sql, params)).rows;
63
- },
64
- queryAst(ast, format, queryName) {
65
- if (!options.queryAst) {
66
- if (!options.schema) {
67
- throw new TypeError('PostgreSQL application database requires schema or queryAst for ZQL reads');
68
- }
69
- serverSchema ??= introspectServerSchema(client);
70
- const dbTransaction = {
71
- wrappedTransaction: client,
72
- async query(sql, params) {
73
- return (await client.query(sql, params)).rows;
74
- },
75
- runQuery(queryAst, queryFormat, schema, resolvedServerSchema) {
76
- return executePostgresQuery(this, queryAst, queryFormat, schema, resolvedServerSchema);
77
- },
78
- };
79
- return serverSchema.then((resolved) => executePostgresQuery(dbTransaction, ast, format, options.schema, resolved));
80
- }
81
- return options.queryAst(client, ast, format, queryName);
82
- },
83
- });
84
- return {
85
- dialect: 'postgresql',
86
- internalSchema: options.internalSchema,
87
- async transaction(work) {
88
- const client = await pool.connect();
89
- try {
90
- await client.query('BEGIN');
91
- const result = await work(transactionFor(client));
92
- await client.query('COMMIT');
93
- return result;
94
- }
95
- catch (error) {
96
- try {
97
- await client.query('ROLLBACK');
98
- }
99
- catch {
100
- // preserve the application or commit error that caused the rollback.
101
- }
102
- throw error;
103
- }
104
- finally {
105
- client.release();
106
- }
107
- },
108
- async query(sql, params = []) {
109
- return (await pool.query(sql, params)).rows;
110
- },
111
- };
112
- }
113
- export function createSQLiteApplicationDatabase(options) {
114
- return { dialect: 'sqlite', ...options };
115
- }
116
- //# sourceMappingURL=adapters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}