pqb 0.4.4 → 0.4.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.js CHANGED
@@ -819,6 +819,9 @@ class UnhandledTypeError extends PormInternalError {
819
819
  }
820
820
  }
821
821
 
822
+ const relationQueryKey = Symbol("relationQuery");
823
+ const isRequiredRelationKey = Symbol("isRequiredRelation");
824
+
822
825
  const jsonColumnOrMethodToSql = (column, values, quotedAs) => {
823
826
  return typeof column === "string" ? quoteFullColumn(column, quotedAs) : jsonToSql(column, values, quotedAs);
824
827
  };
@@ -912,6 +915,10 @@ const selectToSql = (ctx, model, query, quotedAs) => {
912
915
  };
913
916
  const pushSubQuerySql = (query, as, values, list) => {
914
917
  const { returnType = "all" } = query.query;
918
+ const rel = query.query[relationQueryKey];
919
+ if (rel) {
920
+ query = rel.joinQuery(rel.sourceQuery, query);
921
+ }
915
922
  switch (returnType) {
916
923
  case "all":
917
924
  case "one":
@@ -1267,7 +1274,11 @@ const processValue = (values, key, value) => {
1267
1274
 
1268
1275
  const pushDeleteSql = (ctx, model, query, quotedAs) => {
1269
1276
  var _a, _b, _c;
1270
- ctx.sql.push(`DELETE FROM ${quotedAs}`);
1277
+ const from = q(model.table);
1278
+ ctx.sql.push(`DELETE FROM ${from}`);
1279
+ if (from !== quotedAs) {
1280
+ ctx.sql.push(`AS ${quotedAs}`);
1281
+ }
1271
1282
  let conditions;
1272
1283
  if ((_a = query.join) == null ? void 0 : _a.length) {
1273
1284
  const items = query.join.map(
@@ -1348,7 +1359,7 @@ const makeSql = (model, { values = [] } = {}) => {
1348
1359
  return { text: sql.join(" "), values };
1349
1360
  }
1350
1361
  if (query.type === "delete") {
1351
- pushDeleteSql(ctx, model, query, q(model.table));
1362
+ pushDeleteSql(ctx, model, query, quotedAs2);
1352
1363
  return { text: sql.join(" "), values };
1353
1364
  }
1354
1365
  }
@@ -3423,7 +3434,9 @@ const addParserForSelectItem = (q, as, key, arg) => {
3423
3434
  addParserForRawExpression(q, key, arg);
3424
3435
  return arg;
3425
3436
  } else if (typeof arg === "function") {
3437
+ q.isSubQuery = true;
3426
3438
  const rel = arg(q);
3439
+ q.isSubQuery = false;
3427
3440
  const parsers = getQueryParsers(rel);
3428
3441
  if (parsers) {
3429
3442
  if (queryTypeWithLimitOne[rel.query.returnType]) {
@@ -5690,9 +5703,6 @@ const createDb = (_a) => {
5690
5703
  return db;
5691
5704
  };
5692
5705
 
5693
- const relationQueryKey = Symbol("relationQuery");
5694
- const isRequiredRelationKey = Symbol("isRequiredRelation");
5695
-
5696
5706
  exports.Adapter = Adapter;
5697
5707
  exports.Aggregate = Aggregate;
5698
5708
  exports.ArrayColumn = ArrayColumn;