pqb 0.40.8 → 0.40.10

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 CHANGED
@@ -384,6 +384,8 @@ interface CommonQueryData {
384
384
  outerJoinOverrides?: JoinOverrides;
385
385
  schema?: string;
386
386
  select?: SelectItem[];
387
+ selectAllColumns?: string[];
388
+ selectAllKeys?: RecordUnknown;
387
389
  /**
388
390
  * column type for query with 'value' or 'valueOrThrow' return type
389
391
  * Is needed in {@link getShapeFromSelect} to get shape of sub-select that returns a single value.
@@ -1883,6 +1885,13 @@ interface QueryMetaHasWhere {
1883
1885
  hasWhere: true;
1884
1886
  };
1885
1887
  }
1888
+ interface QueryFnReturningSelect {
1889
+ (q: never): {
1890
+ meta: {
1891
+ hasSelect: true;
1892
+ };
1893
+ };
1894
+ }
1886
1895
  /**
1887
1896
  * Mutative {@link Where.prototype.where}
1888
1897
  */
@@ -2483,6 +2492,10 @@ declare class Where {
2483
2492
  * // find by a relation name if it's defined
2484
2493
  * db.user.whereExists('account');
2485
2494
  *
2495
+ * // find users who have an account with positive balance
2496
+ * // `accounts` is a relation name
2497
+ * db.user.whereExists((q) => q.accounts.where({ balance: { gt: 0 } }));
2498
+ *
2486
2499
  * // find using a table and a join conditions
2487
2500
  * db.user.whereExists(db.account, 'account.id', 'user.id');
2488
2501
  *
@@ -2490,7 +2503,11 @@ declare class Where {
2490
2503
  * db.user.whereExists(db.account, (q) => q.on('account.id', '=', 'user.id'));
2491
2504
  * ```
2492
2505
  */
2493
- whereExists<T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>>(this: T, arg: Arg, ...args: JoinArgs<T, Arg>): WhereResult<T>;
2506
+ whereExists<T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>, Args extends JoinArgs<T, Arg>>(this: T, arg: Arg, ...args: Args): Arg extends QueryFnReturningSelect ? {
2507
+ error: 'Cannot select in whereExists';
2508
+ } : Args[0] extends QueryFnReturningSelect ? {
2509
+ error: 'Cannot select in whereExists';
2510
+ } : WhereResult<T>;
2494
2511
  /**
2495
2512
  * Acts as `whereExists`, but prepends the condition with `OR`:
2496
2513
  *
@@ -3345,29 +3362,29 @@ type DbTableOptionScopes<Table extends string | undefined, Shape extends QueryCo
3345
3362
  [K in Keys]: (q: ScopeArgumentQuery<Table, Shape>) => QueryBase;
3346
3363
  };
3347
3364
  type QueryDefaultReturnData<Shape extends QueryColumnsInit> = {
3348
- [K in DefaultSelectColumns<Shape>[number]]: Shape[K]['outputType'];
3365
+ [K in DefaultSelectColumns<Shape>]: Shape[K]['outputType'];
3349
3366
  }[];
3367
+ interface TableMeta<Table extends string | undefined, Shape extends QueryColumnsInit, ShapeWithComputed extends QueryColumnsInit, Scopes extends RecordUnknown | undefined> extends QueryMetaBase<{
3368
+ [K in keyof Scopes]: true;
3369
+ }> {
3370
+ kind: 'select';
3371
+ defaults: {
3372
+ [K in keyof Shape as unknown extends Shape[K]['data']['default'] ? never : K]: true;
3373
+ };
3374
+ selectable: SelectableFromShape<ShapeWithComputed, Table>;
3375
+ defaultSelect: DefaultSelectColumns<Shape>;
3376
+ }
3350
3377
  declare const anyShape: QueryColumnsInit;
3351
3378
  interface Db<Table extends string | undefined = undefined, Shape extends QueryColumnsInit = QueryColumnsInit, PrimaryKeys = never, UniqueColumns = never, UniqueColumnTuples = never, UniqueConstraints = never, ColumnTypes = DefaultColumnTypes<ColumnSchemaConfig>, ShapeWithComputed extends QueryColumnsInit = Shape, Scopes extends RecordUnknown | undefined = EmptyObject> extends DbBase<Adapter, Table, Shape, ColumnTypes, ShapeWithComputed>, QueryMethods<ColumnTypes>, QueryBase {
3352
- result: Pick<Shape, DefaultSelectColumns<Shape>[number]>;
3379
+ result: Pick<Shape, DefaultSelectColumns<Shape>>;
3353
3380
  queryBuilder: Db;
3354
3381
  returnType: undefined;
3355
3382
  then: QueryThen<QueryDefaultReturnData<Shape>>;
3356
3383
  windows: Query['windows'];
3357
- defaultSelectColumns: DefaultSelectColumns<Shape>;
3358
3384
  relations: EmptyObject;
3359
3385
  withData: EmptyObject;
3360
3386
  error: new (message: string, length: number, name: QueryErrorName) => QueryError<this>;
3361
- meta: {
3362
- kind: 'select';
3363
- defaults: {
3364
- [K in keyof Shape as unknown extends Shape[K]['data']['default'] ? never : K]: true;
3365
- };
3366
- scopes: {
3367
- [K in keyof Scopes]: true;
3368
- };
3369
- selectable: SelectableFromShape<ShapeWithComputed, Table>;
3370
- };
3387
+ meta: TableMeta<Table, Shape, ShapeWithComputed, Scopes>;
3371
3388
  internal: QueryInternal<{
3372
3389
  [K in keyof PrimaryKeys]: (keyof PrimaryKeys extends K ? never : keyof PrimaryKeys) extends never ? PrimaryKeys[K] : never;
3373
3390
  }[keyof PrimaryKeys], PrimaryKeys | UniqueColumns, {
@@ -4764,7 +4781,7 @@ type FromResult<T extends FromQuerySelf, Arg extends MaybeArray<FromArg<T>>> = A
4764
4781
  } : K extends 'result' ? T['withData'][Arg]['shape'] : K extends 'then' ? QueryThen<GetQueryResult<T, T['withData'][Arg]['shape']>> : T[K];
4765
4782
  } : SetQueryTableAlias<T, Arg> : Arg extends PickQueryTableMetaResultInputType ? {
4766
4783
  [K in keyof T]: K extends 'meta' ? {
4767
- [K in keyof T['meta']]: K extends 'as' ? AliasOrTable<Arg> : K extends 'selectable' ? SelectableFromShape<Arg['result'], AliasOrTable<Arg>> : K extends 'kind' ? 'select' : T['meta'][K];
4784
+ [K in keyof T['meta']]: K extends 'as' ? AliasOrTable<Arg> : K extends 'selectable' ? SelectableFromShape<Arg['result'], AliasOrTable<Arg>> : K extends 'kind' ? 'select' : K extends 'defaultSelect' ? keyof Arg['result'] : T['meta'][K];
4768
4785
  } : K extends 'result' ? Arg['result'] : K extends 'shape' ? Arg['result'] : K extends 'inputType' ? Arg['inputType'] : K extends 'then' ? QueryThen<GetQueryResult<T, Arg['result']>> : T[K];
4769
4786
  } : Arg extends (infer A)[] ? {
4770
4787
  [K in keyof T]: K extends 'meta' ? {
@@ -5364,11 +5381,11 @@ interface SelectAsCheckReturnTypes {
5364
5381
  }
5365
5382
  type SelectResult<T extends SelectSelf, Columns extends PropertyKey[]> = {
5366
5383
  [K in keyof T]: K extends 'result' ? ('*' extends Columns[number] ? {
5367
- [K in Columns[number] | keyof T['shape'] as K extends '*' ? never : T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
5384
+ [K in Columns[number] | T['meta']['defaultSelect'] as K extends '*' ? never : T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
5368
5385
  } : {
5369
5386
  [K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
5370
5387
  }) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, ('*' extends Columns[number] ? {
5371
- [K in Exclude<Columns[number], '*'> | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
5388
+ [K in Exclude<Columns[number], '*'> | T['meta']['defaultSelect'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
5372
5389
  } : {
5373
5390
  [K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
5374
5391
  }) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
@@ -5391,9 +5408,9 @@ type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey
5391
5408
  selectable: SelectAsSelectable<Obj>;
5392
5409
  } : K extends 'result' ? // Combine previously selected items, all columns if * was provided,
5393
5410
  {
5394
- [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends Columns[number] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : T['meta']['selectable'][K]['column'];
5411
+ [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | T['meta']['defaultSelect'] : Columns[number]) | keyof Obj as K extends Columns[number] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : T['meta']['selectable'][K]['column'];
5395
5412
  } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, {
5396
- [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends Columns[number] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : T['meta']['selectable'][K]['column'];
5413
+ [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | T['meta']['defaultSelect'] : Columns[number]) | keyof Obj as K extends Columns[number] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : T['meta']['selectable'][K]['column'];
5397
5414
  } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
5398
5415
  };
5399
5416
  type SelectAsSelectable<Arg> = {
@@ -7600,7 +7617,6 @@ interface Query extends QueryBase, QueryMethods<unknown> {
7600
7617
  then: QueryThen<unknown>;
7601
7618
  catch: QueryCatch;
7602
7619
  windows: EmptyObject;
7603
- defaultSelectColumns: string[];
7604
7620
  relations: RelationsBase;
7605
7621
  error: new (message: string, length: number, name: QueryErrorName) => QueryError;
7606
7622
  }
package/dist/index.js CHANGED
@@ -805,8 +805,8 @@ const columnCode = (type, ctx, key, code, data = type.data, skip) => {
805
805
  orchidCore.addCode(code, part);
806
806
  }
807
807
  }
808
- if (data.isHidden)
809
- orchidCore.addCode(code, ".hidden()");
808
+ if (data.explicitSelect)
809
+ orchidCore.addCode(code, ".select(false)");
810
810
  if (data.isNullable)
811
811
  orchidCore.addCode(code, ".nullable()");
812
812
  if (type.encodeFn && type.encodeFn !== (skip == null ? void 0 : skip.encodeFn))
@@ -2358,7 +2358,7 @@ const getArgQueryTarget = (ctx, first, joinSubQuery, cloned) => {
2358
2358
  }
2359
2359
  };
2360
2360
  const subJoinToSql = (ctx, jq, innerAs, outerAs, cloned) => {
2361
- if (!jq.q.select && jq.internal.columnsForSelectAll) {
2361
+ if (!jq.q.select && jq.q.selectAllColumns) {
2362
2362
  if (!cloned)
2363
2363
  jq = jq.clone();
2364
2364
  jq.q.select = [new RawSQL(`${innerAs}.*`)];
@@ -2578,6 +2578,13 @@ const processJoinArgs = (joinTo, first, args, joinSubQuery, whereExists) => {
2578
2578
  s: joinSubQuery
2579
2579
  };
2580
2580
  };
2581
+ const preprocessJoinArg = (q, arg) => {
2582
+ if (typeof arg !== "function")
2583
+ return arg;
2584
+ arg = arg(q.relations);
2585
+ arg.joinQueryAfterCallback = arg.joinQuery;
2586
+ return arg;
2587
+ };
2581
2588
  const makeJoinQueryBuilder = (joinedQuery, joinedShapes, joinTo) => {
2582
2589
  const q = joinedQuery.baseQuery.clone();
2583
2590
  q.baseQuery = q;
@@ -2640,10 +2647,7 @@ const _join = (query, require2, type, first, args) => {
2640
2647
  let batchParsers;
2641
2648
  let computeds;
2642
2649
  let joinSubQuery = false;
2643
- if (typeof first === "function") {
2644
- first = first(query.relations);
2645
- first.joinQueryAfterCallback = first.joinQuery;
2646
- }
2650
+ first = preprocessJoinArg(query, first);
2647
2651
  if (typeof first === "object") {
2648
2652
  if (require2 && isQueryNone(first)) {
2649
2653
  return _queryNone(query);
@@ -2695,7 +2699,7 @@ const _join = (query, require2, type, first, args) => {
2695
2699
  );
2696
2700
  if (joinKey && "s" in joinArgs && joinArgs.s) {
2697
2701
  const j = "j" in joinArgs ? (_b = joinArgs.r) != null ? _b : joinArgs.j : "r" in joinArgs ? joinArgs.r : joinArgs.q;
2698
- if (j.q.select || !j.internal.columnsForSelectAll) {
2702
+ if (j.q.select || !j.q.selectAllColumns) {
2699
2703
  const shape2 = getShapeFromSelect(j, true);
2700
2704
  setQueryObjectValue(
2701
2705
  query,
@@ -4715,7 +4719,7 @@ class SelectItemExpression extends orchidCore.Expression {
4715
4719
  }
4716
4720
  // `makeSQL` acts similarly to how select args are handled
4717
4721
  makeSQL(ctx, quotedAs) {
4718
- return typeof this.item === "string" ? this.item === "*" ? selectAllSql(this.query, this.q, quotedAs) : columnToSql(ctx, this.q, this.q.shape, this.item, quotedAs, true) : this.item.toSQL(ctx, quotedAs);
4722
+ return typeof this.item === "string" ? this.item === "*" ? selectAllSql(this.q, quotedAs) : columnToSql(ctx, this.q, this.q.shape, this.item, quotedAs, true) : this.item.toSQL(ctx, quotedAs);
4719
4723
  }
4720
4724
  }
4721
4725
 
@@ -4849,12 +4853,14 @@ function queryFrom(self, arg) {
4849
4853
  data.batchParsers = q.q.batchParsers;
4850
4854
  }
4851
4855
  data.from = arg;
4856
+ data.selectAllColumns = data.selectAllKeys = void 0;
4852
4857
  return self;
4853
4858
  }
4854
4859
  function queryFromSql(self, args) {
4855
4860
  const data = self.q;
4856
4861
  data.as || (data.as = "t");
4857
4862
  data.from = sqlQueryArgsToExpression(args);
4863
+ data.selectAllColumns = data.selectAllKeys = void 0;
4858
4864
  return self;
4859
4865
  }
4860
4866
  class FromMethods {
@@ -4969,11 +4975,11 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect)
4969
4975
  if (item === "*") {
4970
4976
  if (hookSelect) {
4971
4977
  selected != null ? selected : selected = {};
4972
- for (const key in table.internal.columnsKeysForSelectAll || query.shape) {
4978
+ for (const key in query.selectAllKeys || query.shape) {
4973
4979
  selected[key] = quotedAs;
4974
4980
  }
4975
4981
  }
4976
- sql = selectAllSql(table, query, quotedAs);
4982
+ sql = selectAllSql(query, quotedAs);
4977
4983
  } else {
4978
4984
  const index = item.indexOf(".");
4979
4985
  if (index !== -1) {
@@ -5075,15 +5081,15 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect)
5075
5081
  list.push(sql);
5076
5082
  }
5077
5083
  }
5078
- return list.length ? list.join(", ") : query.select ? "" : selectAllSql(table, query, quotedAs);
5084
+ return list.length ? list.join(", ") : query.select ? "" : selectAllSql(query, quotedAs);
5079
5085
  };
5080
5086
  function selectedObjectToSQL(ctx, quotedAs, item) {
5081
5087
  const sql = item.toSQL(ctx, quotedAs);
5082
5088
  return ctx.aliasValue ? `${sql} r` : sql;
5083
5089
  }
5084
- const selectAllSql = (table, query, quotedAs) => {
5090
+ const selectAllSql = (query, quotedAs) => {
5085
5091
  var _a, _b, _c;
5086
- return ((_a = query.join) == null ? void 0 : _a.length) ? ((_b = table.internal.columnsForSelectAll) == null ? void 0 : _b.map((item) => `${quotedAs}.${item}`).join(", ")) || `${quotedAs}.*` : ((_c = table.internal.columnsForSelectAll) == null ? void 0 : _c.join(", ")) || "*";
5092
+ return ((_a = query.join) == null ? void 0 : _a.length) ? ((_b = query.selectAllColumns) == null ? void 0 : _b.map((item) => `${quotedAs}.${item}`).join(", ")) || `${quotedAs}.*` : ((_c = query.selectAllColumns) == null ? void 0 : _c.join(", ")) || "*";
5087
5093
  };
5088
5094
  const pushSubQuerySql = (ctx, query, as, list, quotedAs) => {
5089
5095
  var _a, _b, _c;
@@ -5277,7 +5283,7 @@ const pushWithSql = (ctx, items) => {
5277
5283
 
5278
5284
  const checkIfASimpleQuery = (q) => {
5279
5285
  var _a, _b;
5280
- if (q.q.returnType && q.q.returnType !== "all" || q.internal.columnsForSelectAll || ((_a = q.q.and) == null ? void 0 : _a.length) || ((_b = q.q.or) == null ? void 0 : _b.length) || q.q.scopes)
5286
+ if (q.q.returnType && q.q.returnType !== "all" || q.q.selectAllColumns || ((_a = q.q.and) == null ? void 0 : _a.length) || ((_b = q.q.or) == null ? void 0 : _b.length) || q.q.scopes)
5281
5287
  return false;
5282
5288
  const keys = Object.keys(q.q);
5283
5289
  return !keys.some((key) => queryKeysOfNotSimpleQuery.includes(key));
@@ -5305,7 +5311,7 @@ const pushFromAndAs = (ctx, table, data, quotedAs) => {
5305
5311
  const from = getFrom(ctx, table, data, quotedAs);
5306
5312
  sql += from;
5307
5313
  if (data.as && quotedAs && quotedAs !== from) {
5308
- sql += ` AS ${quotedAs}`;
5314
+ sql += ` ${quotedAs}`;
5309
5315
  }
5310
5316
  for (const as in data.sources) {
5311
5317
  const source = data.sources[as];
@@ -9439,16 +9445,17 @@ var __spreadValues$5 = (a, b) => {
9439
9445
  }
9440
9446
  return a;
9441
9447
  };
9442
- const mergableObjects = {
9443
- shape: true,
9444
- withShapes: true,
9445
- parsers: true,
9446
- defaults: true,
9447
- joinedShapes: true,
9448
- joinedParsers: true,
9449
- joinedBatchParsers: true,
9450
- selectedComputeds: true
9451
- };
9448
+ const mergableObjects = /* @__PURE__ */ new Set([
9449
+ "shape",
9450
+ "withShapes",
9451
+ "parsers",
9452
+ "defaults",
9453
+ "joinedShapes",
9454
+ "joinedParsers",
9455
+ "joinedBatchParsers",
9456
+ "selectedComputeds"
9457
+ ]);
9458
+ const dontMergeArrays = /* @__PURE__ */ new Set(["selectAllColumns", "selectAllKeys"]);
9452
9459
  class MergeQueryMethods {
9453
9460
  merge(q) {
9454
9461
  const query = this.clone();
@@ -9464,8 +9471,10 @@ class MergeQueryMethods {
9464
9471
  break;
9465
9472
  case "object":
9466
9473
  if (Array.isArray(value)) {
9467
- a[key] = a[key] ? [...a[key], ...value] : value;
9468
- } else if (mergableObjects[key]) {
9474
+ if (!dontMergeArrays.has(key)) {
9475
+ a[key] = a[key] ? [...a[key], ...value] : value;
9476
+ }
9477
+ } else if (mergableObjects.has(key)) {
9469
9478
  a[key] = a[key] ? __spreadValues$5(__spreadValues$5({}, a[key]), value) : value;
9470
9479
  } else if (key === "union") {
9471
9480
  a[key] = a[key] ? {
@@ -9809,7 +9818,13 @@ const _queryWhereIn = (q, and, arg, values, not) => {
9809
9818
  return q;
9810
9819
  };
9811
9820
  const existsArgs = (self, q, args) => {
9812
- const joinArgs = processJoinArgs(self, q, args, false, true);
9821
+ const joinArgs = processJoinArgs(
9822
+ self,
9823
+ preprocessJoinArg(self, q),
9824
+ args,
9825
+ false,
9826
+ true
9827
+ );
9813
9828
  return [
9814
9829
  {
9815
9830
  EXISTS: joinArgs
@@ -10452,6 +10467,10 @@ class Where {
10452
10467
  * // find by a relation name if it's defined
10453
10468
  * db.user.whereExists('account');
10454
10469
  *
10470
+ * // find users who have an account with positive balance
10471
+ * // `accounts` is a relation name
10472
+ * db.user.whereExists((q) => q.accounts.where({ balance: { gt: 0 } }));
10473
+ *
10455
10474
  * // find using a table and a join conditions
10456
10475
  * db.user.whereExists(db.account, 'account.id', 'user.id');
10457
10476
  *
@@ -11385,7 +11404,11 @@ class QueryUpsertOrCreate {
11385
11404
  if (!orchidCore.isObjectEmpty(updateData)) {
11386
11405
  _queryUpdate(q, updateData);
11387
11406
  }
11388
- return orCreate(q, data.create, updateData, mergeData);
11407
+ const c = orCreate(q, data.create, updateData, mergeData);
11408
+ if (!c.q.select) {
11409
+ c.q.returnType = "void";
11410
+ }
11411
+ return c;
11389
11412
  }
11390
11413
  /**
11391
11414
  * `orCreate` creates a record only if it was not found by conditions.
@@ -12686,7 +12709,7 @@ class Db {
12686
12709
  const parsers = {};
12687
12710
  let hasParsers = false;
12688
12711
  let modifyQuery = void 0;
12689
- let hasCustomName = false;
12712
+ let prepareSelectAll = false;
12690
12713
  const { snakeCase } = options;
12691
12714
  for (const key in shape) {
12692
12715
  const column = shape[key];
@@ -12696,14 +12719,17 @@ class Db {
12696
12719
  parsers[key] = column.parseFn;
12697
12720
  }
12698
12721
  if (column.data.name) {
12699
- hasCustomName = true;
12722
+ prepareSelectAll = true;
12700
12723
  } else if (snakeCase) {
12701
12724
  const snakeName = orchidCore.toSnakeCase(key);
12702
12725
  if (snakeName !== key) {
12703
- hasCustomName = true;
12726
+ prepareSelectAll = true;
12704
12727
  column.data.name = snakeName;
12705
12728
  }
12706
12729
  }
12730
+ if (column.data.explicitSelect) {
12731
+ prepareSelectAll = true;
12732
+ }
12707
12733
  const { modifyQuery: mq } = column.data;
12708
12734
  if (mq) {
12709
12735
  modifyQuery = orchidCore.pushOrNewArray(modifyQuery, (q) => mq(q, column));
@@ -12723,17 +12749,6 @@ class Db {
12723
12749
  }
12724
12750
  }
12725
12751
  }
12726
- if (hasCustomName) {
12727
- const list = [];
12728
- for (const key in shape) {
12729
- const column = shape[key];
12730
- list.push(
12731
- column.data.name ? `"${column.data.name}" AS "${key}"` : `"${key}"`
12732
- );
12733
- }
12734
- this.internal.columnsForSelectAll = list;
12735
- this.internal.columnsKeysForSelectAll = __spreadValues({}, shape);
12736
- }
12737
12752
  this.q = {
12738
12753
  adapter,
12739
12754
  shape,
@@ -12766,21 +12781,22 @@ class Db {
12766
12781
  const columns = Object.keys(
12767
12782
  shape
12768
12783
  );
12769
- const { toSQL } = this;
12770
12784
  this.columns = columns;
12771
- this.defaultSelectColumns = columns.filter(
12772
- (column) => !shape[column].data.isHidden
12773
- );
12774
12785
  if (options.computed)
12775
12786
  applyComputedColumns(this, options.computed);
12776
- const defaultSelect = this.defaultSelectColumns.length === columns.length ? void 0 : this.defaultSelectColumns;
12777
- this.toSQL = defaultSelect ? function(options2) {
12778
- const q = this.clone();
12779
- if (!q.q.select) {
12780
- q.q.select = defaultSelect;
12781
- }
12782
- return toSQL.call(q, options2);
12783
- } : toSQL;
12787
+ if (prepareSelectAll) {
12788
+ const list = [];
12789
+ for (const key in shape) {
12790
+ const column = shape[key];
12791
+ if (!column.data.explicitSelect) {
12792
+ list.push(
12793
+ column.data.name ? `"${column.data.name}" AS "${key}"` : `"${key}"`
12794
+ );
12795
+ }
12796
+ }
12797
+ this.q.selectAllColumns = list;
12798
+ this.q.selectAllKeys = __spreadValues({}, shape);
12799
+ }
12784
12800
  if (modifyQuery) {
12785
12801
  for (const cb of modifyQuery) {
12786
12802
  cb(this);