prostgles-server 4.1.75 → 4.1.76
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/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +7 -5
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
- package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +7 -5
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/isomorphic_queries.ts +7 -0
- package/tests/server/package-lock.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getTableJoinQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB,CAAA;AACD,eAAO,MAAM,iBAAiB,2DAA4D,iBAAiB;iBAAkB,MAAM;WAAS,MAAM;
|
|
1
|
+
{"version":3,"file":"getTableJoinQuery.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getTableJoinQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB,CAAA;AACD,eAAO,MAAM,iBAAiB,2DAA4D,iBAAiB;iBAAkB,MAAM;WAAS,MAAM;CA6DjJ,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C,CAAA;AACD,eAAO,MAAM,kBAAkB,mEAAsF,sBAAsB,WAI1I,CAAA"}
|
|
@@ -19,6 +19,7 @@ const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, finalWhere
|
|
|
19
19
|
const joinType = isExists ? "INNER" : type;
|
|
20
20
|
const keyword = `${joinType} JOIN`;
|
|
21
21
|
const isLast = i === path.length - 1;
|
|
22
|
+
const isFirst = !i;
|
|
22
23
|
/**
|
|
23
24
|
* rootTable joins to first path
|
|
24
25
|
* first path joins to target table through inner joins
|
|
@@ -27,16 +28,17 @@ const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, finalWhere
|
|
|
27
28
|
`WHERE (${(0, exports.getJoinOnCondition)({
|
|
28
29
|
on: firstPath.on,
|
|
29
30
|
leftAlias: rootTableAlias,
|
|
31
|
+
getLeftColName: prostgles_types_1.asName,
|
|
30
32
|
rightAlias: getTableAlias(firstPath.table)
|
|
31
33
|
})})` : "";
|
|
32
34
|
const tableSelect = (isExists && isLast) ? [
|
|
33
35
|
`(`,
|
|
34
|
-
`SELECT *`,
|
|
35
|
-
`FROM ${tableName}`,
|
|
36
|
-
(finalWhere ? `WHERE ${finalWhere}` : ""),
|
|
36
|
+
` SELECT *`,
|
|
37
|
+
` FROM ${tableName}`,
|
|
38
|
+
(finalWhere ? ` WHERE ${finalWhere}` : ""),
|
|
37
39
|
`)`
|
|
38
40
|
].filter(v => v).join("\n") : tableName;
|
|
39
|
-
if (isExists &&
|
|
41
|
+
if (isExists && isFirst) {
|
|
40
42
|
return [
|
|
41
43
|
`SELECT 1`,
|
|
42
44
|
`FROM ${tableSelect} ${tableAlias}`,
|
|
@@ -44,7 +46,7 @@ const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, finalWhere
|
|
|
44
46
|
].filter(v => v).join("\n");
|
|
45
47
|
}
|
|
46
48
|
return [
|
|
47
|
-
`${keyword} ${
|
|
49
|
+
`${keyword} ${tableSelect} ${tableAlias}`,
|
|
48
50
|
` ON ${onCondition}`,
|
|
49
51
|
whereJoinCondition
|
|
50
52
|
].filter(v => v).join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getTableJoinQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AAUlC,MAAM,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAqB,EAA0C,EAAE;IAErJ,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACzB,IAAG,CAAC,SAAS,EAAC;QACZ,MAAM,yCAAyC,CAAC;KACjD;IACD,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAA,wBAAM,EAAC,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAG,CAAC,EAAE;YAAE,MAAM,YAAY,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC;QACxB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;QAEjF,MAAM,WAAW,GAAG,IAAA,0BAAkB,EAAC,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QAElG,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAA;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,QAAQ,OAAO,CAAC;QACnC,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getTableJoinQuery.js","sourceRoot":"","sources":["../../../lib/DboBuilder/ViewHandler/getTableJoinQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, fina
|
|
|
28
28
|
const joinType = isExists? "INNER" : type;
|
|
29
29
|
const keyword = `${joinType} JOIN`;
|
|
30
30
|
const isLast = i === path.length - 1;
|
|
31
|
+
const isFirst = !i;
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* rootTable joins to first path
|
|
@@ -37,17 +38,18 @@ export const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, fina
|
|
|
37
38
|
`WHERE (${getJoinOnCondition({
|
|
38
39
|
on: firstPath.on,
|
|
39
40
|
leftAlias: rootTableAlias,
|
|
41
|
+
getLeftColName: asName,
|
|
40
42
|
rightAlias: getTableAlias(firstPath.table)
|
|
41
43
|
})})` : "";
|
|
42
44
|
|
|
43
45
|
const tableSelect = (isExists && isLast)? [
|
|
44
46
|
`(`,
|
|
45
|
-
`SELECT *`,
|
|
46
|
-
`FROM ${tableName}`,
|
|
47
|
-
(finalWhere? `WHERE ${finalWhere}` : ""),
|
|
47
|
+
` SELECT *`,
|
|
48
|
+
` FROM ${tableName}`,
|
|
49
|
+
(finalWhere? ` WHERE ${finalWhere}` : ""),
|
|
48
50
|
`)`
|
|
49
51
|
].filter(v=>v).join("\n") : tableName;
|
|
50
|
-
if(isExists &&
|
|
52
|
+
if(isExists && isFirst){
|
|
51
53
|
return [
|
|
52
54
|
`SELECT 1`,
|
|
53
55
|
`FROM ${tableSelect} ${tableAlias}`,
|
|
@@ -56,7 +58,7 @@ export const getTableJoinQuery = ({ path, type, aliasSufix, rootTableAlias, fina
|
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
return [
|
|
59
|
-
`${keyword} ${
|
|
61
|
+
`${keyword} ${tableSelect} ${tableAlias}`,
|
|
60
62
|
` ON ${onCondition}`,
|
|
61
63
|
whereJoinCondition
|
|
62
64
|
].filter(v=>v).join("\n");
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
765212
|
|
@@ -748,6 +748,13 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
748
748
|
]
|
|
749
749
|
});
|
|
750
750
|
assert.equal(expect2.length, 2, "$existsJoined query failed");
|
|
751
|
+
const expectNothing = await db.items.find!({
|
|
752
|
+
$and: [
|
|
753
|
+
{ $existsJoined: { "**.items3": { name: "nothing" } } },
|
|
754
|
+
{ $existsJoined: { items2: { name: "a" } } }
|
|
755
|
+
]
|
|
756
|
+
});
|
|
757
|
+
assert.equal(expectNothing.length, 0, "$existsJoined query failed");
|
|
751
758
|
});
|
|
752
759
|
|
|
753
760
|
|