prostgles-server 4.1.57 → 4.1.58
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/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js +4 -3
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js.map +1 -1
- package/lib/DboBuilder/QueryBuilder/getJoinQuery.ts +4 -3
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/isomorphic_queries.ts +66 -0
- package/tests/server/DBoGenerated.d.ts +109 -17
- package/tests/server/index.ts +4 -1
- package/tests/server/init.sql +18 -0
- package/tests/server/package-lock.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA2B,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAa,MAAM;;;CAMzC,CAAA;
|
|
1
|
+
{"version":3,"file":"getJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA2B,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAa,MAAM;;;CAMzC,CAAA;AAYD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,gBAAiB,WAAW,qBAAqB,IAAI;gBAAiB,MAAM,EAAE;2BAAyB,MAAM,EAAE;;CA2EvI,CAAA"}
|
|
@@ -18,9 +18,10 @@ const getJoinCol = (colName) => {
|
|
|
18
18
|
};
|
|
19
19
|
exports.getJoinCol = getJoinCol;
|
|
20
20
|
const getJoinTable = (tableName, pathIndex, isLastTableAlias) => {
|
|
21
|
-
const rawAlias = isLastTableAlias ?? `p${pathIndex}
|
|
21
|
+
const rawAlias = isLastTableAlias ?? `p${pathIndex} ${tableName}`;
|
|
22
22
|
return {
|
|
23
|
-
name:
|
|
23
|
+
// name: asName(tableName), /** table names are already escaped */
|
|
24
|
+
name: tableName,
|
|
24
25
|
alias: (0, prostgles_types_1.asName)(rawAlias),
|
|
25
26
|
rawAlias,
|
|
26
27
|
};
|
|
@@ -53,7 +54,7 @@ const getJoinQuery = (viewHandler, { q1, q2, depth }) => {
|
|
|
53
54
|
const targetQueryExtraQueries = [];
|
|
54
55
|
// const prevTableAlias = !i? (q1.tableAlias ?? q1.table) : `t${i-1}`;
|
|
55
56
|
// const tableAlias = isLast? targetTableAlias : asName(`t${i}`);
|
|
56
|
-
const prevTable = getJoinTable(!i ? (q1.tableAlias
|
|
57
|
+
const prevTable = getJoinTable(!i ? (q1.tableAlias ? (0, prostgles_types_1.asName)(q1.tableAlias) : q1.table) : paths[i - 1].table, i - 1, undefined);
|
|
57
58
|
// const tableAlias = isLast? targetTableAlias : asName(path.table);
|
|
58
59
|
const table = getJoinTable(path.table, i, isLast ? targetTableAliasRaw : undefined);
|
|
59
60
|
if (isLast) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AACpD,gEAA6D;AAC7D,iDAAiF;AACjF,qDAA+C;AAE/C,wEAAsE;AAStE;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;IAC5C,MAAM,KAAK,GAAG,IAAA,wBAAM,EAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC;IAClD,OAAO;QACL,KAAK;QACL,UAAU,EAAE,GAAG,IAAA,wBAAM,EAAC,OAAO,CAAC,OAAO,KAAK,EAAE;KAC7C,CAAA;AACH,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB;AAED,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,gBAAoC,EAAE,EAAE;IAClG,MAAM,QAAQ,GAAG,gBAAgB,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;IACnE,OAAO;QACL,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"getJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/getJoinQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,9 +24,10 @@ export const getJoinCol = (colName: string) => {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
const getJoinTable = (tableName: string, pathIndex: number, isLastTableAlias: string | undefined) => {
|
|
27
|
-
const rawAlias = isLastTableAlias ?? `p${pathIndex}
|
|
27
|
+
const rawAlias = isLastTableAlias ?? `p${pathIndex} ${tableName}`;
|
|
28
28
|
return {
|
|
29
|
-
name: asName(tableName),
|
|
29
|
+
// name: asName(tableName), /** table names are already escaped */
|
|
30
|
+
name: tableName,
|
|
30
31
|
alias: asName(rawAlias),
|
|
31
32
|
rawAlias,
|
|
32
33
|
}
|
|
@@ -65,7 +66,7 @@ export const getJoinQuery = (viewHandler: ViewHandler, { q1, q2, depth }: Args):
|
|
|
65
66
|
// const prevTableAlias = !i? (q1.tableAlias ?? q1.table) : `t${i-1}`;
|
|
66
67
|
// const tableAlias = isLast? targetTableAlias : asName(`t${i}`);
|
|
67
68
|
|
|
68
|
-
const prevTable = getJoinTable(!i? (q1.tableAlias
|
|
69
|
+
const prevTable = getJoinTable(!i? (q1.tableAlias? asName(q1.tableAlias) : q1.table) : paths[i-1]!.table, i-1, undefined);
|
|
69
70
|
// const tableAlias = isLast? targetTableAlias : asName(path.table);
|
|
70
71
|
const table = getJoinTable(path.table, i, isLast? targetTableAliasRaw : undefined);
|
|
71
72
|
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
111733
|
|
@@ -874,6 +874,72 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
874
874
|
|
|
875
875
|
});
|
|
876
876
|
|
|
877
|
+
await tryRun("Join escaped table names with quotes", async () => {
|
|
878
|
+
await db[`"""quoted0"""`].insert({
|
|
879
|
+
[`"text_col0"`]: "0",
|
|
880
|
+
[`"quoted1_id"`]: {
|
|
881
|
+
[`"text_col1"`]: "1",
|
|
882
|
+
[`"quoted2_id"`]: {
|
|
883
|
+
[`"text_col2"`]: "2",
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
});
|
|
887
|
+
|
|
888
|
+
const res = await db[`"""quoted0"""`].find({
|
|
889
|
+
[`"text_col0"`]: "0",
|
|
890
|
+
}, {
|
|
891
|
+
select: {
|
|
892
|
+
"*": 1,
|
|
893
|
+
[`"""quoted2"""`]: {
|
|
894
|
+
[`"text_col2"`]: 1,
|
|
895
|
+
[`"id2"`]: "$min",
|
|
896
|
+
[`id2 max`]: { "$max": [`"id2"`] },
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
});
|
|
900
|
+
|
|
901
|
+
assert.deepStrictEqual(res[0], {
|
|
902
|
+
'"""quoted2"""': [
|
|
903
|
+
{
|
|
904
|
+
'"text_col2"': '2',
|
|
905
|
+
'id2 max': 1,
|
|
906
|
+
'"id2"': 1,
|
|
907
|
+
}
|
|
908
|
+
],
|
|
909
|
+
'"id0"': 1,
|
|
910
|
+
'"quoted1_id"': 1,
|
|
911
|
+
'"text_col0"': '0'
|
|
912
|
+
});
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
const aliasedQuotedJoin = await db[`"""quoted0"""`].find({
|
|
916
|
+
[`"text_col0"`]: "0",
|
|
917
|
+
}, {
|
|
918
|
+
select: {
|
|
919
|
+
"*": 1,
|
|
920
|
+
'"ali as"': {
|
|
921
|
+
$leftJoin: '"""quoted2"""',
|
|
922
|
+
select: {
|
|
923
|
+
'"text_col2"': { $left: ['"text_col2"', 2] },
|
|
924
|
+
'"id2"': "$min",
|
|
925
|
+
'id2 max': { "$max": [`"id2"`] },
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
});
|
|
930
|
+
|
|
931
|
+
assert.deepStrictEqual(aliasedQuotedJoin, [{
|
|
932
|
+
'"id0"': 1,
|
|
933
|
+
'"quoted1_id"': 1,
|
|
934
|
+
'"text_col0"': '0',
|
|
935
|
+
'"ali as"': [{
|
|
936
|
+
'"text_col2"': '2',
|
|
937
|
+
'"id2"': 1,
|
|
938
|
+
'id2 max': 1,
|
|
939
|
+
}]
|
|
940
|
+
}])
|
|
941
|
+
})
|
|
942
|
+
|
|
877
943
|
await tryRun("Reverse join with agg", async () => {
|
|
878
944
|
const inserted = await db.tr1.insert!({ tr2: { t1: "a", t2: "b" } }, { returning: "*" });
|
|
879
945
|
|
|
@@ -14,6 +14,42 @@ export type DBSchemaGenerated = {
|
|
|
14
14
|
columns: {
|
|
15
15
|
"\"*\""?: null | string;
|
|
16
16
|
id?: number;
|
|
17
|
+
qq?: null | string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
"\"\"\"quoted0\"\"\"": {
|
|
21
|
+
is_view: false;
|
|
22
|
+
select: true;
|
|
23
|
+
insert: true;
|
|
24
|
+
update: true;
|
|
25
|
+
delete: true;
|
|
26
|
+
columns: {
|
|
27
|
+
"\"id0\""?: number;
|
|
28
|
+
"\"quoted1_id\""?: null | number;
|
|
29
|
+
"\"text_col0\""?: null | string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
"\"\"\"quoted1\"\"\"": {
|
|
33
|
+
is_view: false;
|
|
34
|
+
select: true;
|
|
35
|
+
insert: true;
|
|
36
|
+
update: true;
|
|
37
|
+
delete: true;
|
|
38
|
+
columns: {
|
|
39
|
+
"\"id1\""?: number;
|
|
40
|
+
"\"quoted2_id\""?: null | number;
|
|
41
|
+
"\"text_col1\""?: null | string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
"\"\"\"quoted2\"\"\"": {
|
|
45
|
+
is_view: false;
|
|
46
|
+
select: true;
|
|
47
|
+
insert: true;
|
|
48
|
+
update: true;
|
|
49
|
+
delete: true;
|
|
50
|
+
columns: {
|
|
51
|
+
"\"id2\""?: number;
|
|
52
|
+
"\"text_col2\""?: null | string;
|
|
17
53
|
};
|
|
18
54
|
};
|
|
19
55
|
"\"*\"": {
|
|
@@ -96,29 +132,15 @@ export type DBSchemaGenerated = {
|
|
|
96
132
|
name?: null | string;
|
|
97
133
|
};
|
|
98
134
|
};
|
|
99
|
-
|
|
100
|
-
is_view: false;
|
|
101
|
-
select: true;
|
|
102
|
-
insert: true;
|
|
103
|
-
update: true;
|
|
104
|
-
delete: true;
|
|
105
|
-
columns: {
|
|
106
|
-
id: number;
|
|
107
|
-
id_basic: number | null;
|
|
108
|
-
txt: string | null;
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
self_join: {
|
|
135
|
+
items_m1: {
|
|
112
136
|
is_view: false;
|
|
113
137
|
select: true;
|
|
114
138
|
insert: true;
|
|
115
139
|
update: true;
|
|
116
140
|
delete: true;
|
|
117
141
|
columns: {
|
|
118
|
-
id
|
|
119
|
-
name: string
|
|
120
|
-
my_id: number | null;
|
|
121
|
-
my_id1: number | null;
|
|
142
|
+
id?: number;
|
|
143
|
+
name: string;
|
|
122
144
|
};
|
|
123
145
|
};
|
|
124
146
|
items_multi: {
|
|
@@ -267,6 +289,16 @@ export type DBSchemaGenerated = {
|
|
|
267
289
|
obj?: null | any;
|
|
268
290
|
};
|
|
269
291
|
};
|
|
292
|
+
pg_attribute: {
|
|
293
|
+
is_view: false;
|
|
294
|
+
select: true;
|
|
295
|
+
insert: true;
|
|
296
|
+
update: true;
|
|
297
|
+
delete: true;
|
|
298
|
+
columns: {
|
|
299
|
+
id?: number;
|
|
300
|
+
};
|
|
301
|
+
};
|
|
270
302
|
planes: {
|
|
271
303
|
is_view: false;
|
|
272
304
|
select: true;
|
|
@@ -303,6 +335,17 @@ export type DBSchemaGenerated = {
|
|
|
303
335
|
media_id: string;
|
|
304
336
|
};
|
|
305
337
|
};
|
|
338
|
+
prostgles_lookup_media_various: {
|
|
339
|
+
is_view: false;
|
|
340
|
+
select: true;
|
|
341
|
+
insert: true;
|
|
342
|
+
update: true;
|
|
343
|
+
delete: true;
|
|
344
|
+
columns: {
|
|
345
|
+
foreign_id: number;
|
|
346
|
+
media_id: string;
|
|
347
|
+
};
|
|
348
|
+
};
|
|
306
349
|
"prostgles_test.basic": {
|
|
307
350
|
is_view: false;
|
|
308
351
|
select: true;
|
|
@@ -326,6 +369,31 @@ export type DBSchemaGenerated = {
|
|
|
326
369
|
txt?: null | string;
|
|
327
370
|
};
|
|
328
371
|
};
|
|
372
|
+
"prostgles_test.mv_basic1": {
|
|
373
|
+
is_view: true;
|
|
374
|
+
select: true;
|
|
375
|
+
insert: false;
|
|
376
|
+
update: false;
|
|
377
|
+
delete: false;
|
|
378
|
+
columns: {
|
|
379
|
+
id: number;
|
|
380
|
+
id_basic: number;
|
|
381
|
+
txt: string;
|
|
382
|
+
};
|
|
383
|
+
};
|
|
384
|
+
"prostgles_test.self_join": {
|
|
385
|
+
is_view: false;
|
|
386
|
+
select: true;
|
|
387
|
+
insert: true;
|
|
388
|
+
update: true;
|
|
389
|
+
delete: true;
|
|
390
|
+
columns: {
|
|
391
|
+
id?: number;
|
|
392
|
+
my_id?: null | number;
|
|
393
|
+
my_id1?: null | number;
|
|
394
|
+
name?: null | string;
|
|
395
|
+
};
|
|
396
|
+
};
|
|
329
397
|
rec: {
|
|
330
398
|
is_view: false;
|
|
331
399
|
select: true;
|
|
@@ -348,6 +416,19 @@ export type DBSchemaGenerated = {
|
|
|
348
416
|
id?: number;
|
|
349
417
|
};
|
|
350
418
|
};
|
|
419
|
+
self_join: {
|
|
420
|
+
is_view: false;
|
|
421
|
+
select: true;
|
|
422
|
+
insert: true;
|
|
423
|
+
update: true;
|
|
424
|
+
delete: true;
|
|
425
|
+
columns: {
|
|
426
|
+
id?: number;
|
|
427
|
+
my_id?: null | number;
|
|
428
|
+
my_id1?: null | number;
|
|
429
|
+
name?: null | string;
|
|
430
|
+
};
|
|
431
|
+
};
|
|
351
432
|
shapes: {
|
|
352
433
|
is_view: false;
|
|
353
434
|
select: true;
|
|
@@ -472,5 +553,16 @@ export type DBSchemaGenerated = {
|
|
|
472
553
|
tsv?: null | string;
|
|
473
554
|
};
|
|
474
555
|
};
|
|
556
|
+
various_nested: {
|
|
557
|
+
is_view: false;
|
|
558
|
+
select: true;
|
|
559
|
+
insert: true;
|
|
560
|
+
update: true;
|
|
561
|
+
delete: true;
|
|
562
|
+
columns: {
|
|
563
|
+
name?: null | string;
|
|
564
|
+
various_id?: null | number;
|
|
565
|
+
};
|
|
566
|
+
};
|
|
475
567
|
|
|
476
568
|
}
|
package/tests/server/index.ts
CHANGED
|
@@ -226,7 +226,7 @@ function dd(){
|
|
|
226
226
|
dbConnection,
|
|
227
227
|
sqlFilePath: path.join(__dirname+'/../../init.sql'),
|
|
228
228
|
io,
|
|
229
|
-
tsGeneratedTypesDir: path.join(__dirname + '
|
|
229
|
+
tsGeneratedTypesDir: path.join(__dirname + '/../../'),
|
|
230
230
|
// watchSchema: true,
|
|
231
231
|
transactions: true,
|
|
232
232
|
schema: { public: 1, prostgles_test: 1 },
|
|
@@ -423,6 +423,9 @@ function dd(){
|
|
|
423
423
|
"prostgles_test.basic": "*",
|
|
424
424
|
"prostgles_test.basic1": "*",
|
|
425
425
|
"prostgles_test.mv_basic1": "*",
|
|
426
|
+
[`"""quoted0"""`]: "*",
|
|
427
|
+
[`"""quoted1"""`]: "*",
|
|
428
|
+
[`"""quoted2"""`]: "*",
|
|
426
429
|
};
|
|
427
430
|
|
|
428
431
|
return res;
|
package/tests/server/init.sql
CHANGED
|
@@ -160,6 +160,24 @@ CREATE TABLE IF NOT EXISTS """*""" (
|
|
|
160
160
|
|
|
161
161
|
DROP TABLE IF EXISTS hehe CASCADE;
|
|
162
162
|
|
|
163
|
+
DROP TABLE IF EXISTS """quoted0""" CASCADE;
|
|
164
|
+
DROP TABLE IF EXISTS """quoted1""" CASCADE;
|
|
165
|
+
DROP TABLE IF EXISTS """quoted2""" CASCADE;
|
|
166
|
+
CREATE TABLE IF NOT EXISTS """quoted2""" (
|
|
167
|
+
"""id2""" SERIAL PRIMARY KEY,
|
|
168
|
+
"""text_col2""" TEXT DEFAULT 'quoted2'
|
|
169
|
+
);
|
|
170
|
+
CREATE TABLE IF NOT EXISTS """quoted1""" (
|
|
171
|
+
"""id1""" SERIAL PRIMARY KEY,
|
|
172
|
+
"""quoted2_id""" INTEGER REFERENCES """quoted2""",
|
|
173
|
+
"""text_col1""" TEXT DEFAULT 'quoted1'
|
|
174
|
+
);
|
|
175
|
+
CREATE TABLE IF NOT EXISTS """quoted0""" (
|
|
176
|
+
"""id0""" SERIAL PRIMARY KEY,
|
|
177
|
+
"""quoted1_id""" INTEGER REFERENCES """quoted1""",
|
|
178
|
+
"""text_col0""" TEXT DEFAULT 'quoted0'
|
|
179
|
+
);
|
|
180
|
+
|
|
163
181
|
|
|
164
182
|
DROP TABLE IF EXISTS tr1 CASCADE;
|
|
165
183
|
CREATE TABLE IF NOT EXISTS tr1 (
|