pqb 0.34.0 → 0.35.0

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
@@ -1,5 +1,5 @@
1
1
  import * as orchid_core from 'orchid-core';
2
- import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, SingleSqlItem, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, MaybeArray, SelectableBase, TemplateLiteralArgs, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, QueryDataTransform, ExpressionChain, getValueKey, QueryColumn, PickQueryShape, PickQueryTableMetaResult, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, PickQueryMetaShape, PickQueryTableMetaResultShape, PickQueryMetaResultWindows, PickOutputTypeAndOperators, PickQueryResult, ExpressionData, ValExpression, PickOutputType, SQLQueryArgs, ColumnSchemaConfig, DateColumnData, Code, TimeInterval, ColumnTypeSchemaArg, ColumnDataBase, ArrayMethodsData, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, ForeignKeyTable, ColumnNameOfTable, BaseNumberData, PickColumnBaseData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ParseColumn, EncodeColumn, QueryColumnsInit, DefaultSelectColumns, CoreQueryScopes, DbBase, QueryCatch, TransactionState, ColumnTypeBase, PickQueryUniqueProperties, PickQueryMetaResult, IsQuery, PickQueryTableMetaResultInputType, SingleSql, MergeObjects, PickQueryResultUniqueColumns, QueryInternalBase, PickQueryReturnType, PickType, ColumnShapeOutput, OperatorsNullable, PickQueryMetaReturnType, UniqueColumn, TimestampHelpers, Codes, ColumnDataCheckBase, PickQueryTableMetaShape } from 'orchid-core';
2
+ import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, SingleSqlItem, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, MaybeArray, SelectableBase, TemplateLiteralArgs, QueryColumn, MaybePromise, FnUnknownToUnknown, RecordString, ColumnsShapeBase, ColumnsParsers, PickQueryTable, BatchParsers, HookSelect, QueryDataTransform, ExpressionChain, getValueKey, PickQueryShape, PickQueryTableMetaResult, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, PickQueryMetaShape, PickQueryTableMetaResultShape, PickQueryMetaResultWindows, PickOutputTypeAndOperators, PickQueryResult, ExpressionData, ValExpression, PickOutputType, SQLQueryArgs, ColumnSchemaConfig, DateColumnData, Code, TimeInterval, ColumnTypeSchemaArg, ColumnDataBase, ArrayMethodsData, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, ForeignKeyTable, ColumnNameOfTable, BaseNumberData, PickColumnBaseData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ParseColumn, EncodeColumn, QueryColumnsInit, DefaultSelectColumns, CoreQueryScopes, DbBase, QueryCatch, TransactionState, ColumnTypeBase, PickQueryUniqueProperties, PickQueryMetaResult, IsQuery, PickQueryTableMetaResultInputType, SingleSql, MergeObjects, PickQueryResultUniqueColumns, QueryInternalBase, PickQueryReturnType, PickType, ColumnShapeOutput, OperatorsNullable, PickQueryMetaReturnType, UniqueColumn, TimestampHelpers, Codes, ColumnDataCheckBase } from 'orchid-core';
3
3
  import { PoolConfig, Pool, PoolClient } from 'pg';
4
4
  import { inspect } from 'node:util';
5
5
  import { AsyncLocalStorage } from 'node:async_hooks';
@@ -119,12 +119,12 @@ interface WithOptions {
119
119
  materialized?: true;
120
120
  notMaterialized?: true;
121
121
  }
122
- type SelectItem = string | SelectAs | Expression;
122
+ type SelectItem = string | SelectAs | Expression | undefined;
123
123
  interface SelectAs {
124
124
  selectAs: SelectAsValue;
125
125
  }
126
126
  interface SelectAsValue {
127
- [K: string]: string | Query | Expression;
127
+ [K: string]: string | Query | Expression | undefined;
128
128
  }
129
129
  type OrderTsQueryConfig = true | OrderTsQueryConfigObject;
130
130
  interface OrderTsQueryConfigObject {
@@ -268,9 +268,75 @@ type OnConflictMerge = string | string[] | {
268
268
  except: string | string[];
269
269
  };
270
270
 
271
+ declare module 'orchid-core' {
272
+ interface ColumnDataBase {
273
+ computed?: Expression;
274
+ }
275
+ }
276
+ type ComputedColumnsFromOptions<T extends ComputedOptionsFactory<never, never> | undefined> = T extends (...args: any[]) => any ? {
277
+ [K in keyof ReturnType<T>]: ReturnType<T>[K]['result']['value'];
278
+ } : EmptyObject;
279
+ type ComputedOptionsFactory<ColumnTypes, Shape extends QueryColumns> = (t: ComputedMethods<ColumnTypes, Shape>) => {
280
+ [K: string]: QueryOrExpression<unknown>;
281
+ };
282
+ interface RuntimeComputedQueryColumn<OutputType> extends QueryColumn {
283
+ dataType: 'runtimeComputed';
284
+ type: never;
285
+ outputType: OutputType;
286
+ queryType: undefined;
287
+ operators: {
288
+ cannotQueryRuntimeComputed: never;
289
+ };
290
+ }
291
+ interface ComputedMethods<ColumnTypes, Shape extends QueryColumns> extends QueryComputedArg<ColumnTypes, Shape> {
292
+ computeAtRuntime<Deps extends keyof Shape, OutputType>(dependsOn: Deps[], fn: (record: Pick<Shape, Deps>) => OutputType): {
293
+ result: {
294
+ value: RuntimeComputedQueryColumn<OutputType>;
295
+ };
296
+ };
297
+ computeBatchAtRuntime<Deps extends keyof Shape, OutputType>(dependsOn: Deps[], fn: (record: Pick<Shape, Deps>[]) => MaybePromise<OutputType[]>): {
298
+ result: {
299
+ value: RuntimeComputedQueryColumn<OutputType>;
300
+ };
301
+ };
302
+ }
303
+ declare class ComputedColumn {
304
+ kind: 'one' | 'many';
305
+ deps: string[];
306
+ fn: FnUnknownToUnknown;
307
+ constructor(kind: 'one' | 'many', deps: string[], fn: FnUnknownToUnknown);
308
+ }
309
+ interface ComputedColumns {
310
+ [K: string]: ComputedColumn;
311
+ }
312
+ interface QueryComputedArg<ColumnTypes, Shape extends QueryColumns> extends ExpressionMethods, SqlMethod<ColumnTypes> {
313
+ shape: Shape;
314
+ columnTypes: ColumnTypes;
315
+ windows: EmptyObject;
316
+ relations: RelationsBase;
317
+ result: EmptyObject;
318
+ meta: Omit<QueryMetaBase, 'selectable'> & {
319
+ selectable: {
320
+ [K in keyof Shape]: {
321
+ as: string;
322
+ column: QueryColumn;
323
+ };
324
+ };
325
+ };
326
+ }
327
+ declare const applyComputedColumns: (q: Query, fn: ComputedOptionsFactory<never, never>) => void;
328
+ declare const processComputedResult: (query: QueryData, result: unknown) => Promise<void[]> | undefined;
329
+ declare const processComputedBatches: (query: QueryData, batches: QueryBatchResult[], originalReturnType: QueryReturnType, returnType: QueryReturnType, tempColumns: Set<string> | undefined, renames: RecordString | undefined, key: string) => Promise<void> | undefined;
330
+
271
331
  interface RecordOfColumnsShapeBase {
272
332
  [K: string]: ColumnsShapeBase;
273
333
  }
334
+ interface WithConfigs {
335
+ [K: string]: {
336
+ shape: ColumnsShapeBase;
337
+ computeds?: ComputedColumns;
338
+ };
339
+ }
274
340
  type JoinedShapes = RecordOfColumnsShapeBase;
275
341
  interface JoinedParsers {
276
342
  [K: string]: ColumnsParsers;
@@ -289,19 +355,26 @@ interface QueryScopeData {
289
355
  type QueryDataFromItem = string | Query | Expression;
290
356
  interface QueryDataJoinTo extends PickQueryTable, PickQueryQ {
291
357
  }
358
+ type HandleResult = (q: Query, returnType: QueryReturnType, result: QueryResult, isSubQuery?: true) => MaybePromise<unknown>;
292
359
  interface CommonQueryData {
293
360
  adapter: Adapter;
294
361
  shape: ColumnsShapeBase;
295
362
  patchResult?(q: Query, queryResult: QueryResult): Promise<void>;
296
- handleResult(q: Query, returnType: QueryReturnType, result: QueryResult, isSubQuery?: true): unknown;
363
+ handleResult: HandleResult;
297
364
  returnType: QueryReturnType;
298
365
  wrapInTransaction?: boolean;
299
366
  throwOnNotFound?: boolean;
300
367
  with?: WithItem[];
301
- withShapes?: RecordOfColumnsShapeBase;
368
+ withShapes?: WithConfigs;
302
369
  joinTo?: QueryDataJoinTo;
303
370
  joinedShapes?: JoinedShapes;
304
371
  joinedParsers?: JoinedParsers;
372
+ joinedBatchParsers?: {
373
+ [K: string]: BatchParsers;
374
+ };
375
+ joinedComputeds?: {
376
+ [K: string]: ComputedColumns;
377
+ };
305
378
  joinedForSelect?: string;
306
379
  innerJoinLateral?: true;
307
380
  joinOverrides?: JoinOverrides;
@@ -317,22 +390,26 @@ interface CommonQueryData {
317
390
  or?: WhereItem[][];
318
391
  coalesceValue?: unknown | Expression;
319
392
  parsers?: ColumnsParsers;
393
+ batchParsers?: BatchParsers;
320
394
  notFoundDefault?: unknown;
321
395
  defaults?: RecordUnknown;
396
+ hookSelect?: HookSelect;
397
+ computeds?: ComputedColumns;
398
+ selectedComputeds?: ComputedColumns;
322
399
  before?: QueryBeforeHook[];
323
400
  after?: QueryAfterHook[];
324
401
  beforeCreate?: QueryBeforeHook[];
325
402
  afterCreate?: QueryAfterHook[];
326
403
  afterCreateCommit?: QueryAfterHook[];
327
- afterCreateSelect?: QueryHookSelect;
404
+ afterCreateSelect?: Set<string>;
328
405
  beforeUpdate?: QueryBeforeHook[];
329
406
  afterUpdate?: QueryAfterHook[];
330
407
  afterUpdateCommit?: QueryAfterHook[];
331
- afterUpdateSelect?: QueryHookSelect;
408
+ afterUpdateSelect?: Set<string>;
332
409
  beforeDelete?: QueryBeforeHook[];
333
410
  afterDelete?: QueryAfterHook[];
334
411
  afterDeleteCommit?: QueryAfterHook[];
335
- afterDeleteSelect?: QueryHookSelect;
412
+ afterDeleteSelect?: Set<string>;
336
413
  log?: QueryLogObject;
337
414
  logger: QueryLogger;
338
415
  autoPreparedStatements?: boolean;
@@ -664,21 +741,6 @@ type JoinArgToQueryCallback = (...args: any[]) => PickQueryTableMetaResult;
664
741
  * Callback must return a query builder.
665
742
  */
666
743
  type JoinCallback<T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>> = (q: JoinQueryBuilder<T, JoinArgToQuery<T, Arg>>) => PickQueryTableMetaResult;
667
- /**
668
- * Type of the `joinLateral`.
669
- *
670
- * Receives a query builder that can access columns of both the main and the joined table.
671
- *
672
- * Query builder inside callback is the query derived from the `joinLateral` first argument,
673
- * all query methods are allowed, `on` methods are available.
674
- *
675
- * The callback must return a query object. Its resulting type will become a type of the joined table.
676
- */
677
- type JoinLateralCallback<T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns> = (q: JoinQueryBuilder<T, JoinArgToQuery<T, Arg>>) => {
678
- table: Table;
679
- meta: Meta;
680
- result: Result;
681
- };
682
744
  /**
683
745
  * Type of {@link Join.join} query method.
684
746
  */
@@ -1235,7 +1297,11 @@ declare class Join {
1235
1297
  * @param arg - {@link JoinFirstArg}
1236
1298
  * @param cb - {@link JoinLateralCallback}
1237
1299
  */
1238
- joinLateral<T extends PickQueryMetaResultRelationsWithDataReturnTypeShape, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns>(this: T, arg: Arg, cb: JoinLateralCallback<T, Arg, Table, Meta, Result>): JoinLateralResult<T, Table, Meta, Result, true>;
1300
+ joinLateral<T extends PickQueryMetaResultRelationsWithDataReturnTypeShape, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns>(this: T, arg: Arg, cb: (q: JoinQueryBuilder<T, JoinArgToQuery<T, Arg>>) => {
1301
+ table: Table;
1302
+ meta: Meta;
1303
+ result: Result;
1304
+ }): JoinLateralResult<T, Table, Meta, Result, true>;
1239
1305
  /**
1240
1306
  * The same as {@link joinLateral}, but when no records found for the join it will result in `null`:
1241
1307
  *
@@ -1251,7 +1317,11 @@ declare class Join {
1251
1317
  * @param arg - {@link JoinFirstArg}
1252
1318
  * @param cb - {@link JoinLateralCallback}
1253
1319
  */
1254
- leftJoinLateral<T extends PickQueryMetaResultRelationsWithDataReturnTypeShape, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns>(this: T, arg: Arg, cb: JoinLateralCallback<T, Arg, Table, Meta, Result>): JoinLateralResult<T, Table, Meta, Result, false>;
1320
+ leftJoinLateral<T extends PickQueryMetaResultRelationsWithDataReturnTypeShape, Arg extends JoinFirstArg<T>, Table extends string, Meta extends QueryMetaBase, Result extends QueryColumns>(this: T, arg: Arg, cb: (q: JoinQueryBuilder<T, JoinArgToQuery<T, Arg>>) => {
1321
+ table: Table;
1322
+ meta: Meta;
1323
+ result: Result;
1324
+ }): JoinLateralResult<T, Table, Meta, Result, false>;
1255
1325
  }
1256
1326
  type OnArgs<S extends SelectableBase> = [leftColumn: keyof S, rightColumn: keyof S] | [leftColumn: keyof S, op: string, rightColumn: keyof S];
1257
1327
  declare const pushQueryOn: <T extends PickQueryMeta>(q: T, joinFrom: PickQueryMeta, joinTo: PickQueryMeta, ...on: OnArgs<SelectableBase>) => T;
@@ -1264,21 +1334,21 @@ type OnJsonPathEqualsArgs<S extends SelectableBase> = [
1264
1334
  rightPath: string
1265
1335
  ];
1266
1336
  /**
1267
- * Mutative {@link OnMethods.on}
1337
+ * Mutative {@link OnMethods.prototype.on}
1268
1338
  */
1269
1339
  declare const _queryJoinOn: <T extends PickQueryMeta>(q: T, args: OnArgs<T['meta']['selectable']>) => T;
1270
1340
  /**
1271
- * Mutative {@link OnMethods.orOn}
1341
+ * Mutative {@link OnMethods.prototype.orOn}
1272
1342
  */
1273
1343
  declare const _queryJoinOrOn: <T extends PickQueryMeta>(q: T, args: OnArgs<T['meta']['selectable']>) => T;
1274
1344
  /**
1275
- * Mutative {@link OnMethods.onJsonPathEquals}
1345
+ * Mutative {@link OnMethods.prototype.onJsonPathEquals}
1276
1346
  */
1277
1347
  declare const _queryJoinOnJsonPathEquals: <T extends PickQueryMeta>(q: T, args: OnJsonPathEqualsArgs<T["meta"]["selectable"]>) => T;
1278
1348
  /**
1279
1349
  * Argument of join callback.
1280
1350
  * It is a query object of table that you're joining, with ability to select main table's columns.
1281
- * Adds {@link OnMethods.on} method and similar to the query.
1351
+ * Adds {@link OnMethods.prototype.on} method and similar to the query.
1282
1352
  */
1283
1353
  type JoinQueryBuilder<T extends PickQueryMetaShape = PickQueryMetaShape, J extends PickQueryTableMetaResult = PickQueryTableMetaResult> = {
1284
1354
  [K in keyof J]: K extends 'meta' ? {
@@ -1709,7 +1779,21 @@ type WhereArg<T extends PickQueryMetaRelations> = {
1709
1779
  [K in keyof T['meta']['selectable'] | 'NOT' | 'OR' | 'IN']?: K extends 'NOT' ? WhereArg<T> | WhereArgs<T> : K extends 'OR' ? (WhereArg<T> | WhereArgs<T>)[] : K extends 'IN' ? MaybeArray<{
1710
1780
  columns: (keyof T['meta']['selectable'])[];
1711
1781
  values: unknown[][] | QueryBase | Expression;
1712
- }> : T['meta']['selectable'][K]['column']['queryType'] | null | ColumnOperators<T['meta']['selectable'], K> | QueryOrExpression<T['meta']['selectable'][K]['column']['queryType'] | null> | ((q: T) => QueryOrExpression<T['meta']['selectable'][K]['column']['queryType'] | null>);
1782
+ }> : T['meta']['selectable'][K]['column']['queryType'] | null | {
1783
+ [O in keyof T['meta']['selectable'][K]['column']['operators']]?: T['meta']['selectable'][K]['column']['operators'][O]['_opType'];
1784
+ } | {
1785
+ result: {
1786
+ value: {
1787
+ queryType: T['meta']['selectable'][K]['column']['queryType'] | null;
1788
+ };
1789
+ };
1790
+ } | ((q: T) => {
1791
+ result: {
1792
+ value: {
1793
+ queryType: T['meta']['selectable'][K]['column']['queryType'] | null;
1794
+ };
1795
+ };
1796
+ });
1713
1797
  } | QueryOrExpressionBooleanOrNullResult | ((q: WhereQueryBuilder<T>) => QueryOrExpressionBooleanOrNullResult | WhereQueryBuilder<T>);
1714
1798
  /**
1715
1799
  * Callback argument of `where`.
@@ -1744,35 +1828,35 @@ interface QueryMetaHasWhere {
1744
1828
  };
1745
1829
  }
1746
1830
  /**
1747
- * Mutative {@link Where.where}
1831
+ * Mutative {@link Where.prototype.where}
1748
1832
  */
1749
1833
  declare const _queryWhere: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
1750
1834
  /**
1751
- * Mutative {@link Where.whereSql}
1835
+ * Mutative {@link Where.prototype.whereSql}
1752
1836
  */
1753
1837
  declare const _queryWhereSql: <T>(q: T, args: SQLQueryArgs) => T;
1754
1838
  /**
1755
- * Mutative {@link Where.whereNot}
1839
+ * Mutative {@link Where.prototype.whereNot}
1756
1840
  */
1757
1841
  declare const _queryWhereNot: <T extends PickQueryMetaRelations>(q: T, args: WhereNotArgs<T>) => WhereResult<T>;
1758
1842
  /**
1759
- * Mutative {@link Where.whereNotSql}
1843
+ * Mutative {@link Where.prototype.whereNotSql}
1760
1844
  */
1761
1845
  declare const _queryWhereNotSql: <T>(q: T, args: SQLQueryArgs) => T;
1762
1846
  /**
1763
- * Mutative {@link Where.orWhere}
1847
+ * Mutative {@link Where.prototype.orWhere}
1764
1848
  */
1765
1849
  declare const _queryOr: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
1766
1850
  /**
1767
- * Mutative {@link Where.orWhereNot}
1851
+ * Mutative {@link Where.prototype.orWhereNot}
1768
1852
  */
1769
1853
  declare const _queryOrNot: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
1770
1854
  /**
1771
- * Mutative {@link Where.whereIn}
1855
+ * Mutative {@link Where.prototype.whereIn}
1772
1856
  */
1773
1857
  declare const _queryWhereIn: <T>(q: T, and: boolean, arg: unknown, values: unknown[] | unknown[][] | Query | Expression | undefined, not?: boolean) => WhereResult<T>;
1774
1858
  /**
1775
- * Mutative {@link Where.whereExists}
1859
+ * Mutative {@link Where.prototype.whereExists}
1776
1860
  */
1777
1861
  declare const _queryWhereExists: <T extends PickQueryMetaShapeRelationsWithData, Arg extends JoinFirstArg<T>>(q: T, arg: Arg, args: JoinArgs<T, Arg>) => WhereResult<T>;
1778
1862
  declare class Where {
@@ -2533,19 +2617,17 @@ declare class RawSQL<T extends QueryColumn, ColumnTypes = DefaultColumnTypes<Col
2533
2617
  interface DynamicRawSQL<T extends QueryColumn> extends Expression<T>, ExpressionTypeMethod {
2534
2618
  }
2535
2619
  declare class DynamicRawSQL<T extends QueryColumn, ColumnTypes = DefaultColumnTypes<ColumnSchemaConfig>> extends Expression<T> {
2536
- fn: DynamicSQLArg;
2620
+ fn: DynamicSQLArg<T>;
2537
2621
  columnTypes: ColumnTypes;
2538
2622
  result: {
2539
2623
  value: T;
2540
2624
  };
2541
- q: {
2542
- chain?: ExpressionChain;
2543
- };
2544
- constructor(fn: DynamicSQLArg);
2625
+ q: ExpressionData;
2626
+ constructor(fn: DynamicSQLArg<T>);
2545
2627
  makeSQL(ctx: ToSQLCtx, quotedAs?: string): string;
2546
2628
  }
2547
2629
  declare function raw<T = never>(...args: StaticSQLArgs): RawSQL<QueryColumn<T>>;
2548
- declare function raw<T = never>(...args: [DynamicSQLArg]): DynamicRawSQL<QueryColumn<T>>;
2630
+ declare function raw<T = never>(...args: [DynamicSQLArg<QueryColumn<T>>]): DynamicRawSQL<QueryColumn<T>>;
2549
2631
  declare const countSelect: RawSQL<QueryColumn<unknown, any>, DefaultColumnTypes<ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, any, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>>>[];
2550
2632
  declare function sqlQueryArgsToExpression(args: SQLQueryArgs): RawSQL<QueryColumn>;
2551
2633
  type SqlFn = <T, Args extends [sql: TemplateStringsArray, ...values: unknown[]] | [sql: string] | [values: RecordUnknown, sql?: string]>(this: T, ...args: Args) => Args extends [RecordUnknown] ? (...sql: TemplateLiteralArgs) => RawSQLBase<QueryColumn, T> : RawSQLBase<QueryColumn, T>;
@@ -2679,8 +2761,7 @@ type TableDataInput = {
2679
2761
  constraint?: TableData.Constraint;
2680
2762
  };
2681
2763
  interface TableDataItem {
2682
- columns: unknown;
2683
- name: unknown;
2764
+ tableDataItem: true;
2684
2765
  }
2685
2766
  interface UniqueTableDataItem<Shape extends QueryColumns = QueryColumns> {
2686
2767
  columns: (keyof Shape)[];
@@ -2688,6 +2769,7 @@ interface UniqueTableDataItem<Shape extends QueryColumns = QueryColumns> {
2688
2769
  }
2689
2770
  interface TableDataMethods<Key extends PropertyKey> {
2690
2771
  primaryKey<Columns extends [Key, ...Key[]], Name extends string>(columns: Columns, name?: Name): {
2772
+ tableDataItem: true;
2691
2773
  columns: Columns;
2692
2774
  name: string extends Name ? never : Name;
2693
2775
  };
@@ -2695,6 +2777,7 @@ interface TableDataMethods<Key extends PropertyKey> {
2695
2777
  Key | TableData.Index.ColumnOrExpressionOptions<Key>,
2696
2778
  ...(Key | TableData.Index.ColumnOrExpressionOptions<Key>)[]
2697
2779
  ], Name extends string>(columns: Columns, ...args: [options?: TableData.Index.UniqueOptionsArg] | [name?: Name, options?: TableData.Index.UniqueOptionsArg]): {
2780
+ tableDataItem: true;
2698
2781
  columns: Columns extends (Key | TableData.Index.ColumnOptionsForColumn<Key>)[] ? {
2699
2782
  [I in keyof Columns]: 'column' extends keyof Columns[I] ? Columns[I]['column'] : Columns[I];
2700
2783
  } : never;
@@ -3146,7 +3229,7 @@ type DbOptions<SchemaConfig extends ColumnSchemaConfig, ColumnTypes> = ({
3146
3229
  snakeCase?: boolean;
3147
3230
  nowSQL?: string;
3148
3231
  };
3149
- interface DbTableOptions<Table extends string | undefined, Shape extends QueryColumns> extends QueryLogOptions {
3232
+ interface DbTableOptions<ColumnTypes, Table extends string | undefined, Shape extends QueryColumns> extends QueryLogOptions {
3150
3233
  schema?: string;
3151
3234
  autoPreparedStatements?: boolean;
3152
3235
  noPrimaryKey?: NoPrimaryKeyOption;
@@ -3161,6 +3244,7 @@ interface DbTableOptions<Table extends string | undefined, Shape extends QueryCo
3161
3244
  */
3162
3245
  softDelete?: SoftDeleteOption<Shape>;
3163
3246
  comment?: string;
3247
+ computed?: ComputedOptionsFactory<ColumnTypes, Shape>;
3164
3248
  }
3165
3249
  /**
3166
3250
  * See {@link ScopeMethods}
@@ -3175,7 +3259,7 @@ declare const anyShape: QueryColumnsInit;
3175
3259
  interface Db<Table extends string | undefined = undefined, Shape extends QueryColumnsInit = QueryColumnsInit, PrimaryKeys = never, UniqueColumns = never, UniqueColumnTuples = never, UniqueConstraints = never, Relations extends RelationsBase = EmptyObject, ColumnTypes = DefaultColumnTypes<ColumnSchemaConfig>, ShapeWithComputed extends QueryColumnsInit = Shape, Scopes extends CoreQueryScopes | undefined = EmptyObject> extends DbBase<Adapter, Table, Shape, ColumnTypes, ShapeWithComputed>, QueryMethods<ColumnTypes>, QueryBase {
3176
3260
  result: Pick<Shape, DefaultSelectColumns<Shape>[number]>;
3177
3261
  queryBuilder: Db;
3178
- returnType: Query['returnType'];
3262
+ returnType: undefined;
3179
3263
  then: QueryThen<QueryDefaultReturnData<Shape>>;
3180
3264
  windows: Query['windows'];
3181
3265
  defaultSelectColumns: DefaultSelectColumns<Shape>;
@@ -3205,7 +3289,7 @@ declare class Db<Table extends string | undefined = undefined, Shape extends Que
3205
3289
  table: Table;
3206
3290
  shape: ShapeWithComputed;
3207
3291
  columnTypes: ColumnTypes;
3208
- constructor(adapter: Adapter, queryBuilder: Db, table: Table, shape: ShapeWithComputed, columnTypes: ColumnTypes, transactionStorage: AsyncLocalStorage<TransactionState>, options: DbTableOptions<Table, ShapeWithComputed>, tableData?: TableData);
3292
+ constructor(adapter: Adapter, queryBuilder: Db, table: Table, shape: ShapeWithComputed, columnTypes: ColumnTypes, transactionStorage: AsyncLocalStorage<TransactionState>, options: DbTableOptions<ColumnTypes, Table, ShapeWithComputed>, tableData?: TableData);
3209
3293
  [inspect.custom](): string;
3210
3294
  /**
3211
3295
  * Use `query` to perform raw SQL queries.
@@ -3265,7 +3349,7 @@ declare class Db<Table extends string | undefined = undefined, Shape extends Que
3265
3349
  */
3266
3350
  queryArrays<R extends any[] = any[]>(...args: SQLQueryArgs): Promise<QueryArraysResult<R>>;
3267
3351
  }
3268
- type DbTableConstructor<ColumnTypes> = <Table extends string, Shape extends QueryColumnsInit, Data extends MaybeArray<TableDataItem>, Options extends DbTableOptions<Table, Shape>>(table: Table, shape?: ((t: ColumnTypes) => Shape) | Shape, tableData?: TableDataFn<Shape, Data>, options?: Options) => Db<Table, Shape, keyof ShapeColumnPrimaryKeys<Shape> extends never ? never : ShapeColumnPrimaryKeys<Shape>, ShapeUniqueColumns<Shape> | TableDataItemsUniqueColumns<Shape, Data>, TableDataItemsUniqueColumnTuples<Shape, Data>, UniqueConstraints<Shape> | TableDataItemsUniqueConstraints<Data>, EmptyObject, ColumnTypes, Shape, MapTableScopesOption<Options['scopes'], Options['softDelete']>>;
3352
+ type DbTableConstructor<ColumnTypes> = <Table extends string, Shape extends QueryColumnsInit, Data extends MaybeArray<TableDataItem>, Options extends DbTableOptions<ColumnTypes, Table, Shape>>(table: Table, shape?: ((t: ColumnTypes) => Shape) | Shape, tableData?: TableDataFn<Shape, Data>, options?: Options) => Db<Table, Shape, keyof ShapeColumnPrimaryKeys<Shape> extends never ? never : ShapeColumnPrimaryKeys<Shape>, ShapeUniqueColumns<Shape> | TableDataItemsUniqueColumns<Shape, Data>, TableDataItemsUniqueColumnTuples<Shape, Data>, UniqueConstraints<Shape> | TableDataItemsUniqueConstraints<Data>, EmptyObject, ColumnTypes, Shape & ComputedColumnsFromOptions<Options['computed']>, MapTableScopesOption<Options['scopes'], Options['softDelete']>>;
3269
3353
  type MapTableScopesOption<Scopes extends CoreQueryScopes | undefined, SoftDelete extends true | PropertyKey | undefined> = {
3270
3354
  [K in keyof Scopes | (SoftDelete extends true | PropertyKey ? 'nonDeleted' : never)]: unknown;
3271
3355
  };
@@ -3350,7 +3434,7 @@ interface DbResult<ColumnTypes> extends Db<string, never, never, never, never, n
3350
3434
  * ```
3351
3435
  */
3352
3436
  declare const createDb: <SchemaConfig extends ColumnSchemaConfig<ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, any, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>> = DefaultSchemaConfig, ColumnTypes = DefaultColumnTypes<SchemaConfig>>({ log, logger, snakeCase, nowSQL, schemaConfig, columnTypes: ctOrFn, ...options }: DbOptions<SchemaConfig, ColumnTypes>) => DbResult<ColumnTypes>;
3353
- declare const _initQueryBuilder: (adapter: Adapter, columnTypes: unknown, transactionStorage: AsyncLocalStorage<TransactionState>, commonOptions: DbTableOptions<undefined, QueryColumns>, options: DbSharedOptions) => Db;
3437
+ declare const _initQueryBuilder: (adapter: Adapter, columnTypes: unknown, transactionStorage: AsyncLocalStorage<TransactionState>, commonOptions: DbTableOptions<unknown, undefined, QueryColumns>, options: DbSharedOptions) => Db;
3354
3438
 
3355
3439
  type ToSQLCtx = {
3356
3440
  queryBuilder: Db;
@@ -3390,7 +3474,15 @@ declare const getSqlText: (sql: Sql) => string;
3390
3474
 
3391
3475
  type AliasOrTable<T extends PickQueryMetaTable> = T['meta']['as'] extends string ? T['meta']['as'] : T['table'] extends string ? T['table'] : never;
3392
3476
  type SelectableOrExpression<T extends PickQueryMeta = PickQueryMeta, C extends QueryColumn = QueryColumn> = '*' | keyof T['meta']['selectable'] | Expression<C>;
3393
- type SelectableOrExpressions<T extends PickQueryMeta = PickQueryMeta, C extends QueryColumn = QueryColumn> = ('*' | keyof T['meta']['selectable'] | Expression<C>)[];
3477
+ type SelectableOrExpressions<T extends {
3478
+ meta: {
3479
+ selectable: unknown;
3480
+ };
3481
+ } = {
3482
+ meta: {
3483
+ selectable: unknown;
3484
+ };
3485
+ }, C extends QueryColumn = QueryColumn> = ('*' | keyof T['meta']['selectable'] | Expression<C>)[];
3394
3486
  type ExpressionOutput<T extends PickQueryMeta, Expr extends SelectableOrExpression<T>> = Expr extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Expr]['column'] : Expr extends Expression ? Expr['result']['value'] : never;
3395
3487
  declare const getClonedQueryData: (query: QueryData) => QueryData;
3396
3488
  declare const getQueryAs: (q: {
@@ -3910,19 +4002,21 @@ type CreateDataWithDefaultsForRelations<T extends CreateSelf, Defaults extends k
3910
4002
  [K in Defaults as K extends OmitFKeys ? never : K]?: CreateColumn<T, K>;
3911
4003
  };
3912
4004
  type CreateColumn<T extends CreateSelf, K extends keyof T['inputType']> = T['inputType'][K] | QueryOrExpression<T['inputType'][K]> | ((q: T) => QueryOrExpression<T['inputType'][K]>);
3913
- type CreateRelationsData<T extends CreateSelf, BelongsToData> = CreateDataWithDefaultsForRelations<T, keyof T['meta']['defaults'], T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate']> & BelongsToData & T['relations'][keyof T['relations']]['relationConfig']['optionalDataForCreate'];
3914
- type CreateBelongsToData<T extends CreateSelf> = CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']>;
4005
+ type CreateRelationsData<T extends CreateSelf, BelongsToData> = CreateDataWithDefaultsForRelations<T, keyof T['meta']['defaults'], T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate']> & ([BelongsToData] extends [never] ? EmptyObject : BelongsToData) & T['relations'][keyof T['relations']]['relationConfig']['optionalDataForCreate'];
4006
+ type CreateBelongsToData<T extends CreateSelf> = [
4007
+ T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']
4008
+ ] extends [never] ? never : CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']>;
3915
4009
  type CreateRelationsDataOmittingFKeys<T extends CreateSelf, Union> = (Union extends RelationConfigDataForCreate ? (u: keyof Union['columns'] extends keyof T['meta']['defaults'] ? Omit<Union['columns'], keyof T['meta']['defaults']> & {
3916
4010
  [P in keyof T['meta']['defaults'] & keyof Union['columns']]?: Union['columns'][P];
3917
- } & Partial<Union['nested']> : Union['columns'] | Union['nested']) => void : never) extends (u: infer Obj extends RecordUnknown) => void ? Obj : never;
4011
+ } & Partial<Union['nested']> : Union['columns'] | Union['nested']) => void : never) extends (u: infer Obj) => void ? Obj : never;
3918
4012
  type CreateResult<T extends CreateSelf, BT> = T extends {
3919
4013
  isCount: true;
3920
- } ? SetQueryKind<T, 'create'> : QueryReturnsAll<T['returnType']> extends true ? SetQueryReturnsOneKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>>;
4014
+ } ? SetQueryKind<T, 'create'> : T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>>;
3921
4015
  type CreateRawOrFromResult<T extends CreateSelf> = T extends {
3922
4016
  isCount: true;
3923
- } ? SetQueryKind<T, 'create'> : QueryReturnsAll<T['returnType']> extends true ? SetQueryReturnsOneKind<T, 'create'> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKind<T, 'create'> : SetQueryKind<T, 'create'>;
3924
- type InsertResult<T extends CreateSelf, BT> = T['meta']['hasSelect'] extends true ? QueryReturnsAll<T['returnType']> extends true ? SetQueryReturnsOneKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryReturnsRowCount<T, 'create'>;
3925
- type InsertRawOrFromResult<T extends CreateSelf> = T['meta']['hasSelect'] extends true ? QueryReturnsAll<T['returnType']> extends true ? SetQueryReturnsOneKind<T, 'create'> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKind<T, 'create'> : SetQueryKind<T, 'create'> : SetQueryReturnsRowCount<T, 'create'>;
4017
+ } ? SetQueryKind<T, 'create'> : T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneKind<T, 'create'> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKind<T, 'create'> : SetQueryKind<T, 'create'>;
4018
+ type InsertResult<T extends CreateSelf, BT> = T['meta']['hasSelect'] extends true ? T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryReturnsRowCount<T, 'create'>;
4019
+ type InsertRawOrFromResult<T extends CreateSelf> = T['meta']['hasSelect'] extends true ? T['returnType'] extends undefined | 'all' ? SetQueryReturnsOneKind<T, 'create'> : T['returnType'] extends 'pluck' ? SetQueryReturnsColumnKind<T, 'create'> : SetQueryKind<T, 'create'> : SetQueryReturnsRowCount<T, 'create'>;
3926
4020
  type CreateManyResult<T extends CreateSelf, BT> = T extends {
3927
4021
  isCount: true;
3928
4022
  } ? SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'one' | 'oneOrThrow' ? SetQueryReturnsAllKindResult<T, 'create', NarrowCreateResult<T, BT>> : T['returnType'] extends 'value' | 'valueOrThrow' ? SetQueryReturnsPluckColumnKindResult<T, 'create', NarrowCreateResult<T, BT>> : SetQueryKindResult<T, 'create', NarrowCreateResult<T, BT>>;
@@ -3937,10 +4031,12 @@ type InsertManyRawOrFromResult<T extends CreateSelf> = T['meta']['hasSelect'] ex
3937
4031
  *
3938
4032
  * The same should work as well with any non-null columns passed to `create`, but it's to be implemented later.
3939
4033
  */
3940
- type NarrowCreateResult<T extends CreateSelf, BT> = [
3941
- T['relations'][keyof T['relations'] & keyof BT]['relationConfig']['omitForeignKeyInCreate']
4034
+ type NarrowCreateResult<T extends CreateSelf, Bt> = [
4035
+ {
4036
+ [K in keyof T['relations']]: T['relations'][K]['relationConfig']['omitForeignKeyInCreate'];
4037
+ }[keyof T['relations'] & keyof Bt]
3942
4038
  ] extends [never] ? T['result'] : {
3943
- [K in keyof T['result']]: K extends T['relations'][keyof T['relations'] & keyof BT]['relationConfig']['omitForeignKeyInCreate'] ? QueryColumn<Exclude<T['result'][K]['type'], null>, T['result'][K]['operators']> : T['result'][K];
4039
+ [K in keyof T['result']]: K extends T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate'] ? QueryColumn<Exclude<T['result'][K]['type'], null>, T['result'][K]['operators']> : T['result'][K];
3944
4040
  };
3945
4041
  type IgnoreResult<T extends CreateSelf> = T['returnType'] extends 'oneOrThrow' ? SetQueryReturnsOneOptional<T> : T['returnType'] extends 'valueOrThrow' ? SetQueryReturnsColumnOptional<T, T['result']['value']> : T;
3946
4042
  interface CreateRawData<T extends CreateSelf> {
@@ -3976,10 +4072,10 @@ interface CreateCtx {
3976
4072
  returnTypeAll?: true;
3977
4073
  resultAll: RecordUnknown[];
3978
4074
  }
3979
- declare const _queryCreate: <T extends CreateSelf, BT extends CreateRelationsDataOmittingFKeys<T, T["relations"][keyof T["relations"]]["relationConfig"]["dataForCreate"]>>(q: T, data: CreateData<T, BT>) => CreateResult<T, BT>;
3980
- declare const _queryInsert: <T extends CreateSelf, BT extends CreateRelationsDataOmittingFKeys<T, T["relations"][keyof T["relations"]]["relationConfig"]["dataForCreate"]>>(q: T, data: CreateData<T, BT>) => InsertResult<T, BT>;
3981
- declare const _queryCreateMany: <T extends CreateSelf, BT extends CreateRelationsDataOmittingFKeys<T, T["relations"][keyof T["relations"]]["relationConfig"]["dataForCreate"]>>(q: T, data: CreateData<T, BT>[]) => CreateManyResult<T, BT>;
3982
- declare const _queryInsertMany: <T extends CreateSelf, BT extends CreateRelationsDataOmittingFKeys<T, T["relations"][keyof T["relations"]]["relationConfig"]["dataForCreate"]>>(q: T, data: CreateData<T, BT>[]) => InsertManyResult<T, BT>;
4075
+ declare const _queryCreate: <T extends CreateSelf, BT extends CreateBelongsToData<T>>(q: T, data: CreateData<T, BT>) => CreateResult<T, BT>;
4076
+ declare const _queryInsert: <T extends CreateSelf, BT extends CreateBelongsToData<T>>(q: T, data: CreateData<T, BT>) => InsertResult<T, BT>;
4077
+ declare const _queryCreateMany: <T extends CreateSelf, BT extends CreateBelongsToData<T>>(q: T, data: CreateData<T, BT>[]) => CreateManyResult<T, BT>;
4078
+ declare const _queryInsertMany: <T extends CreateSelf, BT extends CreateBelongsToData<T>>(q: T, data: CreateData<T, BT>[]) => InsertManyResult<T, BT>;
3983
4079
  declare const _queryCreateRaw: <T extends CreateSelf>(q: T, args: CreateRawArgs<T, CreateRawData<T>>) => CreateRawOrFromResult<T>;
3984
4080
  declare const _queryInsertRaw: <T extends CreateSelf>(q: T, args: CreateRawArgs<T, CreateRawData<T>>) => InsertRawOrFromResult<T>;
3985
4081
  declare const _queryCreateManyRaw: <T extends CreateSelf>(q: T, args: CreateRawArgs<T, CreateManyRawData<T>>) => CreateManyRawOrFromResult<T>;
@@ -3992,7 +4088,7 @@ declare const _queryInsertFrom: <T extends CreateSelf, Q extends Query & {
3992
4088
  }>(q: T, query: Q, data?: Omit<CreateData<T, CreateBelongsToData<T>>, keyof Q['result']>) => InsertRawOrFromResult<T>;
3993
4089
  declare const _queryCreateManyFrom: <T extends CreateSelf>(q: T, query: Query) => CreateManyRawOrFromResult<T>;
3994
4090
  declare const _queryInsertManyFrom: <T extends CreateSelf>(q: T, query: Query) => InsertManyRawOrFromResult<T>;
3995
- declare const _queryDefaults: <T extends CreateSelf, Data extends Partial<CreateData<T, CreateRelationsDataOmittingFKeys<T, T["relations"][keyof T["relations"]]["relationConfig"]["dataForCreate"]>>>>(q: T, data: Data) => AddQueryDefaults<T, { [K in keyof Data]: true; }>;
4091
+ declare const _queryDefaults: <T extends CreateSelf, Data extends Partial<CreateData<T, CreateBelongsToData<T>>>>(q: T, data: Data) => AddQueryDefaults<T, { [K in keyof Data]: true; }>;
3996
4092
  /**
3997
4093
  * Names of all create methods,
3998
4094
  * is used in {@link RelationQuery} to remove these methods if chained relation shouldn't have them,
@@ -4735,22 +4831,22 @@ declare class Having {
4735
4831
  type AfterHook<Select extends PropertyKey[], Shape extends QueryColumns> = QueryAfterHook<{
4736
4832
  [K in keyof Select[number]]: K extends keyof Shape ? Shape[K]['outputType'] : never;
4737
4833
  }[]>;
4738
- type HookSelect<T extends PickQueryShape> = (keyof T['shape'] & string)[];
4834
+ type HookSelectArg<T extends PickQueryShape> = (keyof T['shape'] & string)[];
4739
4835
  type HookAction = 'Create' | 'Update' | 'Delete';
4740
4836
  declare const _queryHookBeforeQuery: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
4741
4837
  declare const _queryHookAfterQuery: <T extends PickQueryShape>(q: T, cb: QueryAfterHook) => T;
4742
4838
  declare const _queryHookBeforeCreate: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
4743
- declare const _queryHookAfterCreate: <T extends PickQueryShape, S extends HookSelect<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4744
- declare const _queryHookAfterCreateCommit: <T extends PickQueryShape, S extends HookSelect<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4839
+ declare const _queryHookAfterCreate: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4840
+ declare const _queryHookAfterCreateCommit: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4745
4841
  declare const _queryHookBeforeUpdate: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
4746
- declare const _queryHookAfterUpdate: <T extends PickQueryShape, S extends HookSelect<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4747
- declare const _queryHookAfterUpdateCommit: <T extends PickQueryShape, S extends HookSelect<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4842
+ declare const _queryHookAfterUpdate: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4843
+ declare const _queryHookAfterUpdateCommit: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4748
4844
  declare const _queryHookBeforeSave: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
4749
- declare const _queryHookAfterSave: <T extends PickQueryShape, S extends HookSelect<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4750
- declare const _queryAfterSaveCommit: <T extends PickQueryShape, S extends HookSelect<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4845
+ declare const _queryHookAfterSave: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4846
+ declare const _queryAfterSaveCommit: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4751
4847
  declare const _queryHookBeforeDelete: <T extends PickQueryShape>(q: T, cb: QueryBeforeHook) => T;
4752
- declare const _queryHookAfterDelete: <T extends PickQueryShape, S extends HookSelect<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4753
- declare const _queryHookAfterDeleteCommit: <T extends PickQueryShape, S extends HookSelect<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4848
+ declare const _queryHookAfterDelete: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4849
+ declare const _queryHookAfterDeleteCommit: <T extends PickQueryShape, S extends HookSelectArg<T>>(q: T, select: S, cb: AfterHook<S, T['shape']>) => T;
4754
4850
  declare abstract class QueryHooks {
4755
4851
  /**
4756
4852
  * Run the function before any kind of query.
@@ -4781,7 +4877,7 @@ declare abstract class QueryHooks {
4781
4877
  * @param select - list of columns to select for the hook
4782
4878
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
4783
4879
  */
4784
- afterCreate<T extends PickQueryShape, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4880
+ afterCreate<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4785
4881
  /**
4786
4882
  * Run the function after transaction for a `create` kind of query will be committed.
4787
4883
  * If the query wasn't wrapped in a transaction, will run after the query.
@@ -4789,7 +4885,7 @@ declare abstract class QueryHooks {
4789
4885
  * @param select - list of columns to select for the hook
4790
4886
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
4791
4887
  */
4792
- afterCreateCommit<T extends PickQueryShape, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4888
+ afterCreateCommit<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4793
4889
  /**
4794
4890
  * Run the function before an `update` kind of query.
4795
4891
  *
@@ -4806,7 +4902,7 @@ declare abstract class QueryHooks {
4806
4902
  * @param select - list of columns to select for the hook
4807
4903
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
4808
4904
  */
4809
- afterUpdate<T extends PickQueryShape, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4905
+ afterUpdate<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4810
4906
  /**
4811
4907
  * Run the function after transaction for an `update` kind of query will be committed.
4812
4908
  * If the query wasn't wrapped in a transaction, will run after the query.
@@ -4815,7 +4911,7 @@ declare abstract class QueryHooks {
4815
4911
  * @param select - list of columns to select for the hook
4816
4912
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
4817
4913
  */
4818
- afterUpdateCommit<T extends PickQueryShape, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4914
+ afterUpdateCommit<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4819
4915
  /**
4820
4916
  * Run the function before a `create` or an `update` kind of query.
4821
4917
  *
@@ -4832,7 +4928,7 @@ declare abstract class QueryHooks {
4832
4928
  * @param select - list of columns to select for the hook
4833
4929
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
4834
4930
  */
4835
- afterSave<T extends PickQueryShape, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4931
+ afterSave<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4836
4932
  /**
4837
4933
  * Run the function after transaction for a `create` or an `update` kind of query will be committed.
4838
4934
  * If the query wasn't wrapped in a transaction, will run after the query.
@@ -4841,7 +4937,7 @@ declare abstract class QueryHooks {
4841
4937
  * @param select - list of columns to select for the hook
4842
4938
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
4843
4939
  */
4844
- afterSaveCommit<T extends PickQueryShape, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4940
+ afterSaveCommit<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4845
4941
  /**
4846
4942
  * Run the function before a `delete` kind of query.
4847
4943
  *
@@ -4858,7 +4954,7 @@ declare abstract class QueryHooks {
4858
4954
  * @param select - list of columns to select for the hook
4859
4955
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
4860
4956
  */
4861
- afterDelete<T extends PickQueryShape, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4957
+ afterDelete<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4862
4958
  /**
4863
4959
  * Run the function after transaction for a `delete` kind of query will be committed.
4864
4960
  * If the query wasn't wrapped in a transaction, will run after the query.
@@ -4867,7 +4963,7 @@ declare abstract class QueryHooks {
4867
4963
  * @param select - list of columns to select for the hook
4868
4964
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
4869
4965
  */
4870
- afterDeleteCommit<T extends PickQueryShape, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4966
+ afterDeleteCommit<T extends PickQueryShape, S extends HookSelectArg<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
4871
4967
  }
4872
4968
 
4873
4969
  declare abstract class JsonMethods {
@@ -4916,7 +5012,7 @@ declare class QueryLog {
4916
5012
  type MergeQuery<T extends PickQueryMetaResultReturnTypeWithDataWindows, Q extends PickQueryMetaResultReturnTypeWithDataWindows> = {
4917
5013
  [K in keyof T]: K extends 'meta' ? {
4918
5014
  [K in keyof T['meta'] | keyof Q['meta']]: K extends 'selectable' ? MergeObjects<T['meta']['selectable'], Q['meta']['selectable']> : K extends keyof Q['meta'] ? Q['meta'][K] : T['meta'][K];
4919
- } : K extends 'result' ? MergeQueryResult<T, Q> : K extends 'returnType' ? QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType'] : K extends 'then' ? QueryThen<GetQueryResult<QueryReturnType extends Q['returnType'] ? T : Q, MergeQueryResult<T, Q>>> : K extends 'windows' ? MergeObjects<T['windows'], Q['windows']> : K extends 'withData' ? MergeObjects<T['withData'], Q['withData']> : T[K];
5015
+ } : K extends 'result' ? MergeQueryResult<T, Q> : K extends 'returnType' ? Q['returnType'] extends undefined ? T['returnType'] : Q['returnType'] : K extends 'then' ? QueryThen<GetQueryResult<QueryReturnType extends Q['returnType'] ? T : Q, MergeQueryResult<T, Q>>> : K extends 'windows' ? MergeObjects<T['windows'], Q['windows']> : K extends 'withData' ? MergeObjects<T['withData'], Q['withData']> : T[K];
4920
5016
  };
4921
5017
  type MergeQueryResult<T extends PickQueryMetaResult, Q extends PickQueryMetaResult> = T['meta']['hasSelect'] extends true ? Q['meta']['hasSelect'] extends true ? {
4922
5018
  [K in keyof T['result'] | keyof Q['result']]: K extends keyof Q['result'] ? Q['result'][K] : T['result'][K];
@@ -4938,7 +5034,9 @@ type SelectArgs<T extends SelectSelf> = ('*' | keyof T['meta']['selectable'])[];
4938
5034
  interface SelectAsArg<T extends SelectSelf> {
4939
5035
  [K: string]: keyof T['meta']['selectable'] | Expression | ((q: {
4940
5036
  [K in keyof T]: K extends keyof T['relations'] ? T['relations'][K]['relationConfig']['methodQuery'] : T[K];
4941
- }) => QueryBase | Expression);
5037
+ }) => (QueryBase & {
5038
+ returnType: Exclude<QueryReturnType, 'rows'>;
5039
+ }) | Expression);
4942
5040
  }
4943
5041
  type SelectResult<T extends SelectSelf, Columns extends PropertyKey[]> = {
4944
5042
  [K in keyof T]: K extends 'result' ? ('*' extends Columns[number] ? {
@@ -4967,9 +5065,9 @@ type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey
4967
5065
  selectable: SelectAsSelectable<Obj>;
4968
5066
  } : K extends 'result' ? // Combine previously selected items, all columns if * was provided,
4969
5067
  {
4970
- [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['column'] : K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : never;
5068
+ [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]> : K extends Columns[number] ? T['meta']['selectable'][K]['column'] : never;
4971
5069
  } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, {
4972
- [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['column'] : K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : never;
5070
+ [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]> : K extends Columns[number] ? T['meta']['selectable'][K]['column'] : never;
4973
5071
  } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
4974
5072
  };
4975
5073
  type SelectAsSelectable<Arg> = {
@@ -4991,11 +5089,16 @@ type SelectAsSelectable<Arg> = {
4991
5089
  } : never;
4992
5090
  }[keyof Arg];
4993
5091
  type SelectAsValueResult<T extends SelectSelf, Arg> = Arg extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Arg]['column'] : Arg extends Expression ? Arg['result']['value'] : Arg extends (q: never) => QueryBase ? SelectSubQueryResult<ReturnType<Arg>> : Arg extends (q: never) => Expression ? ReturnType<Arg>['result']['value'] : Arg extends (q: never) => QueryBase | Expression ? SelectSubQueryResult<Exclude<ReturnType<Arg>, Expression>> | Exclude<ReturnType<Arg>, QueryBase>['result']['value'] : never;
4994
- type SelectSubQueryResult<Arg extends SelectSelf> = QueryReturnsAll<Arg['returnType']> extends true ? ColumnsShapeToObjectArray<Arg['result']> : Arg['returnType'] extends 'value' | 'valueOrThrow' ? Arg['result']['value'] : Arg['returnType'] extends 'pluck' ? ColumnsShapeToPluck<Arg['result']> : Arg['returnType'] extends 'one' ? ColumnsShapeToNullableObject<Arg['result']> : ColumnsShapeToObject<Arg['result']>;
5092
+ type SelectSubQueryResult<Arg extends SelectSelf> = Arg['returnType'] extends undefined | 'all' ? ColumnsShapeToObjectArray<Arg['result']> : Arg['returnType'] extends 'value' | 'valueOrThrow' ? Arg['result']['value'] : Arg['returnType'] extends 'pluck' ? ColumnsShapeToPluck<Arg['result']> : Arg['returnType'] extends 'one' ? ColumnsShapeToNullableObject<Arg['result']> : ColumnsShapeToObject<Arg['result']>;
4995
5093
  declare const addParserForRawExpression: (q: PickQueryQ, key: string | getValueKey, raw: Expression) => void;
4996
- declare const addParserForSelectItem: <T extends PickQueryMeta>(q: T, as: string | getValueKey | undefined, key: string, arg: SelectableOrExpression<T> | Query) => string | Expression | Query;
4997
- declare const processSelectArg: <T extends SelectSelf>(q: T, as: string | undefined, arg: SelectArg<T>, columnAs?: string | getValueKey) => SelectItem | undefined;
4998
- declare const setParserForSelectedString: (q: PickQueryQ, arg: string, as: string | getValueKey | undefined, columnAs?: string | getValueKey) => string;
5094
+ interface QueryBatchResult {
5095
+ data: any;
5096
+ parent: any;
5097
+ key: PropertyKey;
5098
+ }
5099
+ declare const addParserForSelectItem: <T extends PickQueryMeta>(q: T, as: string | getValueKey | undefined, key: string, arg: SelectableOrExpression<T> | Query) => string | Expression | Query | undefined;
5100
+ declare const processSelectArg: <T extends SelectSelf>(q: T, as: string | undefined, arg: SelectArg<T>, columnAs?: string | getValueKey) => SelectItem | undefined | false;
5101
+ declare const setParserForSelectedString: (q: PickQueryQAndInternal, arg: string, as: string | getValueKey | undefined, columnAs?: string | getValueKey) => string | undefined;
4999
5102
  declare const getShapeFromSelect: (q: QueryBase, isSubQuery?: boolean) => QueryColumns;
5000
5103
  declare function _querySelect<T extends SelectSelf, Columns extends SelectArgs<T>>(q: T, columns: Columns): SelectResult<T, Columns>;
5001
5104
  declare function _querySelect<T extends SelectSelf, Obj extends SelectAsArg<T>>(q: T, obj: Obj): SelectResultObj<T, Obj>;
@@ -5225,7 +5328,7 @@ declare class SqlMethod<ColumnTypes> {
5225
5328
  * @return object that has `type` and `values` methods
5226
5329
  */
5227
5330
  sql<T = unknown>(this: PickQueryColumnTypes, ...args: StaticSQLArgs): RawSQL<QueryColumn<T>, ColumnTypes>;
5228
- sql<T = unknown>(this: PickQueryColumnTypes, ...args: [DynamicSQLArg]): DynamicRawSQL<QueryColumn<T>, ColumnTypes>;
5331
+ sql<T = unknown>(this: PickQueryColumnTypes, ...args: [DynamicSQLArg<QueryColumn<T>>]): DynamicRawSQL<QueryColumn<T>, ColumnTypes>;
5229
5332
  }
5230
5333
 
5231
5334
  interface WithArgsOptions {
@@ -5439,7 +5542,7 @@ type UpdateData<T extends UpdateSelf> = {
5439
5542
  [K in keyof T['inputType'] | keyof T['relations']]?: K extends keyof T['inputType'] ? UpdateColumn<T, K> : UpdateRelationData<T, T['relations'][K]['relationConfig']>;
5440
5543
  };
5441
5544
  type UpdateColumn<T extends UpdateSelf, Key extends keyof T['inputType']> = T['inputType'][Key] | QueryOrExpression<T['inputType'][Key]> | ((q: T) => QueryOrExpression<T['inputType'][Key]>);
5442
- type UpdateRelationData<T extends UpdateSelf, Rel extends RelationConfigBase> = QueryReturnsAll<T['returnType']> extends true ? Rel['dataForUpdate'] : Rel['one'] extends true ? Rel['dataForUpdate'] | Rel['dataForUpdateOne'] : Rel['dataForUpdate'] & Rel['dataForUpdateOne'];
5545
+ type UpdateRelationData<T extends UpdateSelf, Rel extends RelationConfigBase> = T['returnType'] extends undefined | 'all' ? Rel['dataForUpdate'] : Rel['one'] extends true ? Rel['dataForUpdate'] | Rel['dataForUpdateOne'] : Rel['dataForUpdate'] & Rel['dataForUpdateOne'];
5443
5546
  type UpdateArg<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? UpdateData<T> : never;
5444
5547
  type UpdateRawArgs<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? SQLQueryArgs : never;
5445
5548
  type UpdateResult<T extends UpdateSelf> = T['meta']['hasSelect'] extends true ? SetQueryKind<T, 'update'> : SetQueryReturnsRowCount<T, 'update'>;
@@ -6327,10 +6430,10 @@ declare class QueryMap {
6327
6430
  *
6328
6431
  * @param fn - function to transform an individual record
6329
6432
  */
6330
- map<T extends Query, Result extends RecordUnknown>(this: T, fn: (input: QueryReturnsAll<T['returnType']> extends true ? T['then'] extends QueryThen<(infer Data)[]> ? Data : never : T['then'] extends QueryThen<infer Data> ? Data : never) => Result): {
6433
+ map<T extends Query, Result extends RecordUnknown>(this: T, fn: (input: T['returnType'] extends undefined | 'all' ? T['then'] extends QueryThen<(infer Data)[]> ? Data : never : T['then'] extends QueryThen<infer Data> ? Data : never) => Result): {
6331
6434
  [K in keyof T]: K extends 'result' ? {
6332
6435
  [K in keyof Result]: QueryColumn<Result[K]>;
6333
- } : K extends 'then' ? QueryThen<QueryReturnsAll<T['returnType']> extends true ? Result[] : Result> : T[K];
6436
+ } : K extends 'then' ? QueryThen<T['returnType'] extends undefined | 'all' ? Result[] : Result> : T[K];
6334
6437
  };
6335
6438
  }
6336
6439
 
@@ -6352,11 +6455,13 @@ type OrderArg<T extends OrderArgSelf> = OrderArgKey<T> | OrderArgTsQuery<T> | {
6352
6455
  } | Expression;
6353
6456
  type OrderArgs<T extends OrderArgSelf> = OrderArg<T>[];
6354
6457
  type OrderArgTsQuery<T extends OrderArgSelf> = string | undefined extends T['meta']['tsQuery'] ? never : Exclude<T['meta']['tsQuery'], undefined>;
6355
- type OrderArgKey<T extends OrderArgSelf> = keyof T['meta']['selectable'] | {
6356
- [K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
6458
+ type OrderArgKey<T extends OrderArgSelf> = {
6459
+ [K in keyof T['meta']['selectable']]: T['meta']['selectable'][K]['column']['queryType'] extends undefined ? never : K;
6460
+ }[keyof T['meta']['selectable']] | {
6461
+ [K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' | 'runtimeComputed' ? never : K;
6357
6462
  }[keyof T['result']];
6358
6463
  type GroupArgs<T extends PickQueryResult> = ({
6359
- [K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
6464
+ [K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' | 'runtimeComputed' ? never : K;
6360
6465
  }[keyof T['result']] | Expression)[];
6361
6466
  interface QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Result> {
6362
6467
  <Q extends {
@@ -6935,14 +7040,14 @@ declare class QueryMethods<ColumnTypes> {
6935
7040
  }
6936
7041
 
6937
7042
  declare const queryMethodByReturnType: {
6938
- [K in QueryReturnType]: 'query' | 'arrays';
7043
+ [K in string]: 'query' | 'arrays';
6939
7044
  };
6940
7045
  declare class Then {
6941
7046
  catch(this: Query, fn: (reason: any) => unknown): Promise<unknown>;
6942
7047
  }
6943
- declare const handleResult: CommonQueryData['handleResult'];
6944
- declare const parseResult: (q: Query, parsers: ColumnsParsers | undefined, returnType: QueryReturnType | undefined, result: QueryResult, isSubQuery?: boolean) => unknown;
6945
- declare const parseRecord: (parsers: ColumnsParsers, row: any) => any;
7048
+ declare const handleResult: HandleResult;
7049
+ declare const parseRecord: (parsers: ColumnsParsers, row: any) => unknown;
7050
+ declare const filterResult: (q: Query, returnType: QueryReturnType, queryResult: QueryResult, result: unknown, tempColumns: Set<string> | undefined, hasAfterHook?: unknown) => unknown;
6946
7051
 
6947
7052
  declare function queryJson<T>(self: T, coalesce?: boolean): SetQueryReturnsColumnOptional<T, QueryColumn<string>>;
6948
7053
 
@@ -7082,20 +7187,9 @@ type SelectableOrExpressionOfType<T extends PickQueryMeta, C extends PickType> =
7082
7187
  interface QueryWithTable extends Query {
7083
7188
  table: string;
7084
7189
  }
7085
- declare const queryTypeWithLimitOne: {
7086
- all: true | undefined;
7087
- one: true | undefined;
7088
- oneOrThrow: true | undefined;
7089
- rows: true | undefined;
7090
- pluck: true | undefined;
7091
- value: true | undefined;
7092
- valueOrThrow: true | undefined;
7093
- rowCount: true | undefined;
7094
- void: true | undefined;
7095
- };
7190
+ declare const queryTypeWithLimitOne: RecordKeyTrue;
7096
7191
  declare const isQueryReturnsAll: (q: Query) => boolean;
7097
- type QueryReturnsAll<T extends QueryReturnType> = QueryReturnType extends T ? true : T extends 'all' ? true : false;
7098
- type GetQueryResult<T extends PickQueryReturnType, Result extends QueryColumns> = QueryReturnsAll<T['returnType']> extends true ? ColumnShapeOutput<Result>[] : T['returnType'] extends 'one' ? ColumnShapeOutput<Result> | undefined : T['returnType'] extends 'oneOrThrow' ? ColumnShapeOutput<Result> : T['returnType'] extends 'value' ? Result['value']['outputType'] | undefined : T['returnType'] extends 'valueOrThrow' ? Result['value']['outputType'] : T['returnType'] extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : T['returnType'] extends 'pluck' ? Result['pluck']['outputType'][] : T['returnType'] extends 'rowCount' ? number : void;
7192
+ type GetQueryResult<T extends PickQueryReturnType, Result extends QueryColumns> = T['returnType'] extends undefined | 'all' ? ColumnShapeOutput<Result>[] : T['returnType'] extends 'one' ? ColumnShapeOutput<Result> | undefined : T['returnType'] extends 'oneOrThrow' ? ColumnShapeOutput<Result> : T['returnType'] extends 'value' ? Result['value']['outputType'] | undefined : T['returnType'] extends 'valueOrThrow' ? Result['value']['outputType'] : T['returnType'] extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : T['returnType'] extends 'pluck' ? Result['pluck']['outputType'][] : T['returnType'] extends 'rowCount' ? number : void;
7099
7193
  type AddQuerySelect<T extends PickQueryMetaResultReturnType, Result extends QueryColumns> = {
7100
7194
  [K in keyof T]: K extends 'result' ? {
7101
7195
  [K in (T['meta']['hasSelect'] extends true ? keyof T['result'] : never) | keyof Result]: K extends keyof Result ? Result[K] : K extends keyof T['result'] ? T['result'][K] : never;
@@ -7669,6 +7763,7 @@ declare abstract class VirtualColumn<Schema extends ColumnSchemaConfig, InputSch
7669
7763
  }
7670
7764
 
7671
7765
  declare class UnknownColumn<Schema extends ColumnSchemaConfig> extends VirtualColumn<Schema> {
7766
+ static instance: UnknownColumn<DefaultSchemaConfig>;
7672
7767
  constructor(schema: Schema);
7673
7768
  }
7674
7769
 
@@ -7773,23 +7868,6 @@ declare const testTransaction: {
7773
7868
  close(arg: Arg): Promise<void>;
7774
7869
  };
7775
7870
 
7776
- interface ComputedColumnsBase<T extends PickQueryTableMetaShape> {
7777
- [K: string]: (q: T) => Expression;
7778
- }
7779
- type QueryWithComputed<T extends PickQueryTableMetaShape, Computed extends ComputedColumnsBase<T>, Shape extends QueryColumns = {
7780
- [K in keyof Computed]: ReturnType<Computed[K]>['result']['value'];
7781
- }> = {
7782
- [K in keyof T]: K extends 'shape' ? T['shape'] & Shape : K extends 'meta' ? T['meta'] & {
7783
- selectable: SelectableFromShape<Shape, T['table']>;
7784
- } : T[K];
7785
- };
7786
- declare module 'orchid-core' {
7787
- interface ColumnDataBase {
7788
- computed?: Expression;
7789
- }
7790
- }
7791
- declare function addComputedColumns<T extends PickQueryTableMetaShape, Computed extends ComputedColumnsBase<T>>(q: T, computed: Computed): QueryWithComputed<T, Computed>;
7792
-
7793
7871
  /**
7794
7872
  * Result type for `columnInfo` method.
7795
7873
  * Sets query kind to 'columnInfo', returns a single value (may return undefined),
@@ -7886,4 +7964,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
7886
7964
  */
7887
7965
  declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
7888
7966
 
7889
- export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumnsBase, CopyOptions, CopyQueryData, Create, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbDomainArg, DbDomainArgRecord, DbExtension, DbOptions, DbResult, DbSharedOptions, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DecimalColumnData, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, FromArg, FromMethods, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArgs, Having, HavingItem, HookAction, HookSelect, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictMerge, OnConflictQueryBuilder, OnConflictSet, OnConflictTarget, OnMethods, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryColumnTypes, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryMetaWithDataColumnTypes, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryResultColumnTypes, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBeforeHook, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryInternal, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectArgs, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SelectableOrExpressions, SerialColumn, SerialColumnData, SetQueryKind, SetQueryKindResult, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsAllKindResult, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnKindResult, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneKindResult, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsPluckColumnKindResult, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, TableDataFn, TableDataInput, TableDataItem, TableDataItemsUniqueColumnTuples, TableDataItemsUniqueColumns, TableDataItemsUniqueConstraints, TableDataMethods, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArgs, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, WithArgsOptions, WithDataBase, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, WrapQueryArg, XMLColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseResult, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resolveSubQueryCallback, rollbackSql, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
7967
+ export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumn, ComputedColumns, ComputedColumnsFromOptions, ComputedMethods, ComputedOptionsFactory, CopyOptions, CopyQueryData, Create, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbDomainArg, DbDomainArgRecord, DbExtension, DbOptions, DbResult, DbSharedOptions, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DecimalColumnData, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, FromArg, FromMethods, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArgs, HandleResult, Having, HavingItem, HookAction, HookSelectArg, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgToQuery, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictMerge, OnConflictQueryBuilder, OnConflictSet, OnConflictTarget, OnMethods, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryColumnTypes, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryMetaWithDataColumnTypes, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryResultColumnTypes, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBatchResult, QueryBeforeHook, QueryComputedArg, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryInternal, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryScopeData, QueryScopes, QuerySourceItem, QueryUpsertOrCreate, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RuntimeComputedQueryColumn, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectArgs, SelectAs, SelectAsValue, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SelectableOrExpressions, SerialColumn, SerialColumnData, SetQueryKind, SetQueryKindResult, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsAllKindResult, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnKindResult, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneKindResult, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsPluckColumnKindResult, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, TableDataFn, TableDataInput, TableDataItem, TableDataItemsUniqueColumnTuples, TableDataItemsUniqueColumns, TableDataItemsUniqueConstraints, TableDataMethods, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArgs, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, WithArgsOptions, WithConfigs, WithDataBase, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, WrapQueryArg, XMLColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processComputedBatches, processComputedResult, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resolveSubQueryCallback, rollbackSql, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };