pqb 0.48.4 → 0.48.6
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/index.d.ts +21 -10
- package/dist/index.js +31 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -19
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -4335,14 +4335,14 @@ function queryFrom(self, arg) {
|
|
|
4335
4335
|
data.batchParsers = q.q.batchParsers;
|
|
4336
4336
|
}
|
|
4337
4337
|
data.from = arg;
|
|
4338
|
-
data.selectAllColumns = data.
|
|
4338
|
+
data.selectAllColumns = data.scopes = void 0;
|
|
4339
4339
|
return self;
|
|
4340
4340
|
}
|
|
4341
4341
|
function queryFromSql(self, args) {
|
|
4342
4342
|
const data = self.q;
|
|
4343
4343
|
data.as || (data.as = "t");
|
|
4344
4344
|
data.from = sqlQueryArgsToExpression(args);
|
|
4345
|
-
data.selectAllColumns =
|
|
4345
|
+
data.selectAllColumns = void 0;
|
|
4346
4346
|
return self;
|
|
4347
4347
|
}
|
|
4348
4348
|
class FromMethods {
|
|
@@ -4814,7 +4814,7 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect,
|
|
|
4814
4814
|
if (item === "*") {
|
|
4815
4815
|
if (hookSelect) {
|
|
4816
4816
|
selected ?? (selected = {});
|
|
4817
|
-
for (const key in query.
|
|
4817
|
+
for (const key in query.selectableShape) {
|
|
4818
4818
|
selected[key] = quotedAs;
|
|
4819
4819
|
}
|
|
4820
4820
|
}
|
|
@@ -4940,10 +4940,7 @@ function selectedObjectToSQL(ctx, quotedAs, item) {
|
|
|
4940
4940
|
}
|
|
4941
4941
|
const selectAllSql = (query, quotedAs, jsonList) => {
|
|
4942
4942
|
if (jsonList) {
|
|
4943
|
-
Object.assign(
|
|
4944
|
-
jsonList,
|
|
4945
|
-
query.selectAllKeys || query.shape
|
|
4946
|
-
);
|
|
4943
|
+
Object.assign(jsonList, query.selectableShape);
|
|
4947
4944
|
}
|
|
4948
4945
|
return query.join?.length ? query.selectAllColumns?.map((item) => `${quotedAs}.${item}`).join(", ") || `${quotedAs}.*` : query.selectAllColumns?.join(", ") || "*";
|
|
4949
4946
|
};
|
|
@@ -6980,30 +6977,39 @@ const _chain = (fromQuery, toQuery, rel) => {
|
|
|
6980
6977
|
const self = fromQuery;
|
|
6981
6978
|
const toTable = toQuery;
|
|
6982
6979
|
let query;
|
|
6980
|
+
let q;
|
|
6983
6981
|
if (self.q.subQuery) {
|
|
6984
6982
|
query = toTable;
|
|
6985
6983
|
query.q.subQuery = 2;
|
|
6984
|
+
q = query.q;
|
|
6985
|
+
if (
|
|
6986
|
+
// `select({ q => q.rel })`: on the first relation it doesn't matter if the parent has chainMultiple
|
|
6987
|
+
self.q.subQuery > 1 && self.q.chainMultiple
|
|
6988
|
+
) ; else if (!rel.query.q.returnsOne) {
|
|
6989
|
+
q.chainMultiple = true;
|
|
6990
|
+
}
|
|
6986
6991
|
} else {
|
|
6987
6992
|
query = _queryWhere(_queryAll(toTable), [
|
|
6988
6993
|
{
|
|
6989
6994
|
EXISTS: { q: rel.reverseJoin(self, toTable) }
|
|
6990
6995
|
}
|
|
6991
6996
|
]);
|
|
6997
|
+
q = query.q;
|
|
6998
|
+
q.returnType = q.returnsOne = q.limit = void 0;
|
|
6992
6999
|
}
|
|
6993
7000
|
if (self.q.relChain) {
|
|
6994
|
-
|
|
6995
|
-
query.q.returnType = "all";
|
|
7001
|
+
q.relChain = [...self.q.relChain, self];
|
|
6996
7002
|
} else {
|
|
6997
|
-
|
|
7003
|
+
q.relChain = [self];
|
|
6998
7004
|
}
|
|
6999
7005
|
const aliases = self.q.as ? { ...self.q.aliases } : { ...self.q.aliases, [self.table]: self.table };
|
|
7000
|
-
const relAliases =
|
|
7006
|
+
const relAliases = q.aliases;
|
|
7001
7007
|
for (const as in relAliases) {
|
|
7002
7008
|
aliases[as] = _queryResolveAlias(aliases, as);
|
|
7003
7009
|
}
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
|
|
7010
|
+
q.as = aliases[q.as];
|
|
7011
|
+
q.aliases = aliases;
|
|
7012
|
+
q.joinedShapes = {
|
|
7007
7013
|
[getQueryAs(self)]: self.q.shape,
|
|
7008
7014
|
...self.q.joinedShapes
|
|
7009
7015
|
};
|
|
@@ -10238,7 +10244,7 @@ const mergableObjects = /* @__PURE__ */ new Set([
|
|
|
10238
10244
|
"joinedBatchParsers",
|
|
10239
10245
|
"selectedComputeds"
|
|
10240
10246
|
]);
|
|
10241
|
-
const dontMergeArrays = /* @__PURE__ */ new Set(["selectAllColumns"
|
|
10247
|
+
const dontMergeArrays = /* @__PURE__ */ new Set(["selectAllColumns"]);
|
|
10242
10248
|
class MergeQueryMethods {
|
|
10243
10249
|
merge(q) {
|
|
10244
10250
|
const query = _clone(this);
|
|
@@ -12740,20 +12746,26 @@ class Db extends QueryMethods {
|
|
|
12740
12746
|
);
|
|
12741
12747
|
this.columns = columns;
|
|
12742
12748
|
if (options.computed) applyComputedColumns(this, options.computed);
|
|
12749
|
+
const selectableShape = this.q.selectableShape = {};
|
|
12743
12750
|
if (prepareSelectAll) {
|
|
12744
12751
|
const list = [];
|
|
12745
|
-
const keys = {};
|
|
12746
12752
|
for (const key in shape) {
|
|
12747
12753
|
const column = shape[key];
|
|
12748
|
-
if (!column.data.explicitSelect) {
|
|
12754
|
+
if (!column.data.explicitSelect && !(column instanceof VirtualColumn)) {
|
|
12749
12755
|
list.push(
|
|
12750
12756
|
column.data.name ? `"${column.data.name}" "${key}"` : `"${key}"`
|
|
12751
12757
|
);
|
|
12752
|
-
|
|
12758
|
+
selectableShape[key] = column;
|
|
12753
12759
|
}
|
|
12754
12760
|
}
|
|
12755
12761
|
this.q.selectAllColumns = list;
|
|
12756
|
-
|
|
12762
|
+
} else {
|
|
12763
|
+
for (const key in shape) {
|
|
12764
|
+
const column = shape[key];
|
|
12765
|
+
if (column instanceof VirtualColumn) {
|
|
12766
|
+
selectableShape[key] = column;
|
|
12767
|
+
}
|
|
12768
|
+
}
|
|
12757
12769
|
}
|
|
12758
12770
|
if (modifyQuery) {
|
|
12759
12771
|
for (const cb of modifyQuery) {
|