neoorm 0.3.1 → 0.4.1
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 +12 -6
- package/dist/bin/neoorm.js +45 -15
- package/dist/bin/neoorm.js.map +1 -1
- package/dist/codegen/diff-manifest.d.ts +7 -7
- package/dist/codegen/diff-manifest.d.ts.map +1 -1
- package/dist/codegen/diff-manifest.js +67 -54
- package/dist/codegen/diff-manifest.js.map +1 -1
- package/dist/codegen/generate-summary.js.map +1 -1
- package/dist/codegen/generate.d.ts.map +1 -1
- package/dist/codegen/generate.js +13 -6
- package/dist/codegen/generate.js.map +1 -1
- package/dist/codegen/manifest-relations.d.ts.map +1 -1
- package/dist/codegen/manifest-relations.js +21 -0
- package/dist/codegen/manifest-relations.js.map +1 -1
- package/dist/codegen/schema-to-manifest.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -14
- package/dist/config.js.map +1 -1
- package/dist/dialect/postgres.d.ts +3 -4
- package/dist/dialect/postgres.d.ts.map +1 -1
- package/dist/dialect/postgres.js +19 -11
- package/dist/dialect/postgres.js.map +1 -1
- package/dist/dialect/shared.d.ts +6 -0
- package/dist/dialect/shared.d.ts.map +1 -0
- package/dist/dialect/shared.js +16 -0
- package/dist/dialect/shared.js.map +1 -0
- package/dist/dialect/sqlite.d.ts +4 -0
- package/dist/dialect/sqlite.d.ts.map +1 -0
- package/dist/dialect/sqlite.js +276 -0
- package/dist/dialect/sqlite.js.map +1 -0
- package/dist/dialect/types.d.ts +7 -0
- package/dist/dialect/types.d.ts.map +1 -1
- package/dist/init/scaffold.js.map +1 -1
- package/dist/introspect/pull.d.ts +3 -2
- package/dist/introspect/pull.d.ts.map +1 -1
- package/dist/introspect/pull.js +124 -13
- package/dist/introspect/pull.js.map +1 -1
- package/dist/introspect/queries.d.ts +9 -9
- package/dist/introspect/queries.d.ts.map +1 -1
- package/dist/introspect/queries.js +16 -16
- package/dist/introspect/queries.js.map +1 -1
- package/dist/introspect/sqlite/to-manifest.d.ts +4 -0
- package/dist/introspect/sqlite/to-manifest.d.ts.map +1 -0
- package/dist/introspect/sqlite/to-manifest.js +166 -0
- package/dist/introspect/sqlite/to-manifest.js.map +1 -0
- package/dist/introspect/to-manifest.d.ts +2 -2
- package/dist/introspect/to-manifest.d.ts.map +1 -1
- package/dist/introspect/to-manifest.js +20 -12
- package/dist/introspect/to-manifest.js.map +1 -1
- package/dist/migrate/runner.d.ts +14 -14
- package/dist/migrate/runner.d.ts.map +1 -1
- package/dist/migrate/runner.js +83 -88
- package/dist/migrate/runner.js.map +1 -1
- package/dist/plugins/builtin.d.ts +1 -0
- package/dist/plugins/builtin.d.ts.map +1 -1
- package/dist/plugins/builtin.js +96 -6
- package/dist/plugins/builtin.js.map +1 -1
- package/dist/plugins/json/operators.d.ts.map +1 -1
- package/dist/plugins/json/operators.js +14 -5
- package/dist/plugins/json/operators.js.map +1 -1
- package/dist/plugins/types.d.ts +4 -4
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/runtime/client.d.ts +21 -4
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +61 -9
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/driver.d.ts +28 -0
- package/dist/runtime/driver.d.ts.map +1 -0
- package/dist/runtime/driver.js +265 -0
- package/dist/runtime/driver.js.map +1 -0
- package/dist/runtime/errors.d.ts.map +1 -1
- package/dist/runtime/executor.d.ts +6 -3
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +60 -42
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/query/aggregate.d.ts.map +1 -1
- package/dist/runtime/query/aggregate.js +4 -3
- package/dist/runtime/query/aggregate.js.map +1 -1
- package/dist/runtime/query/compile.d.ts +37 -24
- package/dist/runtime/query/compile.d.ts.map +1 -1
- package/dist/runtime/query/compile.js +388 -95
- package/dist/runtime/query/compile.js.map +1 -1
- package/dist/runtime/query/count.d.ts.map +1 -1
- package/dist/runtime/query/count.js +7 -3
- package/dist/runtime/query/count.js.map +1 -1
- package/dist/runtime/query/create.d.ts +5 -0
- package/dist/runtime/query/create.d.ts.map +1 -1
- package/dist/runtime/query/create.js +63 -23
- package/dist/runtime/query/create.js.map +1 -1
- package/dist/runtime/query/cursor.d.ts +4 -3
- package/dist/runtime/query/cursor.d.ts.map +1 -1
- package/dist/runtime/query/cursor.js +10 -8
- package/dist/runtime/query/cursor.js.map +1 -1
- package/dist/runtime/query/delete.d.ts +1 -0
- package/dist/runtime/query/delete.d.ts.map +1 -1
- package/dist/runtime/query/delete.js +17 -6
- package/dist/runtime/query/delete.js.map +1 -1
- package/dist/runtime/query/execute.d.ts +4 -3
- package/dist/runtime/query/execute.d.ts.map +1 -1
- package/dist/runtime/query/execute.js +5 -4
- package/dist/runtime/query/execute.js.map +1 -1
- package/dist/runtime/query/find-or-create.d.ts.map +1 -1
- package/dist/runtime/query/find-or-create.js +57 -8
- package/dist/runtime/query/find-or-create.js.map +1 -1
- package/dist/runtime/query/find.d.ts +12 -3
- package/dist/runtime/query/find.d.ts.map +1 -1
- package/dist/runtime/query/find.js +159 -232
- package/dist/runtime/query/find.js.map +1 -1
- package/dist/runtime/query/manifest-lookup.d.ts +3 -2
- package/dist/runtime/query/manifest-lookup.d.ts.map +1 -1
- package/dist/runtime/query/manifest-lookup.js +5 -4
- package/dist/runtime/query/manifest-lookup.js.map +1 -1
- package/dist/runtime/query/paginate.d.ts.map +1 -1
- package/dist/runtime/query/paginate.js +16 -11
- package/dist/runtime/query/paginate.js.map +1 -1
- package/dist/runtime/query/primary-key.d.ts +8 -6
- package/dist/runtime/query/primary-key.d.ts.map +1 -1
- package/dist/runtime/query/primary-key.js +45 -17
- package/dist/runtime/query/primary-key.js.map +1 -1
- package/dist/runtime/query/relation-planner.d.ts +74 -0
- package/dist/runtime/query/relation-planner.d.ts.map +1 -0
- package/dist/runtime/query/relation-planner.js +648 -0
- package/dist/runtime/query/relation-planner.js.map +1 -0
- package/dist/runtime/query/relation-writes.d.ts +2 -1
- package/dist/runtime/query/relation-writes.d.ts.map +1 -1
- package/dist/runtime/query/relation-writes.js +33 -22
- package/dist/runtime/query/relation-writes.js.map +1 -1
- package/dist/runtime/query/table-index.d.ts +51 -3
- package/dist/runtime/query/table-index.d.ts.map +1 -1
- package/dist/runtime/query/table-index.js +119 -4
- package/dist/runtime/query/table-index.js.map +1 -1
- package/dist/runtime/query/unique.d.ts +3 -2
- package/dist/runtime/query/unique.d.ts.map +1 -1
- package/dist/runtime/query/unique.js +7 -6
- package/dist/runtime/query/unique.js.map +1 -1
- package/dist/runtime/query/update.d.ts +2 -0
- package/dist/runtime/query/update.d.ts.map +1 -1
- package/dist/runtime/query/update.js +98 -30
- package/dist/runtime/query/update.js.map +1 -1
- package/dist/runtime/query/updated-at.d.ts +6 -4
- package/dist/runtime/query/updated-at.d.ts.map +1 -1
- package/dist/runtime/query/updated-at.js +23 -9
- package/dist/runtime/query/updated-at.js.map +1 -1
- package/dist/runtime/query/upsert.d.ts.map +1 -1
- package/dist/runtime/query/upsert.js +11 -9
- package/dist/runtime/query/upsert.js.map +1 -1
- package/dist/runtime/sqlite-open.d.ts +3 -0
- package/dist/runtime/sqlite-open.d.ts.map +1 -0
- package/dist/runtime/sqlite-open.js +22 -0
- package/dist/runtime/sqlite-open.js.map +1 -0
- package/dist/runtime/transaction.d.ts +5 -0
- package/dist/runtime/transaction.d.ts.map +1 -0
- package/dist/runtime/transaction.js +26 -0
- package/dist/runtime/transaction.js.map +1 -0
- package/dist/runtime/types.d.ts +1 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/schema/column.d.ts +1 -1
- package/dist/schema/column.d.ts.map +1 -1
- package/dist/schema/column.js +1 -1
- package/dist/schema/column.js.map +1 -1
- package/dist/schema/define-schema.js.map +1 -1
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/types.d.ts +3 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/sql/builder.d.ts.map +1 -1
- package/dist/sql/template.d.ts +7 -0
- package/dist/sql/template.d.ts.map +1 -1
- package/dist/sql/template.js +89 -3
- package/dist/sql/template.js.map +1 -1
- package/dist/utils/case.d.ts +4 -0
- package/dist/utils/case.d.ts.map +1 -1
- package/dist/utils/case.js +11 -0
- package/dist/utils/case.js.map +1 -1
- package/dist/utils/load-ts.d.ts +2 -0
- package/dist/utils/load-ts.d.ts.map +1 -0
- package/dist/utils/load-ts.js +11 -0
- package/dist/utils/load-ts.js.map +1 -0
- package/dist/utils/uuid.js.map +1 -1
- package/package.json +21 -4
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { buildBeginSql } from "./transaction.js";
|
|
2
|
+
function convertPlaceholders(sql) {
|
|
3
|
+
let out = "";
|
|
4
|
+
let inSingle = false;
|
|
5
|
+
let inDouble = false;
|
|
6
|
+
let inLineComment = false;
|
|
7
|
+
let inBlockComment = false;
|
|
8
|
+
for (let i = 0; i < sql.length; i++) {
|
|
9
|
+
const ch = sql[i];
|
|
10
|
+
const next = sql[i + 1];
|
|
11
|
+
if (inLineComment) {
|
|
12
|
+
out += ch;
|
|
13
|
+
if (ch === "\n")
|
|
14
|
+
inLineComment = false;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (inBlockComment) {
|
|
18
|
+
out += ch;
|
|
19
|
+
if (ch === "*" && next === "/") {
|
|
20
|
+
out += next;
|
|
21
|
+
i++;
|
|
22
|
+
inBlockComment = false;
|
|
23
|
+
}
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (inSingle) {
|
|
27
|
+
out += ch;
|
|
28
|
+
if (ch === "'") {
|
|
29
|
+
if (next === "'") {
|
|
30
|
+
out += next;
|
|
31
|
+
i++;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
inSingle = false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (inDouble) {
|
|
40
|
+
out += ch;
|
|
41
|
+
if (ch === '"') {
|
|
42
|
+
if (next === '"') {
|
|
43
|
+
out += next;
|
|
44
|
+
i++;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
inDouble = false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (ch === "-" && next === "-") {
|
|
53
|
+
inLineComment = true;
|
|
54
|
+
out += ch;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (ch === "/" && next === "*") {
|
|
58
|
+
inBlockComment = true;
|
|
59
|
+
out += ch;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (ch === "'") {
|
|
63
|
+
inSingle = true;
|
|
64
|
+
out += ch;
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (ch === '"') {
|
|
68
|
+
inDouble = true;
|
|
69
|
+
out += ch;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (ch === "$" && next !== undefined && /\d/.test(next)) {
|
|
73
|
+
out += "?";
|
|
74
|
+
i++;
|
|
75
|
+
while (i + 1 < sql.length && /\d/.test(sql[i + 1] ?? "")) {
|
|
76
|
+
i++;
|
|
77
|
+
}
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
out += ch;
|
|
81
|
+
}
|
|
82
|
+
return out;
|
|
83
|
+
}
|
|
84
|
+
function isReadStatement(sql) {
|
|
85
|
+
return /^\s*(SELECT|WITH|PRAGMA|EXPLAIN)\b/i.test(sql);
|
|
86
|
+
}
|
|
87
|
+
function serializeParam(value) {
|
|
88
|
+
if (value === undefined)
|
|
89
|
+
return null;
|
|
90
|
+
if (typeof value === "boolean")
|
|
91
|
+
return value ? 1 : 0;
|
|
92
|
+
if (value instanceof Date)
|
|
93
|
+
return value.toISOString();
|
|
94
|
+
if (typeof value === "object" &&
|
|
95
|
+
value !== null &&
|
|
96
|
+
!(value instanceof Uint8Array)) {
|
|
97
|
+
return JSON.stringify(value);
|
|
98
|
+
}
|
|
99
|
+
return value;
|
|
100
|
+
}
|
|
101
|
+
function sqliteRows(result) {
|
|
102
|
+
return { rows: result, rowCount: result.length };
|
|
103
|
+
}
|
|
104
|
+
export function sqliteClient(db) {
|
|
105
|
+
db.exec("PRAGMA foreign_keys = ON");
|
|
106
|
+
const state = { txDepth: 0, savepointCounter: 0 };
|
|
107
|
+
const client = {
|
|
108
|
+
async query(text, params = []) {
|
|
109
|
+
const sql = convertPlaceholders(text);
|
|
110
|
+
if (params.length > 0) {
|
|
111
|
+
const stmt = db.prepare(sql);
|
|
112
|
+
const values = params.map(serializeParam);
|
|
113
|
+
if (isReadStatement(sql)) {
|
|
114
|
+
return sqliteRows(stmt.all(...values));
|
|
115
|
+
}
|
|
116
|
+
if (/\bRETURNING\b/i.test(sql)) {
|
|
117
|
+
const rows = stmt.all(...values);
|
|
118
|
+
return sqliteRows(rows);
|
|
119
|
+
}
|
|
120
|
+
const result = stmt.run(...values);
|
|
121
|
+
return {
|
|
122
|
+
rows: [],
|
|
123
|
+
rowCount: Number(result.changes),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
if (isReadStatement(sql)) {
|
|
127
|
+
return sqliteRows(db.prepare(sql).all());
|
|
128
|
+
}
|
|
129
|
+
if (/\bRETURNING\b/i.test(sql)) {
|
|
130
|
+
return sqliteRows(db.prepare(sql).all());
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
const result = db.prepare(sql).run();
|
|
134
|
+
return {
|
|
135
|
+
rows: [],
|
|
136
|
+
rowCount: Number(result.changes),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
db.exec(sql);
|
|
141
|
+
return { rows: [], rowCount: 0 };
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
async transaction(fn, options) {
|
|
145
|
+
if (state.txDepth > 0) {
|
|
146
|
+
if (options?.readOnly !== undefined ||
|
|
147
|
+
options?.isolationLevel !== undefined) {
|
|
148
|
+
throw new Error("Transaction options (readOnly, isolationLevel) cannot be used with nested transactions");
|
|
149
|
+
}
|
|
150
|
+
const savepointId = ++state.savepointCounter;
|
|
151
|
+
const name = `neoorm_sp_${savepointId}`;
|
|
152
|
+
db.exec(`SAVEPOINT ${name}`);
|
|
153
|
+
try {
|
|
154
|
+
state.txDepth++;
|
|
155
|
+
const result = await fn(client);
|
|
156
|
+
db.exec(`RELEASE SAVEPOINT ${name}`);
|
|
157
|
+
return result;
|
|
158
|
+
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
db.exec(`ROLLBACK TO SAVEPOINT ${name}`);
|
|
161
|
+
db.exec(`RELEASE SAVEPOINT ${name}`);
|
|
162
|
+
throw err;
|
|
163
|
+
}
|
|
164
|
+
finally {
|
|
165
|
+
state.txDepth--;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
db.exec(buildSqliteBeginSql(options));
|
|
169
|
+
try {
|
|
170
|
+
state.txDepth++;
|
|
171
|
+
const result = await fn(client);
|
|
172
|
+
db.exec("COMMIT");
|
|
173
|
+
return result;
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
db.exec("ROLLBACK");
|
|
177
|
+
throw err;
|
|
178
|
+
}
|
|
179
|
+
finally {
|
|
180
|
+
state.txDepth--;
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
async close() {
|
|
184
|
+
db.close();
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
return client;
|
|
188
|
+
}
|
|
189
|
+
function buildSqliteBeginSql(options) {
|
|
190
|
+
if (options?.readOnly) {
|
|
191
|
+
return "BEGIN DEFERRED";
|
|
192
|
+
}
|
|
193
|
+
switch (options?.isolationLevel) {
|
|
194
|
+
case "RepeatableRead":
|
|
195
|
+
case "Serializable":
|
|
196
|
+
return "BEGIN IMMEDIATE";
|
|
197
|
+
case "ReadUncommitted":
|
|
198
|
+
case "ReadCommitted":
|
|
199
|
+
default:
|
|
200
|
+
return "BEGIN";
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
function createPgTxClient(state) {
|
|
204
|
+
return {
|
|
205
|
+
async query(text, params = []) {
|
|
206
|
+
const result = await state.client.query(text, params);
|
|
207
|
+
return {
|
|
208
|
+
rows: result.rows,
|
|
209
|
+
rowCount: result.rowCount ?? 0,
|
|
210
|
+
};
|
|
211
|
+
},
|
|
212
|
+
async transaction(fn, options) {
|
|
213
|
+
if (options?.readOnly !== undefined ||
|
|
214
|
+
options?.isolationLevel !== undefined) {
|
|
215
|
+
throw new Error("Transaction options (readOnly, isolationLevel) cannot be used with nested transactions");
|
|
216
|
+
}
|
|
217
|
+
const savepointId = ++state.savepointCounter;
|
|
218
|
+
const name = `neoorm_sp_${savepointId}`;
|
|
219
|
+
await state.client.query(`SAVEPOINT ${name}`);
|
|
220
|
+
try {
|
|
221
|
+
const result = await fn(createPgTxClient(state));
|
|
222
|
+
await state.client.query(`RELEASE SAVEPOINT ${name}`);
|
|
223
|
+
return result;
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
await state.client.query(`ROLLBACK TO SAVEPOINT ${name}`);
|
|
227
|
+
await state.client.query(`RELEASE SAVEPOINT ${name}`);
|
|
228
|
+
throw err;
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
async close() { },
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
export function pgClient(pool) {
|
|
235
|
+
return {
|
|
236
|
+
async query(text, params = []) {
|
|
237
|
+
const result = await pool.query(text, params);
|
|
238
|
+
return {
|
|
239
|
+
rows: result.rows,
|
|
240
|
+
rowCount: result.rowCount ?? 0,
|
|
241
|
+
};
|
|
242
|
+
},
|
|
243
|
+
async transaction(fn, options) {
|
|
244
|
+
const client = await pool.connect();
|
|
245
|
+
const state = { client, savepointCounter: 0 };
|
|
246
|
+
try {
|
|
247
|
+
await client.query(buildBeginSql(options));
|
|
248
|
+
const result = await fn(createPgTxClient(state));
|
|
249
|
+
await client.query("COMMIT");
|
|
250
|
+
return result;
|
|
251
|
+
}
|
|
252
|
+
catch (err) {
|
|
253
|
+
await client.query("ROLLBACK");
|
|
254
|
+
throw err;
|
|
255
|
+
}
|
|
256
|
+
finally {
|
|
257
|
+
client.release();
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
async close() {
|
|
261
|
+
await pool.end();
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=driver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/runtime/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACvB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,cAAc,GACd,KAAK,CAAC;AAET,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAsBF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CA+CnE;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,SAAkB,KAAK,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACvB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,cAAc,GACd,KAAK,CAAC;AAET,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAsBF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CA+CnE;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,SAAkB,KAAK,EAAE,OAAO,CAAC;IAEjC,YAAY,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,OAAO,EAKtD;CACD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Pool } from "pg";
|
|
2
2
|
import type { CompiledQuery } from "../dialect/types.js";
|
|
3
3
|
import type { TransactionOptions } from "./types.js";
|
|
4
|
+
import { type SqliteDatabaseLike } from "./driver.js";
|
|
4
5
|
export type ExecuteResult<T = Record<string, unknown>> = {
|
|
5
6
|
rows: T[];
|
|
6
7
|
rowCount: number;
|
|
@@ -12,8 +13,10 @@ export type Executor = {
|
|
|
12
13
|
execute<T = Record<string, unknown>>(text: string, params?: unknown[]): Promise<ExecuteResult<T>>;
|
|
13
14
|
transaction<T>(fn: (tx: Executor) => Promise<T>, options?: TransactionOptions): Promise<T>;
|
|
14
15
|
};
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
export type ExecutorOptions = {
|
|
17
|
+
preparedStatements?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare function createExecutor(pool: Pool, options?: ExecutorOptions): Executor;
|
|
18
20
|
export declare function compileQuery(parts: TemplateStringsArray, values: unknown[]): CompiledQuery;
|
|
21
|
+
export declare function createSqliteExecutor(db: SqliteDatabaseLike, _options?: ExecutorOptions): Executor;
|
|
19
22
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,IAAI,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMrD,OAAO,EAEN,KAAK,kBAAkB,EACvB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACxD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,WAAW,CAAC,CAAC,EACZ,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAChC,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAgFF,wBAAgB,cAAc,CAC7B,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,eAAe,GACvB,QAAQ,CA2BV;AAoCD,wBAAgB,YAAY,CAC3B,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,OAAO,EAAE,GACf,aAAa,CAaf;AAyCD,wBAAgB,oBAAoB,CACnC,EAAE,EAAE,kBAAkB,EACtB,QAAQ,CAAC,EAAE,eAAe,GACxB,QAAQ,CAGV"}
|
package/dist/runtime/executor.js
CHANGED
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Serializable: "SERIALIZABLE",
|
|
6
|
-
};
|
|
7
|
-
export function buildBeginSql(options) {
|
|
8
|
-
const parts = ["BEGIN"];
|
|
9
|
-
if (options?.readOnly) {
|
|
10
|
-
parts.push("READ ONLY");
|
|
11
|
-
}
|
|
12
|
-
if (options?.isolationLevel) {
|
|
13
|
-
parts.push(`ISOLATION LEVEL ${isolationLevelSql[options.isolationLevel]}`);
|
|
14
|
-
}
|
|
15
|
-
return parts.join(" ");
|
|
16
|
-
}
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { assertNoSavepointOptions, buildBeginSql, buildSavepointName, } from "./transaction.js";
|
|
3
|
+
import { sqliteClient, } from "./driver.js";
|
|
4
|
+
import { CappedMap } from "./query/table-index.js";
|
|
17
5
|
function rowsFromResult(result) {
|
|
18
6
|
return result.rows;
|
|
19
7
|
}
|
|
@@ -23,36 +11,53 @@ function executeFromResult(result) {
|
|
|
23
11
|
rowCount: result.rowCount ?? 0,
|
|
24
12
|
};
|
|
25
13
|
}
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
const statementNameCache = new CappedMap(500);
|
|
15
|
+
function statementName(text) {
|
|
16
|
+
const cached = statementNameCache.get(text);
|
|
17
|
+
if (cached !== undefined)
|
|
18
|
+
return cached;
|
|
19
|
+
const name = `neoorm_${createHash("sha256").update(text).digest("hex").slice(0, 32)}`;
|
|
20
|
+
statementNameCache.set(text, name);
|
|
21
|
+
return name;
|
|
28
22
|
}
|
|
29
|
-
function
|
|
30
|
-
if (
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
async function runQuery(client, text, params, usePrepared) {
|
|
24
|
+
if (usePrepared) {
|
|
25
|
+
return client.query({
|
|
26
|
+
name: statementName(text),
|
|
27
|
+
text,
|
|
28
|
+
values: params,
|
|
29
|
+
});
|
|
33
30
|
}
|
|
31
|
+
return client.query(text, params);
|
|
34
32
|
}
|
|
35
|
-
|
|
33
|
+
function createQueryMethods(client, usePrepared) {
|
|
36
34
|
return {
|
|
37
35
|
async query(text, params = []) {
|
|
38
|
-
const result = await
|
|
36
|
+
const result = await runQuery(client, text, params, usePrepared);
|
|
39
37
|
return rowsFromResult(result);
|
|
40
38
|
},
|
|
41
39
|
async queryOne(text, params = []) {
|
|
42
|
-
const result = await
|
|
40
|
+
const result = await runQuery(client, text, params, usePrepared);
|
|
43
41
|
const rows = rowsFromResult(result);
|
|
44
42
|
return rows[0] ?? null;
|
|
45
43
|
},
|
|
46
44
|
async execute(text, params = []) {
|
|
47
|
-
const result = await
|
|
45
|
+
const result = await runQuery(client, text, params, usePrepared);
|
|
48
46
|
return executeFromResult(result);
|
|
49
47
|
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function createExecutor(pool, options) {
|
|
51
|
+
const usePrepared = options?.preparedStatements ?? false;
|
|
52
|
+
const queryMethods = createQueryMethods(pool, usePrepared);
|
|
53
|
+
return {
|
|
54
|
+
...queryMethods,
|
|
50
55
|
async transaction(fn, options) {
|
|
51
56
|
const client = await pool.connect();
|
|
52
57
|
try {
|
|
53
58
|
await client.query(buildBeginSql(options));
|
|
54
59
|
const state = { client, savepointCounter: 0 };
|
|
55
|
-
const tx = createClientExecutor(state);
|
|
60
|
+
const tx = createClientExecutor(state, usePrepared);
|
|
56
61
|
const result = await fn(tx);
|
|
57
62
|
await client.query("COMMIT");
|
|
58
63
|
return result;
|
|
@@ -67,30 +72,19 @@ export function createExecutor(pool) {
|
|
|
67
72
|
},
|
|
68
73
|
};
|
|
69
74
|
}
|
|
70
|
-
function createClientExecutor(state) {
|
|
75
|
+
function createClientExecutor(state, usePrepared) {
|
|
71
76
|
const { client } = state;
|
|
77
|
+
const queryMethods = createQueryMethods(client, usePrepared);
|
|
72
78
|
return {
|
|
73
79
|
inTransaction: true,
|
|
74
|
-
|
|
75
|
-
const result = await client.query(text, params);
|
|
76
|
-
return rowsFromResult(result);
|
|
77
|
-
},
|
|
78
|
-
async queryOne(text, params = []) {
|
|
79
|
-
const result = await client.query(text, params);
|
|
80
|
-
const rows = rowsFromResult(result);
|
|
81
|
-
return rows[0] ?? null;
|
|
82
|
-
},
|
|
83
|
-
async execute(text, params = []) {
|
|
84
|
-
const result = await client.query(text, params);
|
|
85
|
-
return executeFromResult(result);
|
|
86
|
-
},
|
|
80
|
+
...queryMethods,
|
|
87
81
|
async transaction(fn, options) {
|
|
88
82
|
assertNoSavepointOptions(options);
|
|
89
83
|
const savepointId = ++state.savepointCounter;
|
|
90
84
|
const savepointName = buildSavepointName(savepointId);
|
|
91
85
|
await client.query(`SAVEPOINT ${savepointName}`);
|
|
92
86
|
try {
|
|
93
|
-
const result = await fn(createClientExecutor(state));
|
|
87
|
+
const result = await fn(createClientExecutor(state, usePrepared));
|
|
94
88
|
await client.query(`RELEASE SAVEPOINT ${savepointName}`);
|
|
95
89
|
return result;
|
|
96
90
|
}
|
|
@@ -114,4 +108,28 @@ export function compileQuery(parts, values) {
|
|
|
114
108
|
}
|
|
115
109
|
return { text, params };
|
|
116
110
|
}
|
|
111
|
+
function createExecutorFromDriver(driver, inTransaction) {
|
|
112
|
+
return {
|
|
113
|
+
inTransaction,
|
|
114
|
+
async query(text, params = []) {
|
|
115
|
+
const result = await driver.query(text, params);
|
|
116
|
+
return result.rows;
|
|
117
|
+
},
|
|
118
|
+
async queryOne(text, params = []) {
|
|
119
|
+
const result = await driver.query(text, params);
|
|
120
|
+
return result.rows[0] ?? null;
|
|
121
|
+
},
|
|
122
|
+
async execute(text, params = []) {
|
|
123
|
+
const result = await driver.query(text, params);
|
|
124
|
+
return { rows: result.rows, rowCount: result.rowCount };
|
|
125
|
+
},
|
|
126
|
+
async transaction(fn, options) {
|
|
127
|
+
return driver.transaction(() => fn(createExecutorFromDriver(driver, true)), options);
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
export function createSqliteExecutor(db, _options) {
|
|
132
|
+
const driver = sqliteClient(db);
|
|
133
|
+
return createExecutorFromDriver(driver, false);
|
|
134
|
+
}
|
|
117
135
|
//# sourceMappingURL=executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/runtime/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EACN,wBAAwB,EACxB,aAAa,EACb,kBAAkB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,YAAY,GAEZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AA+BnD,SAAS,cAAc,CAAC,MAAmB;IAC1C,OAAO,MAAM,CAAC,IAAiC,CAAC;AACjD,CAAC;AAED,SAAS,iBAAiB,CACzB,MAAmB;IAEnB,OAAO;QACN,IAAI,EAAE,cAAc,CAAC,MAAM,CAAQ;QACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;KAC9B,CAAC;AACH,CAAC;AAID,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAiB,GAAG,CAAC,CAAC;AAE9D,SAAS,aAAa,CAAC,IAAY;IAClC,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,IAAI,GAAG,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACtF,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC;AACb,CAAC;AAED,KAAK,UAAU,QAAQ,CACtB,MAAiB,EACjB,IAAY,EACZ,MAAiB,EACjB,WAAoB;IAEpB,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,KAAK,CAAC;YACnB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;YACzB,IAAI;YACJ,MAAM,EAAE,MAAM;SACd,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAOD,SAAS,kBAAkB,CAC1B,MAAiB,EACjB,WAAoB;IAEpB,OAAO;QACN,KAAK,CAAC,KAAK,CACV,IAAY,EACZ,MAAM,GAAc,EAAE;YAEtB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACjE,OAAO,cAAc,CAAC,MAAM,CAAQ,CAAC;QACtC,CAAC;QAED,KAAK,CAAC,QAAQ,CACb,IAAY,EACZ,MAAM,GAAc,EAAE;YAEtB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACpC,OAAQ,IAAI,CAAC,CAAC,CAAmB,IAAI,IAAI,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,OAAO,CACZ,IAAY,EACZ,MAAM,GAAc,EAAE;YAEtB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACjE,OAAO,iBAAiB,CAAI,MAAM,CAAC,CAAC;QACrC,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,IAAU,EACV,OAAyB;IAEzB,MAAM,WAAW,GAAG,OAAO,EAAE,kBAAkB,IAAI,KAAK,CAAC;IACzD,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE3D,OAAO;QACN,GAAG,YAAY;QAEf,KAAK,CAAC,WAAW,CAChB,EAAgC,EAChC,OAA4B;YAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC;gBACJ,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAqB,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;gBAChE,MAAM,EAAE,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5B,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC7B,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/B,MAAM,GAAG,CAAC;YACX,CAAC;oBAAS,CAAC;gBACV,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC5B,KAAuB,EACvB,WAAoB;IAEpB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE7D,OAAO;QACN,aAAa,EAAE,IAAI;QACnB,GAAG,YAAY;QAEf,KAAK,CAAC,WAAW,CAChB,EAAgC,EAChC,OAA4B;YAE5B,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAElC,MAAM,WAAW,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC;YAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAEtD,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;gBAClE,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,MAAM,CAAC,KAAK,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;gBAC7D,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC;gBACzD,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,KAA2B,EAC3B,MAAiB;IAEjB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,wBAAwB,CAChC,MAAuC,EACvC,aAAsB;IAEtB,OAAO;QACN,aAAa;QACb,KAAK,CAAC,KAAK,CACV,IAAY,EACZ,MAAM,GAAc,EAAE;YAEtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAI,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,QAAQ,CACb,IAAY,EACZ,MAAM,GAAc,EAAE;YAEtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAI,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC/B,CAAC;QACD,KAAK,CAAC,OAAO,CACZ,IAAY,EACZ,MAAM,GAAc,EAAE;YAEtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAI,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,WAAW,CAChB,EAAgC,EAChC,OAA4B;YAE5B,OAAO,MAAM,CAAC,WAAW,CACxB,GAAG,EAAE,CAAC,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAChD,OAAO,CACP,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,EAAsB,EACtB,QAA0B;IAE1B,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,OAAO,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/aggregate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,cAAc,CAAC;AA2B9D,wBAAsB,gBAAgB,CACrC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC5B,GACC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/aggregate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,cAAc,CAAC;AA2B9D,wBAAsB,gBAAgB,CACrC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC5B,GACC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsClC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { postgresDialect } from "../../dialect/postgres.js";
|
|
2
|
-
import {
|
|
2
|
+
import { getCachedAggregateQuery, compileWhere, } from "./compile.js";
|
|
3
3
|
import { runQueryOne } from "./execute.js";
|
|
4
4
|
function parseAggregateRow(row, selectors) {
|
|
5
5
|
const result = {};
|
|
@@ -21,6 +21,7 @@ function parseAggregateRow(row, selectors) {
|
|
|
21
21
|
return result;
|
|
22
22
|
}
|
|
23
23
|
export async function aggregateRecords(executor, runtime, tableAccessor, args) {
|
|
24
|
+
const dialect = runtime.dialect ?? postgresDialect;
|
|
24
25
|
const { manifest } = runtime;
|
|
25
26
|
const table = manifest.tables[tableAccessor];
|
|
26
27
|
if (!table)
|
|
@@ -36,8 +37,8 @@ export async function aggregateRecords(executor, runtime, tableAccessor, args) {
|
|
|
36
37
|
selectors._min = args._min;
|
|
37
38
|
if (args._max)
|
|
38
39
|
selectors._max = args._max;
|
|
39
|
-
const { sql: whereSql, params } = compileWhere(manifest, table, args.where,
|
|
40
|
-
const query =
|
|
40
|
+
const { sql: whereSql, params } = compileWhere(manifest, table, args.where, dialect, 1, runtime.tableIndex);
|
|
41
|
+
const query = getCachedAggregateQuery(runtime.tableIndex?.get(tableAccessor), table, selectors, whereSql, runtime.tableIndex, dialect);
|
|
41
42
|
const row = await runQueryOne(executor, runtime, { operation: "select", tableAccessor }, query, params);
|
|
42
43
|
return parseAggregateRow(row ?? {}, selectors);
|
|
43
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../src/runtime/query/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAEN,
|
|
1
|
+
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../src/runtime/query/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAEN,uBAAuB,EACvB,YAAY,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,SAAS,iBAAiB,CACzB,GAA4B,EAC5B,SAA6B;IAE7B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACtB,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,QAAkB,EAClB,OAAqB,EACrB,aAAqB,EACrB,IAOC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM;QAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;IACzC,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAE1C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,YAAY,CAC7C,QAAQ,EACR,KAAK,EACL,IAAI,CAAC,KAAK,EACV,OAAO,EACP,CAAC,EACD,OAAO,CAAC,UAAU,CAClB,CAAC;IACF,MAAM,KAAK,GAAG,uBAAuB,CACpC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,EACtC,KAAK,EACL,SAAS,EACT,QAAQ,EACR,OAAO,CAAC,UAAU,EAClB,OAAO,CACP,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,WAAW,CAC5B,QAAQ,EACR,OAAO,EACP,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,EACtC,KAAK,EACL,MAAM,CACN,CAAC;IAEF,OAAO,iBAAiB,CAAC,GAAG,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
import type { Dialect, Manifest, ManifestColumn, ManifestTable } from "../../dialect/types.js";
|
|
2
|
+
import { type ManifestIndex, type TableIndex } from "./table-index.js";
|
|
2
3
|
export type WhereClause = {
|
|
3
4
|
sql: string;
|
|
4
5
|
params: unknown[];
|
|
5
6
|
impossible?: boolean;
|
|
6
7
|
};
|
|
7
|
-
export declare function serializeColumnValue(col: ManifestColumn, value: unknown): unknown;
|
|
8
|
-
export declare function compileWhere(manifest: Manifest, table: ManifestTable, where: Record<string, unknown> | undefined, dialect: Dialect, startParamIndex?: number): WhereClause;
|
|
8
|
+
export declare function serializeColumnValue(col: ManifestColumn, value: unknown, dialect?: Dialect): unknown;
|
|
9
|
+
export declare function compileWhere(manifest: Manifest, table: ManifestTable, where: Record<string, unknown> | undefined, dialect: Dialect, startParamIndex?: number, manifestIndex?: ManifestIndex, qualifyColumns?: boolean): WhereClause;
|
|
10
|
+
export declare function getCachedWhereClause(manifest: Manifest, table: ManifestTable, where: Record<string, unknown> | undefined, dialect: Dialect, startParamIndex?: number, manifestIndex?: ManifestIndex, qualifyColumns?: boolean): WhereClause;
|
|
11
|
+
export type OrderByInput = Record<string, string | Record<string, string>>;
|
|
12
|
+
export declare function orderByShapeKey(orderBy: OrderByInput | undefined, tableAlias?: string): string;
|
|
13
|
+
export declare function getCachedOrderByClause(table: ManifestTable, orderBy: OrderByInput | undefined, tableAlias?: string, manifestIndex?: ManifestIndex): string;
|
|
14
|
+
export declare function getCachedDeleteManyQuery(tableIndex: TableIndex | undefined, table: ManifestTable, whereSql: string): string;
|
|
9
15
|
export declare function isImpossibleWhereSql(sql: string): boolean;
|
|
10
16
|
export declare function isImpossibleWhere(whereSql: string): boolean;
|
|
11
|
-
export declare function compileOrderBy(table: ManifestTable, orderBy:
|
|
17
|
+
export declare function compileOrderBy(table: ManifestTable, orderBy: OrderByInput | undefined, tableAlias?: string, manifestIndex?: ManifestIndex): string;
|
|
12
18
|
export declare function normalizeSelectColumns(select?: readonly string[] | Record<string, boolean | undefined>): readonly string[] | undefined;
|
|
13
|
-
export declare function buildSelectColumns(table: ManifestTable, select?: readonly string[]): string;
|
|
14
|
-
export declare function buildQualifiedSelectColumns(table: ManifestTable, select?: readonly string[]): string;
|
|
19
|
+
export declare function buildSelectColumns(table: ManifestTable, select?: readonly string[], manifestIndex?: ManifestIndex): string;
|
|
20
|
+
export declare function buildQualifiedSelectColumns(table: ManifestTable, select?: readonly string[], manifestIndex?: ManifestIndex): string;
|
|
15
21
|
export declare function buildFindByIdQuery(table: ManifestTable): string;
|
|
16
22
|
export declare function buildFindAllQuery(table: ManifestTable): string;
|
|
17
|
-
export declare function
|
|
18
|
-
export declare function
|
|
19
|
-
export declare function
|
|
23
|
+
export declare function normalizeLimitOffset(value: unknown, label: string): number;
|
|
24
|
+
export declare function buildFindManyQuery(table: ManifestTable, whereSql: string, orderSql: string, limit?: number, offset?: number, distinctOn?: readonly string[], extraSelectCols?: string[], joinClauses?: string[], manifestIndex?: ManifestIndex, groupBySql?: string): string;
|
|
25
|
+
export declare function buildPaginateQuery(table: ManifestTable, whereSql: string, orderSql: string, take: number, extraSelectCols?: string[], joinClauses?: string[], manifestIndex?: ManifestIndex): string;
|
|
26
|
+
export declare function buildCountQuery(table: ManifestTable, whereSql: string, dialect?: Dialect): string;
|
|
20
27
|
export type AggregateSelectors = {
|
|
21
28
|
_count?: true;
|
|
22
29
|
_avg?: Record<string, true>;
|
|
@@ -24,32 +31,38 @@ export type AggregateSelectors = {
|
|
|
24
31
|
_min?: Record<string, true>;
|
|
25
32
|
_max?: Record<string, true>;
|
|
26
33
|
};
|
|
27
|
-
export declare function buildAggregateQuery(table: ManifestTable, selectors: AggregateSelectors, whereSql: string): string;
|
|
28
|
-
export declare function
|
|
34
|
+
export declare function buildAggregateQuery(table: ManifestTable, selectors: AggregateSelectors, whereSql: string, manifestIndex?: ManifestIndex, dialect?: Dialect): string;
|
|
35
|
+
export declare function aggregateSelectorCacheKey(selectors: AggregateSelectors): string;
|
|
36
|
+
export declare function getCachedAggregateQuery(tableIndex: TableIndex | undefined, table: ManifestTable, selectors: AggregateSelectors, whereSql: string, manifestIndex?: ManifestIndex, dialect?: Dialect): string;
|
|
37
|
+
export declare function buildUpsertQuery(table: ManifestTable, insertKeys: string[], updateKeys: string[], conflictSqlColumns: readonly string[], exprSets?: string[], manifestIndex?: ManifestIndex): string;
|
|
29
38
|
export declare const FIND_OR_CREATE_FLAG = "__neoorm_created";
|
|
30
|
-
export declare function buildFindOrCreateQuery(table: ManifestTable, insertKeys: string[], conflictSqlColumns: readonly string[], fallbackWhereBody: string): string;
|
|
31
|
-
export
|
|
32
|
-
export declare function
|
|
39
|
+
export declare function buildFindOrCreateQuery(table: ManifestTable, insertKeys: string[], conflictSqlColumns: readonly string[], fallbackWhereBody: string, manifestIndex?: ManifestIndex): string;
|
|
40
|
+
export type InsertReturning = "full" | "pk" | "none";
|
|
41
|
+
export declare function buildInsertQuery(table: ManifestTable, dataKeys: string[], manifestIndex?: ManifestIndex, returning?: InsertReturning): string;
|
|
42
|
+
export declare function getCachedInsertQuery(tableIndex: TableIndex | undefined, table: ManifestTable, dataKeys: string[], returning: InsertReturning, manifestIndex?: ManifestIndex): string;
|
|
43
|
+
export declare function buildInsertManyValueRows(table: ManifestTable, dataKeys: string[], rows: Array<Array<unknown | undefined>>, manifestIndex?: ManifestIndex): {
|
|
33
44
|
valueRows: string[];
|
|
34
45
|
values: unknown[];
|
|
35
46
|
};
|
|
36
|
-
export declare function buildInsertManyQuery(table: ManifestTable, dataKeys: string[], valueRows: string[]): string;
|
|
37
|
-
export
|
|
38
|
-
export declare function
|
|
47
|
+
export declare function buildInsertManyQuery(table: ManifestTable, dataKeys: string[], valueRows: string[], manifestIndex?: ManifestIndex): string;
|
|
48
|
+
export type UpdateReturning = "full" | "pk" | "none";
|
|
49
|
+
export declare function buildUpdateQuery(table: ManifestTable, dataKeys: string[], whereSql: string, exprSets?: string[], manifestIndex?: ManifestIndex, returning?: UpdateReturning): string;
|
|
50
|
+
export declare function buildReturningPkColumns(table: ManifestTable, manifestIndex?: ManifestIndex): string;
|
|
51
|
+
export declare function buildDeleteQuery(table: ManifestTable, whereSql: string, returning: "full" | "pk", manifestIndex?: ManifestIndex): string;
|
|
39
52
|
export declare function buildDeleteManyQuery(table: ManifestTable, whereSql: string): string;
|
|
40
|
-
export declare function buildUpdateManyQuery(table: ManifestTable, dataKeys: string[], whereSql: string, exprSets?: string[]): string;
|
|
53
|
+
export declare function buildUpdateManyQuery(table: ManifestTable, dataKeys: string[], whereSql: string, exprSets?: string[], manifestIndex?: ManifestIndex): string;
|
|
54
|
+
export declare function getCachedUpdateManyQuery(tableIndex: TableIndex | undefined, table: ManifestTable, dataKeys: string[], whereSql: string, exprSets: string[], manifestIndex?: ManifestIndex): string;
|
|
55
|
+
export declare function getCachedFindManyQuery(tableIndex: TableIndex | undefined, signature: string, build: () => string): string;
|
|
41
56
|
export declare function dataToSqlValues(table: ManifestTable, data: Record<string, unknown>, options?: {
|
|
42
57
|
excludePrimary?: boolean;
|
|
43
|
-
}): {
|
|
58
|
+
}, manifestIndex?: ManifestIndex, dialect?: Dialect): {
|
|
44
59
|
keys: string[];
|
|
45
60
|
values: unknown[];
|
|
46
61
|
};
|
|
47
62
|
export declare function rowToTs(table: ManifestTable, row: Record<string, unknown>): Record<string, unknown>;
|
|
48
|
-
export declare function rowToTsIndexed(index:
|
|
49
|
-
|
|
50
|
-
}, table: ManifestTable, row: Record<string, unknown>): Record<string, unknown>;
|
|
51
|
-
export declare function rowsToTsIndexed(index: {
|
|
52
|
-
deserializeColumns: ManifestColumn[];
|
|
53
|
-
}, table: ManifestTable, rows: Record<string, unknown>[]): Record<string, unknown>[];
|
|
63
|
+
export declare function rowToTsIndexed(index: TableIndex, table: ManifestTable, row: Record<string, unknown>): Record<string, unknown>;
|
|
64
|
+
export declare function rowsToTsIndexed(index: TableIndex, table: ManifestTable, rows: Record<string, unknown>[]): Record<string, unknown>[];
|
|
54
65
|
export declare function rowsToTs(table: ManifestTable, rows: Record<string, unknown>[]): Record<string, unknown>[];
|
|
66
|
+
export declare function mapRowToTs(tableIndex: TableIndex | undefined, table: ManifestTable, row: Record<string, unknown>): Record<string, unknown>;
|
|
67
|
+
export declare function mapRowsToTs(tableIndex: TableIndex | undefined, table: ManifestTable, rows: Record<string, unknown>[]): Record<string, unknown>[];
|
|
55
68
|
//# sourceMappingURL=compile.d.ts.map
|