pqb 0.13.3 → 0.14.1

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, AdapterBase, QueryInput, Sql, ColumnTypesBase, ColumnShapeOutput, DefaultSelectColumns, DbBase, QueryThen, QueryCatch, TransactionState, QueryBaseCommon, ColumnsShapeBase, QueryInternal, QueryMetaBase, EmptyObject, RawExpression, ColumnTypeBase, MaybeArray, ColumnsParsers, getValueKey, StringKey, ColumnOutput, NullableColumn, TemplateLiteralArgs, EmptyTuple, SetOptional, MergeObjects, CoalesceString, QueryCommon, Spread, BaseNumberData, Code, ColumnWithDefault, numberTypeMethods, BaseStringData, PrimaryKeyColumn, DateTypeMethods, DateColumnData, EncodeColumn, ParseColumn, JSONTypeAny, record, ArrayMethodsData, arrayMethods, ForeignKeyTable, name, ColumnNameOfTable, ColumnDataBase, BaseOperators, ValidationContext, MessageParam } from 'orchid-core';
2
+ import { QueryResultRow, AdapterBase, QueryInput, Sql, ColumnTypesBase, ColumnShapeOutput, DefaultSelectColumns, DbBase, QueryThen, QueryCatch, TransactionState, QueryBaseCommon, ColumnsShapeBase, QueryInternal, QueryMetaBase, EmptyObject, Expression, ColumnTypeBase, MaybeArray, ColumnsParsers, getValueKey, StringKey, ColumnOutput, NullableColumn, TemplateLiteralArgs, EmptyTuple, SetOptional, MergeObjects, RawSQLBase, RawSQLArgs, CoalesceString, QueryCommon, Spread, Code, ArrayMethodsData, arrayMethods, JSONTypeAny, record, BaseStringData, PrimaryKeyColumn, ForeignKeyTable, name, ColumnNameOfTable, BaseNumberData, ColumnWithDefault, numberTypeMethods, DateTypeMethods, DateColumnData, EncodeColumn, ParseColumn, ColumnDataBase, BaseOperators, ValidationContext, MessageParam } from 'orchid-core';
3
3
  import { PoolConfig, Pool, PoolClient } from 'pg';
4
4
  import { inspect } from 'util';
5
5
  import { AsyncLocalStorage } from 'node:async_hooks';
@@ -125,7 +125,7 @@ type DbTableOptions = {
125
125
  snakeCase?: boolean;
126
126
  } & QueryLogOptions;
127
127
  declare const anyShape: Record<string, ColumnType<unknown, orchid_core.BaseOperators, unknown>>;
128
- interface Db<Table extends string | undefined = undefined, Shape extends ColumnsShape = Record<string, never>, Relations extends Query['relations'] = Query['relations'], CT extends ColumnTypesBase = DefaultColumnTypes, Data = Pick<ColumnShapeOutput<Shape>, DefaultSelectColumns<Shape>[number]>[]> extends DbBase<Adapter, Table, Shape, CT>, QueryMethods {
128
+ interface Db<Table extends string | undefined = undefined, Shape extends ColumnsShape = Record<string, never>, Relations extends Query['relations'] = Query['relations'], CT extends ColumnTypesBase = DefaultColumnTypes, Data = Pick<ColumnShapeOutput<Shape>, DefaultSelectColumns<Shape>[number]>[]> extends DbBase<Adapter, Table, Shape, CT>, QueryMethods<CT> {
129
129
  new (adapter: Adapter, queryBuilder: Db<Table, Shape, Relations, CT>, table?: Table, shape?: Shape, options?: DbTableOptions): this;
130
130
  queryBuilder: Db;
131
131
  whereQueryBuilder: Query['whereQueryBuilder'];
@@ -293,7 +293,7 @@ declare const checkIfASimpleQuery: (q: Query) => boolean;
293
293
  type WithItem = [
294
294
  as: string,
295
295
  options: WithOptions,
296
- query: Query | RawExpression
296
+ query: Query | Expression
297
297
  ];
298
298
  type WithOptions = {
299
299
  columns?: string[];
@@ -341,8 +341,8 @@ type JsonItem<As extends string = string, Type extends ColumnTypeBase = ColumnTy
341
341
  ];
342
342
  };
343
343
  type SelectItem = string | RelationQuery | AggregateItem | {
344
- selectAs: Record<string, string | Query | RawExpression>;
345
- } | SelectFunctionItem | JsonItem | RawExpression;
344
+ selectAs: Record<string, string | Query | Expression>;
345
+ } | SelectFunctionItem | JsonItem | Expression;
346
346
  type SelectFunctionItem = {
347
347
  function: string;
348
348
  arguments: SelectItem[];
@@ -353,31 +353,31 @@ type SimpleJoinItem = {
353
353
  type: string;
354
354
  args: [relation: string] | [
355
355
  arg: string | QueryWithTable,
356
- conditions: Record<string, string | RawExpression> | RawExpression | ((q: unknown) => QueryBase) | true
356
+ conditions: Record<string, string | Expression> | Expression | ((q: unknown) => QueryBase) | true
357
357
  ] | [
358
358
  arg: string | QueryWithTable,
359
- leftColumn: string | RawExpression,
360
- rightColumn: string | RawExpression
359
+ leftColumn: string | Expression,
360
+ rightColumn: string | Expression
361
361
  ] | [
362
362
  arg: string | QueryWithTable,
363
- leftColumn: string | RawExpression,
363
+ leftColumn: string | Expression,
364
364
  op: string,
365
- rightColumn: string | RawExpression
365
+ rightColumn: string | Expression
366
366
  ];
367
367
  isSubQuery: boolean;
368
368
  };
369
369
  type JoinLateralItem = [type: string, joined: Query, as: string];
370
- type WhereItem = (Omit<Record<string, unknown | Record<string, unknown | Query | RawExpression> | RawExpression>, 'NOT' | 'AND' | 'OR' | 'IN' | 'EXISTS' | 'ON' | 'ON_JSON_PATH_EQUALS'> & {
370
+ type WhereItem = (Omit<Record<string, unknown | Record<string, unknown | Query | Expression> | Expression>, 'NOT' | 'AND' | 'OR' | 'IN' | 'EXISTS' | 'ON' | 'ON_JSON_PATH_EQUALS'> & {
371
371
  NOT?: MaybeArray<WhereItem>;
372
372
  AND?: MaybeArray<WhereItem>;
373
373
  OR?: MaybeArray<WhereItem>[];
374
374
  IN?: MaybeArray<WhereInItem>;
375
375
  EXISTS?: MaybeArray<SimpleJoinItem['args']>;
376
376
  ON?: WhereOnItem | WhereJsonPathEqualsItem;
377
- }) | ((q: unknown) => QueryBase) | Query | RawExpression;
377
+ }) | ((q: unknown) => QueryBase) | Query | Expression;
378
378
  type WhereInItem = {
379
379
  columns: string[];
380
- values: unknown[][] | Query | RawExpression;
380
+ values: unknown[][] | Query | Expression;
381
381
  };
382
382
  type WhereJsonPathEqualsItem = [
383
383
  leftColumn: string,
@@ -407,8 +407,8 @@ type AggregateItemOptions = {
407
407
  window?: WindowItem;
408
408
  };
409
409
  type SortDir = 'ASC' | 'DESC' | 'ASC NULLS FIRST' | 'DESC NULLS LAST';
410
- type OrderItem = string | Record<string, SortDir> | RawExpression;
411
- type AggregateItemArg = Expression | Record<string, Expression> | [Expression, string];
410
+ type OrderItem = string | Record<string, SortDir> | Expression;
411
+ type AggregateItemArg = SelectableOrExpression | Record<string, SelectableOrExpression> | [SelectableOrExpression, string];
412
412
  type AggregateItem = {
413
413
  function: string;
414
414
  arg?: AggregateItemArg;
@@ -420,16 +420,16 @@ type ColumnOperators<S extends SelectableBase, Column extends keyof S> = {
420
420
  type HavingItemObject = Record<string, unknown>;
421
421
  type HavingItem = Record<string, HavingItemObject> | {
422
422
  count?: number | HavingItemObject;
423
- } | Query | RawExpression;
424
- type WindowItem = Record<string, WindowDeclaration | RawExpression>;
423
+ } | Query | Expression;
424
+ type WindowItem = Record<string, WindowDeclaration | Expression>;
425
425
  type WindowDeclaration = {
426
- partitionBy?: Expression | Expression[];
426
+ partitionBy?: SelectableOrExpression | SelectableOrExpression[];
427
427
  order?: OrderItem;
428
428
  };
429
- type UnionItem = Query | RawExpression;
429
+ type UnionItem = Query | Expression;
430
430
  type UnionKind = 'UNION' | 'UNION ALL' | 'INTERSECT' | 'INTERSECT ALL' | 'EXCEPT' | 'EXCEPT ALL';
431
- type OnConflictItem = string | string[] | RawExpression;
432
- type OnConflictMergeUpdate = string | string[] | Record<string, unknown> | RawExpression;
431
+ type OnConflictItem = string | string[] | Expression;
432
+ type OnConflictMergeUpdate = string | string[] | Record<string, unknown> | Expression;
433
433
 
434
434
  type JoinedShapes = Record<string, ColumnsShapeBase>;
435
435
  type JoinedParsers = Record<string, ColumnsParsers>;
@@ -457,10 +457,10 @@ type CommonQueryData = {
457
457
  schema?: string;
458
458
  select?: SelectItem[];
459
459
  as?: string;
460
- from?: string | Query | RawExpression;
460
+ from?: string | Query | Expression;
461
461
  and?: WhereItem[];
462
462
  or?: WhereItem[][];
463
- coalesceValue?: unknown | RawExpression;
463
+ coalesceValue?: unknown | Expression;
464
464
  parsers?: ColumnsParsers;
465
465
  notFoundDefault?: unknown;
466
466
  defaults?: Record<string, unknown>;
@@ -486,10 +486,10 @@ type CommonQueryData = {
486
486
  };
487
487
  type SelectQueryData = CommonQueryData & {
488
488
  type: undefined;
489
- distinct?: Expression[];
489
+ distinct?: SelectableOrExpression[];
490
490
  fromOnly?: boolean;
491
491
  join?: JoinItem[];
492
- group?: (string | RawExpression)[];
492
+ group?: (string | Expression)[];
493
493
  having?: HavingItem[];
494
494
  havingOr?: HavingItem[][];
495
495
  window?: WindowItem[];
@@ -504,7 +504,7 @@ type SelectQueryData = CommonQueryData & {
504
504
  offset?: number;
505
505
  for?: {
506
506
  type: 'UPDATE' | 'NO KEY UPDATE' | 'SHARE' | 'KEY SHARE';
507
- tableNames?: string[] | RawExpression;
507
+ tableNames?: string[] | Expression;
508
508
  mode?: 'NO WAIT' | 'SKIP LOCKED';
509
509
  };
510
510
  [getValueKey]?: ColumnTypeBase;
@@ -512,7 +512,7 @@ type SelectQueryData = CommonQueryData & {
512
512
  type InsertQueryData = CommonQueryData & {
513
513
  type: 'insert';
514
514
  columns: string[];
515
- values: unknown[][] | MaybeArray<RawExpression> | {
515
+ values: unknown[][] | MaybeArray<Expression> | {
516
516
  from: Query;
517
517
  values?: unknown[][];
518
518
  };
@@ -527,12 +527,12 @@ type InsertQueryData = CommonQueryData & {
527
527
  update?: OnConflictMergeUpdate;
528
528
  };
529
529
  };
530
- type UpdateQueryDataObject = Record<string, RawExpression | {
530
+ type UpdateQueryDataObject = Record<string, Expression | {
531
531
  op: string;
532
532
  arg: unknown;
533
533
  } | unknown>;
534
534
  type UpdatedAtDataInjector = (data: UpdateQueryDataItem[]) => UpdateQueryDataItem | void;
535
- type UpdateQueryDataItem = UpdateQueryDataObject | RawExpression | UpdatedAtDataInjector;
535
+ type UpdateQueryDataItem = UpdateQueryDataObject | Expression | UpdatedAtDataInjector;
536
536
  type UpdateQueryData = CommonQueryData & {
537
537
  type: 'update';
538
538
  updateData: UpdateQueryDataItem[];
@@ -580,14 +580,14 @@ type QueryData = SelectQueryData | InsertQueryData | UpdateQueryData | DeleteQue
580
580
  declare const cloneQueryArrays: (q: QueryData) => void;
581
581
 
582
582
  type AliasOrTable<T extends Pick<Query, 'table' | 'meta'>> = T['meta']['as'] extends string ? T['meta']['as'] : T['table'] extends string ? T['table'] : never;
583
- type Expression<T extends Query = Query, C extends ColumnTypeBase = ColumnTypeBase> = StringKey<keyof T['selectable']> | RawExpression<C>;
583
+ type SelectableOrExpression<T extends Query = Query, C extends ColumnTypeBase = ColumnTypeBase> = '*' | StringKey<keyof T['selectable']> | Expression<C>;
584
584
  type ExpressionOfType<T extends Query, C extends ColumnTypeBase, Type> = {
585
585
  [K in keyof T['selectable']]: ColumnOutput<T['selectable'][K]['column']> extends Type | null ? K : never;
586
- }[Selectable<T>] | RawExpression<C>;
586
+ }[Selectable<T>] | Expression<C>;
587
587
  type NumberExpression<T extends Query, C extends ColumnTypeBase = ColumnTypeBase> = ExpressionOfType<T, C, number>;
588
588
  type StringExpression<T extends Query, C extends ColumnTypeBase = ColumnTypeBase> = ExpressionOfType<T, C, string>;
589
589
  type BooleanExpression<T extends Query, C extends ColumnTypeBase = ColumnTypeBase> = ExpressionOfType<T, C, boolean>;
590
- type ExpressionOutput<T extends Query, Expr extends Expression<T>> = Expr extends keyof T['selectable'] ? T['selectable'][Expr]['column'] : Expr extends RawExpression<infer ColumnTypeBase> ? ColumnTypeBase : never;
590
+ type ExpressionOutput<T extends Query, Expr extends SelectableOrExpression<T>> = Expr extends keyof T['selectable'] ? T['selectable'][Expr]['column'] : Expr extends Expression<infer ColumnTypeBase> ? ColumnTypeBase : never;
591
591
  declare const getClonedQueryData: (query: QueryData) => QueryData;
592
592
  declare const getQueryAs: (q: {
593
593
  table?: string;
@@ -620,16 +620,16 @@ type Resolve = (result: any) => any;
620
620
  type Reject = (error: any) => any;
621
621
  declare class Then {
622
622
  get then(): typeof maybeWrappedThen;
623
- catch(this: Query, fn: (reason: any) => unknown): Promise<any>;
623
+ catch(this: Query, fn: (reason: any) => unknown): Promise<unknown>;
624
624
  }
625
625
  declare const handleResult: CommonQueryData['handleResult'];
626
- declare function maybeWrappedThen(this: Query, resolve?: Resolve, reject?: Reject): Promise<any>;
626
+ declare function maybeWrappedThen(this: Query, resolve?: Resolve, reject?: Reject): Promise<unknown>;
627
627
  declare const parseResult: (q: Query, parsers: ColumnsParsers | undefined, returnType: QueryReturnType | undefined, result: QueryResult, isSubQuery?: boolean) => unknown;
628
628
  declare const parseRecord: (parsers: ColumnsParsers, row: any) => any;
629
629
 
630
630
  type SelectArg<T extends QueryBase> = '*' | StringKey<keyof T['selectable']> | SelectAsArg<T>;
631
631
  type SelectAsArg<T extends QueryBase> = Record<string, SelectAsValue<T>>;
632
- type SelectAsValue<T extends QueryBase> = StringKey<keyof T['selectable']> | RawExpression | ((q: T) => QueryBase) | ((q: T) => RawExpression) | ((q: T) => QueryBase | RawExpression);
632
+ type SelectAsValue<T extends QueryBase> = StringKey<keyof T['selectable']> | Expression | ((q: T) => QueryBase) | ((q: T) => Expression) | ((q: T) => QueryBase | Expression);
633
633
  type SelectObjectResultTuple = [ColumnsShapeBase, SelectableBase];
634
634
  type SelectResult<T extends Query, Args extends SelectArg<T>[], SelectStringsResult extends ColumnsShapeBase = SelectStringArgsResult<T, Args>, StringsKeys extends keyof SelectStringsResult = keyof SelectStringsResult, SelectAsResult extends SelectObjectResultTuple = SpreadSelectObjectArgs<T, Args, [
635
635
  EmptyObject,
@@ -662,12 +662,12 @@ type SelectAsResult<T extends Query, Arg, Result extends SelectObjectResultTuple
662
662
  },
663
663
  Result[1] & AddSelectable
664
664
  ] : Result;
665
- type SelectAsValueResult<T extends Query, Arg extends SelectAsValue<T>> = Arg extends keyof T['selectable'] ? T['selectable'][Arg]['column'] : Arg extends RawExpression ? Arg['__column'] : Arg extends (q: T) => infer R ? R extends QueryBase ? SelectSubQueryResult<R> : R extends RawExpression ? R['__column'] : R extends QueryBase | RawExpression ? SelectSubQueryResult<Exclude<R, RawExpression>> | Exclude<R, QueryBase>['__column'] : never : never;
665
+ type SelectAsValueResult<T extends Query, Arg extends SelectAsValue<T>> = Arg extends keyof T['selectable'] ? T['selectable'][Arg]['column'] : Arg extends Expression ? Arg['_type'] : Arg extends (q: T) => infer R ? R extends QueryBase ? SelectSubQueryResult<R> : R extends Expression ? R['_type'] : R extends QueryBase | Expression ? SelectSubQueryResult<Exclude<R, Expression>> | Exclude<R, QueryBase>['_type'] : never : never;
666
666
  type SelectSubQueryResult<Arg extends QueryBase & {
667
667
  [isRequiredRelationKey]?: boolean;
668
668
  }> = QueryReturnsAll<Arg['returnType']> extends true ? ArrayOfColumnsObjects<Arg['result']> : Arg['returnType'] extends 'valueOrThrow' ? Arg['result']['value'] : Arg['returnType'] extends 'pluck' ? PluckResultColumnType<Arg['result']['pluck']> : Arg[isRequiredRelationKey] extends true ? ColumnsObject<Arg['result']> : NullableColumn<ColumnsObject<Arg['result']>>;
669
- declare const addParserForRawExpression: (q: Query, key: string | getValueKey, raw: RawExpression) => void;
670
- declare const addParserForSelectItem: <T extends Query>(q: T, as: string | getValueKey | undefined, key: string, arg: RawExpression | Query | StringKey<keyof T["selectable"]>) => string | RawExpression | Query;
669
+ declare const addParserForRawExpression: (q: Query, key: string | getValueKey, raw: Expression) => void;
670
+ declare const addParserForSelectItem: <T extends Query>(q: T, as: string | getValueKey | undefined, key: string, arg: Query | SelectableOrExpression<T>) => string | Expression | Query;
671
671
  declare const processSelectArg: <T extends Query>(q: T, as: string | undefined, arg: SelectArg<T>, columnAs?: string | getValueKey) => SelectItem;
672
672
  declare const getShapeFromSelect: (q: QueryBase, isSubQuery?: boolean) => ColumnsShapeBase;
673
673
  declare class Select {
@@ -750,7 +750,7 @@ declare class Select {
750
750
  }
751
751
 
752
752
  type FromArgs<T extends Query> = [
753
- first: Query | RawExpression | Exclude<keyof T['withData'], symbol | number>,
753
+ first: Query | Expression | Exclude<keyof T['withData'], symbol | number>,
754
754
  second?: {
755
755
  only?: boolean;
756
756
  }
@@ -805,37 +805,37 @@ declare class From {
805
805
  }
806
806
 
807
807
  type WhereArg<T extends QueryBase> = (Omit<{
808
- [K in keyof T['selectable']]?: T['selectable'][K]['column']['type'] | null | ColumnOperators<T['selectable'], K> | RawExpression;
808
+ [K in keyof T['selectable']]?: T['selectable'][K]['column']['type'] | null | ColumnOperators<T['selectable'], K> | Expression;
809
809
  }, 'NOT' | 'OR' | 'IN' | 'EXISTS'> & {
810
810
  NOT?: MaybeArray<WhereArg<T>>;
811
811
  OR?: MaybeArray<WhereArg<T>>[];
812
812
  IN?: MaybeArray<{
813
813
  columns: (keyof T['selectable'])[];
814
- values: unknown[][] | Query | RawExpression;
814
+ values: unknown[][] | Query | Expression;
815
815
  }>;
816
- }) | QueryBase | RawExpression | ((q: WhereQueryBuilder<T>) => WhereQueryBuilder);
816
+ }) | QueryBase | Expression | ((q: WhereQueryBuilder<T>) => WhereQueryBuilder);
817
817
  type WhereArgs<T extends QueryBase> = WhereArg<T>[] | TemplateLiteralArgs;
818
818
  type WhereInColumn<T extends QueryBase> = keyof T['selectable'] | [keyof T['selectable'], ...(keyof T['selectable'])[]];
819
- type WhereInValues<T extends QueryBase, Column extends WhereInColumn<T>> = Column extends keyof T['selectable'] ? T['selectable'][Column]['column']['type'][] | Query | RawExpression : ({
819
+ type WhereInValues<T extends QueryBase, Column extends WhereInColumn<T>> = Column extends keyof T['selectable'] ? T['selectable'][Column]['column']['type'][] | Query | Expression : ({
820
820
  [I in keyof Column]: Column[I] extends keyof T['selectable'] ? T['selectable'][Column[I]]['column']['type'] : never;
821
821
  } & {
822
822
  length: Column extends {
823
823
  length: number;
824
824
  } ? Column['length'] : never;
825
- })[] | Query | RawExpression;
825
+ })[] | Query | Expression;
826
826
  type WhereResult<T extends QueryBase> = T & {
827
827
  meta: {
828
828
  hasWhere: true;
829
829
  };
830
830
  };
831
831
  type WhereInArg<T extends Pick<Query, 'selectable'>> = {
832
- [K in keyof T['selectable']]?: T['selectable'][K]['column']['type'][] | Query | RawExpression;
832
+ [K in keyof T['selectable']]?: T['selectable'][K]['column']['type'][] | Query | Expression;
833
833
  };
834
834
  declare const addWhere: <T extends Where>(q: T, args: WhereArgs<T>) => WhereResult<T>;
835
835
  declare const addWhereNot: <T extends QueryBase>(q: T, args: WhereArgs<T>) => WhereResult<T>;
836
836
  declare const addOr: <T extends QueryBase>(q: T, args: WhereArg<T>[]) => WhereResult<T>;
837
837
  declare const addOrNot: <T extends QueryBase>(q: T, args: WhereArg<T>[]) => WhereResult<T>;
838
- declare const addWhereIn: <T extends QueryBase>(q: T, and: boolean, arg: unknown, values: unknown[] | unknown[][] | Query | RawExpression | undefined, not?: boolean) => WhereResult<T>;
838
+ declare const addWhereIn: <T extends QueryBase>(q: T, and: boolean, arg: unknown, values: unknown[] | unknown[][] | Query | Expression | undefined, not?: boolean) => WhereResult<T>;
839
839
  declare abstract class Where extends QueryBase {
840
840
  where<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
841
841
  _where<T extends Where>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
@@ -898,24 +898,24 @@ type JoinFirstArg<T extends QueryBase> = Query | keyof T['relations'] | keyof T[
898
898
  type JoinArgs<T extends QueryBase, Arg extends JoinFirstArg<T>> = Arg extends Query ? JoinQueryArgs<T, Arg> : Arg extends keyof T['relations'] ? EmptyTuple : Arg extends keyof T['withData'] ? JoinWithArgs<T, Arg> : never;
899
899
  type JoinSelectable<Q extends Query> = keyof Q['result'] | `${AliasOrTable<Q>}.${StringKey<keyof Q['result']>}`;
900
900
  type JoinQueryArgs<T extends QueryBase, Q extends Query> = [
901
- conditions: Record<JoinSelectable<Q>, Selectable<T> | RawExpression> | RawExpression | true
901
+ conditions: Record<JoinSelectable<Q>, Selectable<T> | Expression> | Expression | true
902
902
  ] | [
903
- leftColumn: JoinSelectable<Q> | RawExpression,
904
- rightColumn: Selectable<T> | RawExpression
903
+ leftColumn: JoinSelectable<Q> | Expression,
904
+ rightColumn: Selectable<T> | Expression
905
905
  ] | [
906
- leftColumn: JoinSelectable<Q> | RawExpression,
906
+ leftColumn: JoinSelectable<Q> | Expression,
907
907
  op: string,
908
- rightColumn: Selectable<T> | RawExpression
908
+ rightColumn: Selectable<T> | Expression
909
909
  ];
910
910
  type JoinWithArgs<T extends QueryBase, W extends keyof T['withData']> = [
911
- conditions: Record<WithSelectable<T, W>, Selectable<T> | RawExpression> | RawExpression
911
+ conditions: Record<WithSelectable<T, W>, Selectable<T> | Expression> | Expression
912
912
  ] | [
913
- leftColumn: WithSelectable<T, W> | RawExpression,
914
- rightColumn: Selectable<T> | RawExpression
913
+ leftColumn: WithSelectable<T, W> | Expression,
914
+ rightColumn: Selectable<T> | Expression
915
915
  ] | [
916
- leftColumn: WithSelectable<T, W> | RawExpression,
916
+ leftColumn: WithSelectable<T, W> | Expression,
917
917
  op: string,
918
- rightColumn: Selectable<T> | RawExpression
918
+ rightColumn: Selectable<T> | Expression
919
919
  ];
920
920
  type JoinResult<T extends Query, Arg extends JoinFirstArg<T>, RequireJoined extends boolean, RequireMain extends boolean, Cb extends (q: never) => {
921
921
  meta: QueryMetaBase;
@@ -1039,7 +1039,7 @@ declare class OnQueryBuilder<S extends QueryBase = QueryBase, J extends QueryBas
1039
1039
  type WithArgsOptions = {
1040
1040
  [K in keyof WithOptions]: K extends 'columns' ? boolean | string[] : WithOptions[K];
1041
1041
  };
1042
- type WithArgs = [string, ColumnsShapeBase, RawExpression] | [string, WithArgsOptions, ColumnsShapeBase, RawExpression] | [string, Query | ((qb: Db) => Query)] | [string, WithArgsOptions, Query | ((qb: Db) => Query)];
1042
+ type WithArgs = [string, ColumnsShapeBase, Expression] | [string, WithArgsOptions, ColumnsShapeBase, Expression] | [string, Query | ((qb: Db) => Query)] | [string, WithArgsOptions, Query | ((qb: Db) => Query)];
1043
1043
  type WithShape<Args extends WithArgs> = Args[1] extends Query ? Args[1]['result'] : Args[1] extends (qb: Db) => Query ? ReturnType<Args[1]>['result'] : Args[2] extends Query ? Args[2]['result'] : Args[2] extends (qb: Db) => Query ? ReturnType<Args[2]>['result'] : Args[1] extends ColumnsShapeBase ? Args[1] : Args[2] extends ColumnsShapeBase ? Args[2] : Args[2] extends (t: ColumnTypes) => ColumnsShapeBase ? ReturnType<Args[2]> extends ColumnsShapeBase ? ReturnType<Args[2]> : never : never;
1044
1044
  type WithResult<T extends Query, Args extends WithArgs, Shape extends ColumnsShapeBase> = AddQueryWith<T, {
1045
1045
  table: Args[0];
@@ -1121,7 +1121,7 @@ type UnionArg<T extends Query> = (Omit<Query, 'result'> & {
1121
1121
  result: {
1122
1122
  [K in keyof T['result']]: Pick<T['result'][K], 'dataType'>;
1123
1123
  };
1124
- }) | RawExpression;
1124
+ }) | Expression;
1125
1125
  declare class Union {
1126
1126
  /**
1127
1127
  * Creates a union query, taking an array or a list of callbacks, builders, or raw statements to build the union statement, with optional boolean `wrap`.
@@ -1437,11 +1437,11 @@ type CreateManyResult<T extends Query> = T extends {
1437
1437
  } ? T : T['returnType'] extends 'one' | 'oneOrThrow' ? SetQueryReturnsAll<T> : T;
1438
1438
  type CreateRawData<T extends Query> = {
1439
1439
  columns: (keyof T['shape'])[];
1440
- values: RawExpression;
1440
+ values: Expression;
1441
1441
  };
1442
1442
  type CreateManyRawData<T extends Query> = {
1443
1443
  columns: (keyof T['shape'])[];
1444
- values: RawExpression[];
1444
+ values: Expression[];
1445
1445
  };
1446
1446
  type RawRequiredColumns<T extends Query> = {
1447
1447
  [K in keyof T['inputType'] as K extends keyof T['meta']['defaults'] ? never : null extends T['inputType'][K] ? never : undefined extends T['inputType'][K] ? never : K]: true;
@@ -1451,7 +1451,7 @@ type CreateRawArgs<T extends Query, Arg extends {
1451
1451
  }> = keyof RawRequiredColumns<T> extends Arg['columns'][number] ? [data: Arg] : [
1452
1452
  `Missing required columns: ${Exclude<StringKey<keyof RawRequiredColumns<T>>, Arg['columns'][number]>}`
1453
1453
  ];
1454
- type OnConflictArg<T extends Query> = keyof T['shape'] | (keyof T['shape'])[] | RawExpression;
1454
+ type OnConflictArg<T extends Query> = keyof T['shape'] | (keyof T['shape'])[] | Expression;
1455
1455
  type CreateCtx = {
1456
1456
  columns: Map<string, number>;
1457
1457
  returnTypeAll?: true;
@@ -1813,7 +1813,7 @@ declare class OnConflictQueryBuilder<T extends Query, Arg extends OnConflictArg<
1813
1813
  *
1814
1814
  * @param update - column, or array of columns, or object for new column values, or raw SQL
1815
1815
  */
1816
- merge(update?: keyof T['shape'] | (keyof T['shape'])[] | Partial<T['inputType']> | RawExpression): T;
1816
+ merge(update?: keyof T['shape'] | (keyof T['shape'])[] | Partial<T['inputType']> | Expression): T;
1817
1817
  }
1818
1818
 
1819
1819
  type UpdateData<T extends Query> = {
@@ -1823,7 +1823,7 @@ type UpdateData<T extends Query> = {
1823
1823
  } : EmptyObject) & {
1824
1824
  __raw?: never;
1825
1825
  };
1826
- type UpdateColumn<T extends Query, Key extends keyof T['inputType']> = T['inputType'][Key] | RawExpression | {
1826
+ type UpdateColumn<T extends Query, Key extends keyof T['inputType']> = T['inputType'][Key] | Expression | {
1827
1827
  [K in keyof Query]: K extends 'then' ? QueryThen<T['inputType'][Key]> : Query[K];
1828
1828
  } | ((q: {
1829
1829
  [K in keyof JsonModifiers]: K extends 'selectable' ? T['selectable'] : T[K];
@@ -1884,7 +1884,7 @@ type UpdateHasAndBelongsToManyData<Rel extends HasAndBelongsToManyRelation> = {
1884
1884
  create?: CreateData<Rel['nestedCreateQuery']>[];
1885
1885
  };
1886
1886
  type UpdateArg<T extends Query> = T['meta']['hasWhere'] extends true ? UpdateData<T> : never;
1887
- type UpdateRawArgs<T extends Query> = T['meta']['hasWhere'] extends true ? [sql: RawExpression] | TemplateLiteralArgs : never;
1887
+ type UpdateRawArgs<T extends Query> = T['meta']['hasWhere'] extends true ? [sql: Expression] | TemplateLiteralArgs : never;
1888
1888
  type UpdateResult<T extends Query> = T['meta']['hasSelect'] extends true ? T : SetQueryReturnsRowCount<T>;
1889
1889
  type ChangeCountArg<T extends Query> = keyof T['shape'] | Partial<Record<keyof T['shape'], number>>;
1890
1890
  type UpdateCtx = {
@@ -2146,14 +2146,14 @@ type ForQueryBuilder<Q extends Query> = Q & {
2146
2146
  _skipLocked<T extends ForQueryBuilder<Q>>(this: T): T;
2147
2147
  };
2148
2148
  declare class For {
2149
- forUpdate<T extends Query>(this: T, tableNames?: string[] | RawExpression): ForQueryBuilder<T>;
2150
- _forUpdate<T extends Query>(this: T, tableNames?: string[] | RawExpression): ForQueryBuilder<T>;
2151
- forNoKeyUpdate<T extends Query>(this: T, tableNames?: string[] | RawExpression): ForQueryBuilder<T>;
2152
- _forNoKeyUpdate<T extends Query>(this: T, tableNames?: string[] | RawExpression): ForQueryBuilder<T>;
2153
- forShare<T extends Query>(this: T, tableNames?: string[] | RawExpression): ForQueryBuilder<T>;
2154
- _forShare<T extends Query>(this: T, tableNames?: string[] | RawExpression): ForQueryBuilder<T>;
2155
- forKeyShare<T extends Query>(this: T, tableNames?: string[] | RawExpression): ForQueryBuilder<T>;
2156
- _forKeyShare<T extends Query>(this: T, tableNames?: string[] | RawExpression): ForQueryBuilder<T>;
2149
+ forUpdate<T extends Query>(this: T, tableNames?: string[] | Expression): ForQueryBuilder<T>;
2150
+ _forUpdate<T extends Query>(this: T, tableNames?: string[] | Expression): ForQueryBuilder<T>;
2151
+ forNoKeyUpdate<T extends Query>(this: T, tableNames?: string[] | Expression): ForQueryBuilder<T>;
2152
+ _forNoKeyUpdate<T extends Query>(this: T, tableNames?: string[] | Expression): ForQueryBuilder<T>;
2153
+ forShare<T extends Query>(this: T, tableNames?: string[] | Expression): ForQueryBuilder<T>;
2154
+ _forShare<T extends Query>(this: T, tableNames?: string[] | Expression): ForQueryBuilder<T>;
2155
+ forKeyShare<T extends Query>(this: T, tableNames?: string[] | Expression): ForQueryBuilder<T>;
2156
+ _forKeyShare<T extends Query>(this: T, tableNames?: string[] | Expression): ForQueryBuilder<T>;
2157
2157
  }
2158
2158
 
2159
2159
  type ColumnInfo = {
@@ -2194,13 +2194,13 @@ declare class Clear {
2194
2194
  }
2195
2195
 
2196
2196
  type HavingArgObject<T extends Query, Agg extends keyof Aggregate1ArgumentTypes<T>> = {
2197
- [Column in Exclude<Aggregate1ArgumentTypes<T>[Agg], RawExpression>]?: T['selectable'][Column]['column']['type'] | (ColumnOperators<T['selectable'], Column> & AggregateOptions<T>);
2197
+ [Column in Exclude<Aggregate1ArgumentTypes<T>[Agg], Expression>]?: T['selectable'][Column]['column']['type'] | (ColumnOperators<T['selectable'], Column> & AggregateOptions<T>);
2198
2198
  };
2199
2199
  type HavingArg<T extends Query = Query> = ({
2200
2200
  [Agg in keyof Aggregate1ArgumentTypes<T>]?: HavingArgObject<T, Agg>;
2201
2201
  } & {
2202
2202
  count?: number | HavingArgObject<T, 'count'>;
2203
- }) | Query | RawExpression;
2203
+ }) | Query | Expression;
2204
2204
  type HavingArgs<T extends Query> = [...args: HavingArg<T>[]] | TemplateLiteralArgs;
2205
2205
  declare class Having {
2206
2206
  having<T extends Query>(this: T, ...args: HavingArgs<T>): T;
@@ -2338,6 +2338,7 @@ type HookAction = 'Create' | 'Update' | 'Delete';
2338
2338
  declare abstract class QueryHooks extends QueryBase {
2339
2339
  /**
2340
2340
  * Run the function before any kind of query.
2341
+ *
2341
2342
  * @param cb - function to call, first argument is a query object
2342
2343
  */
2343
2344
  beforeQuery<T extends QueryHooks>(this: T, cb: QueryBeforeHook): T;
@@ -2346,12 +2347,14 @@ declare abstract class QueryHooks extends QueryBase {
2346
2347
  * Run the function after any kind of query.
2347
2348
  * Enforces wrapping the query into a transaction.
2348
2349
  * The function will run after the query is succeeded, but before the transaction commit.
2350
+ *
2349
2351
  * @param cb - function to call, first argument is the query result of type `unknown`, second argument is a query object
2350
2352
  */
2351
2353
  afterQuery<T extends QueryHooks>(this: T, cb: QueryAfterHook): T;
2352
2354
  _afterQuery<T extends QueryBase>(this: T, cb: QueryAfterHook): T;
2353
2355
  /**
2354
2356
  * Run the function before a `create` kind of query.
2357
+ *
2355
2358
  * @param cb - function to call, first argument is a query object
2356
2359
  */
2357
2360
  beforeCreate<T extends QueryHooks>(this: T, cb: QueryBeforeHook): T;
@@ -2361,6 +2364,8 @@ declare abstract class QueryHooks extends QueryBase {
2361
2364
  * Enforces wrapping the query into a transaction.
2362
2365
  * The function will run after the query is succeeded, but before the transaction commit.
2363
2366
  * Queries inside the function will run in the same transaction as the target query.
2367
+ *
2368
+ * @param select - list of columns to select for the hook
2364
2369
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
2365
2370
  */
2366
2371
  afterCreate<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
@@ -2368,12 +2373,15 @@ declare abstract class QueryHooks extends QueryBase {
2368
2373
  /**
2369
2374
  * Run the function after transaction for a `create` kind of query will be committed.
2370
2375
  * If the query wasn't wrapped in a transaction, will run after the query.
2376
+ *
2377
+ * @param select - list of columns to select for the hook
2371
2378
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
2372
2379
  */
2373
2380
  afterCreateCommit<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
2374
2381
  _afterCreateCommit<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
2375
2382
  /**
2376
2383
  * Run the function before an `update` kind of query.
2384
+ *
2377
2385
  * @param cb - function to call, first argument is a query object
2378
2386
  */
2379
2387
  beforeUpdate<T extends QueryHooks>(this: T, cb: QueryBeforeHook): T;
@@ -2384,6 +2392,8 @@ declare abstract class QueryHooks extends QueryBase {
2384
2392
  * The function will run after the query is succeeded, but before the transaction commit.
2385
2393
  * Queries inside the function will run in the same transaction as the target query.
2386
2394
  * If no records were updated, the hook *won't* run.
2395
+ *
2396
+ * @param select - list of columns to select for the hook
2387
2397
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
2388
2398
  */
2389
2399
  afterUpdate<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
@@ -2392,12 +2402,15 @@ declare abstract class QueryHooks extends QueryBase {
2392
2402
  * Run the function after transaction for an `update` kind of query will be committed.
2393
2403
  * If the query wasn't wrapped in a transaction, will run after the query.
2394
2404
  * If no records were updated, the hook *won't* run.
2405
+ *
2406
+ * @param select - list of columns to select for the hook
2395
2407
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
2396
2408
  */
2397
2409
  afterUpdateCommit<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
2398
2410
  _afterUpdateCommit<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
2399
2411
  /**
2400
2412
  * Run the function before a `create` or an `update` kind of query.
2413
+ *
2401
2414
  * @param cb - function to call, first argument is a query object
2402
2415
  */
2403
2416
  beforeSave<T extends QueryHooks>(this: T, cb: QueryBeforeHook): T;
@@ -2408,6 +2421,8 @@ declare abstract class QueryHooks extends QueryBase {
2408
2421
  * The function will run after the query is succeeded, but before the transaction commit.
2409
2422
  * Queries inside the function will run in the same transaction as the target query.
2410
2423
  * For the `update` query, if no records were updated, the hook *won't* run.
2424
+ *
2425
+ * @param select - list of columns to select for the hook
2411
2426
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
2412
2427
  */
2413
2428
  afterSave<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
@@ -2416,12 +2431,15 @@ declare abstract class QueryHooks extends QueryBase {
2416
2431
  * Run the function after transaction for a `create` or an `update` kind of query will be committed.
2417
2432
  * If the query wasn't wrapped in a transaction, will run after the query.
2418
2433
  * For the `update` query, if no records were updated, the hook *won't* run.
2434
+ *
2435
+ * @param select - list of columns to select for the hook
2419
2436
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
2420
2437
  */
2421
2438
  afterSaveCommit<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
2422
2439
  _afterSaveCommit<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
2423
2440
  /**
2424
2441
  * Run the function before a `delete` kind of query.
2442
+ *
2425
2443
  * @param cb - function to call, first argument is a query object
2426
2444
  */
2427
2445
  beforeDelete<T extends QueryHooks>(this: T, cb: QueryBeforeHook): T;
@@ -2432,6 +2450,8 @@ declare abstract class QueryHooks extends QueryBase {
2432
2450
  * The function will run after the query is succeeded, but before the transaction commit.
2433
2451
  * Queries inside the function will run in the same transaction as the target query.
2434
2452
  * If no records were deleted, the hook *won't* run.
2453
+ *
2454
+ * @param select - list of columns to select for the hook
2435
2455
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
2436
2456
  */
2437
2457
  afterDelete<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
@@ -2440,6 +2460,8 @@ declare abstract class QueryHooks extends QueryBase {
2440
2460
  * Run the function after transaction for a `delete` kind of query will be committed.
2441
2461
  * If the query wasn't wrapped in a transaction, will run after the query.
2442
2462
  * If no records were deleted, the hook *won't* run.
2463
+ *
2464
+ * @param select - list of columns to select for the hook
2443
2465
  * @param cb - function to call, first argument is the query result with selected columns, second argument is a query object
2444
2466
  */
2445
2467
  afterDeleteCommit<T extends QueryHooks, S extends HookSelect<T>>(this: T, select: S, cb: AfterHook<S, T['shape']>): T;
@@ -2538,10 +2560,10 @@ declare class QueryUpsertOrCreate {
2538
2560
  _orCreate<T extends UpsertThis>(this: T, data: UpsertCreateArg<T>): UpsertResult<T>;
2539
2561
  }
2540
2562
 
2541
- type GetArg<T extends QueryBase> = GetStringArg<T> | RawExpression;
2563
+ type GetArg<T extends QueryBase> = GetStringArg<T> | Expression;
2542
2564
  type GetStringArg<T extends QueryBase> = StringKey<keyof T['selectable']>;
2543
- type GetResult<T extends Query, Arg extends GetArg<T>> = Arg extends GetStringArg<T> ? SetQueryReturnsValue<T, Arg> : Arg extends RawExpression ? SetQueryReturnsColumn<T, Arg['__column']> : never;
2544
- type GetResultOptional<T extends Query, Arg extends GetArg<T>> = Arg extends GetStringArg<T> ? SetQueryReturnsValueOptional<T, Arg> : Arg extends RawExpression ? SetQueryReturnsColumnOptional<T, Arg['__column']> : never;
2565
+ type GetResult<T extends Query, Arg extends GetArg<T>> = Arg extends GetStringArg<T> ? SetQueryReturnsValue<T, Arg> : Arg extends Expression ? SetQueryReturnsColumn<T, Arg['_type']> : never;
2566
+ type GetResultOptional<T extends Query, Arg extends GetArg<T>> = Arg extends GetStringArg<T> ? SetQueryReturnsValueOptional<T, Arg> : Arg extends Expression ? SetQueryReturnsColumnOptional<T, Arg['_type']> : never;
2545
2567
  declare class QueryGet {
2546
2568
  /**
2547
2569
  * `.get` returns a single value, it will add `LIMIT 1` to the query, and accepts a column name or a raw expression.
@@ -2584,42 +2606,201 @@ declare class MergeQueryMethods {
2584
2606
  _merge<T extends Query, Q extends Query>(this: T, q: Q): MergeQuery<T, Q>;
2585
2607
  }
2586
2608
 
2587
- type SqlArgs<T extends Query> = SqlColumnArgs<T> | SqlNoColumnArgs;
2588
- type SqlColumnArgs<T extends Query> = [column: ColumnFn<T>, params?: {
2589
- raw?: string;
2590
- values?: Values;
2591
- }];
2592
- type SqlColumnArgsWithSQL<T extends Query> = [column: ColumnFn<T>, params: {
2593
- raw: string;
2594
- }];
2595
- type SqlNoColumnArgs = [params: {
2596
- raw: string;
2597
- values?: Values;
2598
- }] | [params: {
2599
- values: Values;
2600
- }] | TemplateLiteralArgs;
2601
- type Values = Record<string, unknown>;
2602
- type ColumnFn<T extends Query> = (types: T['columnTypes']) => ColumnType;
2603
- type SqlFn<C extends ColumnType> = (...args: TemplateLiteralArgs) => RawExpression<C>;
2604
- type SqlResult<T extends Query, Args extends SqlArgs<T>> = Args extends SqlColumnArgs<T> ? Args extends SqlColumnArgsWithSQL<T> ? RawExpression<ReturnType<Args[0]>> : SqlFn<ReturnType<Args[0]>> : Args extends [{
2605
- raw: string;
2606
- }] | TemplateLiteralArgs ? RawExpression : SqlFn<ColumnType>;
2607
- type RawArgs<CT extends ColumnTypesBase, C extends ColumnType> = [column: (types: CT) => C, sql: string, values?: Record<string, unknown>] | [sql: string, values?: Record<string, unknown>];
2608
- declare class RawSqlMethods {
2609
+ declare class RawSQL<T extends ColumnTypeBase, CT extends ColumnTypesBase = DefaultColumnTypes> extends RawSQLBase<T> {
2610
+ columnTypes: CT;
2611
+ constructor(sql: string | TemplateLiteralArgs, values?: Record<string, unknown> | false, type?: T);
2612
+ toSQL(values: unknown[]): string;
2613
+ }
2614
+ declare const raw: <T = unknown>(...args: RawSQLArgs) => RawSQL<ColumnTypeBase<T, orchid_core.BaseOperators, T, orchid_core.ColumnDataBase>, {
2615
+ timestamps<T_1 extends ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
2616
+ name(name: string): {
2617
+ timestamp(): T_1;
2618
+ };
2619
+ timestamp(): T_1;
2620
+ timestampsSnakeCase(): {
2621
+ createdAt: orchid_core.ColumnWithDefault<T_1, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2622
+ updatedAt: orchid_core.ColumnWithDefault<T_1, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2623
+ };
2624
+ }): {
2625
+ createdAt: orchid_core.ColumnWithDefault<T_1, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2626
+ updatedAt: orchid_core.ColumnWithDefault<T_1, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2627
+ };
2628
+ timestampsSnakeCase<T_2 extends ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
2629
+ name(name: string): {
2630
+ timestamp(): T_2;
2631
+ };
2632
+ timestamp(): T_2;
2633
+ }): {
2634
+ createdAt: orchid_core.ColumnWithDefault<T_2, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2635
+ updatedAt: orchid_core.ColumnWithDefault<T_2, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2636
+ };
2637
+ timestampsNoTZ<T_3 extends ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
2638
+ name(name: string): {
2639
+ timestampNoTZ(): T_3;
2640
+ };
2641
+ timestampNoTZ(): T_3;
2642
+ timestampsNoTZSnakeCase(): {
2643
+ createdAt: orchid_core.ColumnWithDefault<T_3, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2644
+ updatedAt: orchid_core.ColumnWithDefault<T_3, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2645
+ };
2646
+ }): {
2647
+ createdAt: orchid_core.ColumnWithDefault<T_3, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2648
+ updatedAt: orchid_core.ColumnWithDefault<T_3, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2649
+ };
2650
+ timestampsNoTZSnakeCase<T_4 extends ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
2651
+ name(name: string): {
2652
+ timestampNoTZ(): T_4;
2653
+ };
2654
+ timestampNoTZ(): T_4;
2655
+ }): {
2656
+ createdAt: orchid_core.ColumnWithDefault<T_4, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2657
+ updatedAt: orchid_core.ColumnWithDefault<T_4, RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
2658
+ };
2659
+ name: typeof orchid_core.name;
2660
+ sql: {
2661
+ (sql: TemplateStringsArray, ...values: unknown[]): RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>;
2662
+ (sql: string): RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>;
2663
+ (values: Record<string, unknown>, sql: string): RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>;
2664
+ (values: Record<string, unknown>): (strings: TemplateStringsArray, ...values: unknown[]) => RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>;
2665
+ };
2666
+ smallint(): SmallIntColumn;
2667
+ integer(): IntegerColumn;
2668
+ bigint(): BigIntColumn;
2669
+ numeric<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined>(precision?: Precision | undefined, scale?: Scale | undefined): DecimalColumn<Precision, Scale>;
2670
+ decimal<Precision_1 extends number | undefined = undefined, Scale_1 extends number | undefined = undefined>(precision?: Precision_1 | undefined, scale?: Scale_1 | undefined): DecimalColumn<Precision_1, Scale_1>;
2671
+ real(): RealColumn;
2672
+ doublePrecision(): DoublePrecisionColumn;
2673
+ identity(options?: TableData.Identity | undefined): IdentityColumn<IntegerColumn>;
2674
+ smallSerial(): SmallSerialColumn;
2675
+ serial(): SerialColumn;
2676
+ bigSerial(): BigSerialColumn;
2677
+ money(): MoneyColumn;
2678
+ varchar<Limit extends number | undefined = undefined>(limit?: Limit | undefined): VarCharColumn<Limit>;
2679
+ char<Limit_1 extends number | undefined = undefined>(limit?: Limit_1 | undefined): CharColumn<Limit_1>;
2680
+ text: (min: number, max: number) => TextColumn;
2681
+ string: (min: number, max: number) => TextColumn;
2682
+ citext(min: number, max: number): CitextColumn;
2683
+ bytea(): ByteaColumn;
2684
+ date(): DateColumn;
2685
+ timestampNoTZ<Precision_2 extends number>(precision?: Precision_2 | undefined): TimestampColumn<Precision_2>;
2686
+ timestamp<Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined): TimestampTZColumn<number>;
2687
+ time<Precision_4 extends number | undefined = undefined>(precision?: Precision_4 | undefined): TimeColumn<Precision_4>;
2688
+ interval<Fields extends string | undefined = undefined, Precision_5 extends number | undefined = undefined>(fields?: Fields | undefined, precision?: Precision_5 | undefined): IntervalColumn<Fields, Precision_5>;
2689
+ boolean(): BooleanColumn;
2690
+ enum<U extends string, T_5 extends [U, ...U[]]>(dataType: string, type: T_5): EnumColumn<U, T_5>;
2691
+ point(): PointColumn;
2692
+ line(): LineColumn;
2693
+ lseg(): LsegColumn;
2694
+ box(): BoxColumn;
2695
+ path(): PathColumn;
2696
+ polygon(): PolygonColumn;
2697
+ circle(): CircleColumn;
2698
+ cidr(): CidrColumn;
2699
+ inet(): InetColumn;
2700
+ macaddr(): MacAddrColumn;
2701
+ macaddr8(): MacAddr8Column;
2702
+ bit<Length extends number>(length: Length): BitColumn<Length>;
2703
+ bitVarying<Length_1 extends number | undefined = undefined>(length?: Length_1 | undefined): BitVaryingColumn<Length_1>;
2704
+ tsvector(): TsVectorColumn;
2705
+ tsquery(): TsQueryColumn;
2706
+ uuid(): UUIDColumn;
2707
+ xml(): XMLColumn;
2708
+ json<Type extends orchid_core.JSONTypeAny>(schemaOrFn: Type | ((j: {
2709
+ set: <Value extends orchid_core.JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
2710
+ tuple: <T_6 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_6, rest?: Rest) => orchid_core.JSONTuple<T_6, Rest>;
2711
+ union: <T_7 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_7) => orchid_core.JSONUnion<T_7>;
2712
+ any: () => orchid_core.JSONAny;
2713
+ bigint: () => orchid_core.JSONBigInt;
2714
+ boolean: () => orchid_core.JSONBoolean;
2715
+ date: () => orchid_core.JSONDate;
2716
+ nan: () => orchid_core.JSONNaN;
2717
+ never: () => orchid_core.JSONNever;
2718
+ null: () => orchid_core.JSONNull;
2719
+ number: () => orchid_core.JSONNumber;
2720
+ string: () => orchid_core.JSONString;
2721
+ unknown: () => orchid_core.JSONUnknown;
2722
+ array: <Type_1 extends orchid_core.JSONTypeAny>(element: Type_1) => orchid_core.JSONArray<Type_1, "many">;
2723
+ discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends orchid_core.Primitive, Types extends [orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => orchid_core.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types>;
2724
+ enum: <U_1 extends string, T_8 extends [U_1, ...U_1[]]>(options: T_8) => orchid_core.JSONEnum<U_1, T_8>;
2725
+ instanceOf: <T_9 extends new (...args: any[]) => any>(cls: T_9) => orchid_core.JSONInstanceOf<T_9>;
2726
+ intersection: <Left extends orchid_core.JSONTypeAny, Right extends orchid_core.JSONTypeAny>(left: Left, right: Right) => orchid_core.JSONIntersection<Left, Right>;
2727
+ lazy: <T_10 extends orchid_core.JSONTypeAny>(fn: () => T_10) => orchid_core.JSONLazy<T_10>;
2728
+ literal: <T_11 extends orchid_core.Primitive>(value: T_11) => orchid_core.JSONLiteral<T_11>;
2729
+ map: <Key extends orchid_core.JSONTypeAny, Value_1 extends orchid_core.JSONTypeAny>(keyType: Key, valueType: Value_1) => orchid_core.JSONMap<Key, Value_1>;
2730
+ nativeEnum: <T_12 extends orchid_core.EnumLike>(givenEnum: T_12) => orchid_core.JSONNativeEnum<T_12>;
2731
+ nullable: <T_13 extends orchid_core.JSONTypeAny>(type: T_13) => orchid_core.JSONNullable<T_13>;
2732
+ nullish: <T_14 extends orchid_core.JSONTypeAny>(type: T_14) => orchid_core.JSONNullish<T_14>;
2733
+ object: <T_15 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends orchid_core.JSONTypeAny = orchid_core.JSONTypeAny>(shape: T_15) => orchid_core.JSONObject<T_15, UnknownKeys, Catchall, orchid_core.JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_15]: T_15[k_1]["type"]; }> extends infer T_16 extends object ? { [k in keyof T_16]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_15]: T_15[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_15]: T_15[k_1]["type"]; }> extends infer T_19 extends object ? { [k in keyof T_19]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_15]: T_15[k_1]["type"]; }>[k]; } : never) & {
2734
+ [k: string]: Catchall["type"];
2735
+ } extends infer T_17 extends object ? { [k_2 in keyof T_17]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_15]: T_15[k_1]["type"]; }> extends infer T_18 extends object ? { [k in keyof T_18]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_15]: T_15[k_1]["type"]; }>[k]; } : never) & {
2736
+ [k: string]: Catchall["type"];
2737
+ })[k_2]; } : never>;
2738
+ optional: <T_20 extends orchid_core.JSONTypeAny>(type: T_20) => orchid_core.JSONOptional<T_20>;
2739
+ record: typeof orchid_core.record;
2740
+ }) => Type)): JSONColumn<Type>;
2741
+ jsonText(): JSONTextColumn;
2742
+ array<Item extends ColumnType<unknown, orchid_core.BaseOperators, unknown>>(item: Item): ArrayColumn<Item>;
2743
+ type(dataType: string): CustomTypeColumn;
2744
+ domain(dataType: string): DomainColumn;
2745
+ primaryKey(columns: string[], options?: {
2746
+ name?: string | undefined;
2747
+ } | undefined): {};
2748
+ index(columns: orchid_core.MaybeArray<string | IndexColumnOptions>, options?: IndexOptions): {};
2749
+ unique(columns: orchid_core.MaybeArray<string | IndexColumnOptions>, options?: IndexOptions): {};
2750
+ constraint<Table extends string | (() => orchid_core.ForeignKeyTable), Columns extends Table extends () => orchid_core.ForeignKeyTable ? [orchid_core.ColumnNameOfTable<ReturnType<Table>>, ...orchid_core.ColumnNameOfTable<ReturnType<Table>>[]] : [string, ...string[]]>({ name, references, check, dropMode, }: {
2751
+ name?: string | undefined;
2752
+ references?: [columns: string[], fnOrTable: Table, foreignColumns: Columns, options?: ForeignKeyOptions | undefined] | undefined;
2753
+ check?: RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}> | undefined;
2754
+ dropMode?: DropMode | undefined;
2755
+ }): {};
2756
+ foreignKey<Table_1 extends string | (() => orchid_core.ForeignKeyTable), Columns_1 extends Table_1 extends () => orchid_core.ForeignKeyTable ? [orchid_core.ColumnNameOfTable<ReturnType<Table_1>>, ...orchid_core.ColumnNameOfTable<ReturnType<Table_1>>[]] : [string, ...string[]]>(columns: string[], fnOrTable: Table_1, foreignColumns: Columns_1, options?: (ForeignKeyOptions & {
2757
+ name?: string | undefined;
2758
+ dropMode?: DropMode | undefined;
2759
+ }) | undefined): {};
2760
+ check(check: RawSQLBase<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>): {};
2761
+ }>;
2762
+
2763
+ declare class RawSqlMethods<CT extends ColumnTypesBase> {
2609
2764
  /**
2610
- * When there is a need to use a piece of raw SQL, use the `sql` method.
2765
+ * When there is a need to use a piece of raw SQL, use the `sql` method from tables, or a `raw` function imported from `orchid-orm`.
2611
2766
  *
2612
- * To select with a raw SQL, need to specify a column type as a first argument, so the TS could use it to guess the result type of the query:
2767
+ * When selecting a raw SQL, specify a resulting type with `<generic>` syntax:
2613
2768
  *
2614
2769
  * ```ts
2615
2770
  * const result: { num: number }[] = await db.table.select({
2616
- * num: db.table.sql((t) => t.integer())`
2771
+ * num: db.table.sql<number>`
2617
2772
  * random() * 100
2618
2773
  * `,
2619
2774
  * });
2620
2775
  * ```
2621
2776
  *
2622
- * Other than for select, the column type can be omitted:
2777
+ * In a situation when you want the result to be parsed, such as when returning a timestamp that you want to be parsed into a `Date` object, provide a column type in such a way:
2778
+ *
2779
+ * This example assumes that the `timestamp` column was overridden with `asDate` as shown in [Override column types](/guide/columns-overview#override-column-types).
2780
+ *
2781
+ * ```ts
2782
+ * const result: { timestamp: Date }[] = await db.table.select({
2783
+ * timestamp: db.table.sql`now()`.type((t) => t.timestamp()),
2784
+ * });
2785
+ * ```
2786
+ *
2787
+ * In some cases such as when using [from](/guide/orm-and-query-builder.html#from), setting column type via callback allows for special `where` operations:
2788
+ *
2789
+ * ```ts
2790
+ * const subQuery = db.someTable.select({
2791
+ * sum: (q) => q.sql`$a + $b`.type((t) => t.decimal()).values({ a: 1, b: 2 }),
2792
+ * });
2793
+ *
2794
+ * // `gt`, `gte`, `min`, `lt`, `lte`, `max` in `where`
2795
+ * // are allowed only for numeric columns:
2796
+ * const result = await db.$from(subQuery).where({ sum: { gte: 5 } });
2797
+ * ```
2798
+ *
2799
+ * ```ts
2800
+ * db.$from(Otherdb.table.select('foo', 'bar'));
2801
+ * ```
2802
+ *
2803
+ * `where` and other methods don't need the return type, so it can be omitted:
2623
2804
  *
2624
2805
  * ```ts
2625
2806
  * await db.table.where(db.table.sql`
@@ -2627,6 +2808,23 @@ declare class RawSqlMethods {
2627
2808
  * `);
2628
2809
  * ```
2629
2810
  *
2811
+ * Instead of `sql` method, you can use `raw` function from `orchid-orm` (or `pqb`) to do the same.
2812
+ * The only difference, `raw` function don't have access to the overridden column types.
2813
+ *
2814
+ * ```ts
2815
+ * import { raw } from 'orchid-orm';
2816
+ *
2817
+ * await db.table.where(raw`
2818
+ * "someValue" = random() * 100
2819
+ * `);
2820
+ *
2821
+ * await db.table.select({
2822
+ * // it is a default `timestamp` column,
2823
+ * // if you have overriden it with `asDate` or `asNumber` it won't be parsed properly:
2824
+ * now: raw`now()`.type((t) => t.timestamp()),
2825
+ * });
2826
+ * ```
2827
+ *
2630
2828
  * Interpolating values in template literals is completely safe:
2631
2829
  *
2632
2830
  * ```ts
@@ -2652,7 +2850,7 @@ declare class RawSqlMethods {
2652
2850
  * await db.table.where(db.table.sql({ raw: `column = random() * ${value}` }));
2653
2851
  * ```
2654
2852
  *
2655
- * To inject values into `raw` SQL strings, define it with `$` in the string and provide `values` object.
2853
+ * To inject values into `raw` SQL strings, denote it with `$` in the string and provide `values` object.
2656
2854
  *
2657
2855
  * Use `$$` to provide column or/and table name. Column names will be quoted so don't quote them manually.
2658
2856
  *
@@ -2662,13 +2860,10 @@ declare class RawSqlMethods {
2662
2860
  *
2663
2861
  * // this is SAFE, SQL injection are prevented:
2664
2862
  * await db.table.where(
2665
- * db.table.sql({
2666
- * values: {
2667
- * column: 'someTable.someColumn', // or simply 'column'
2668
- * one: value,
2669
- * two: 123,
2670
- * },
2671
- * raw: '$$column = random() * $value',
2863
+ * db.table.sql({ raw: '$$column = random() * $value' }).values({
2864
+ * column: 'someTable.someColumn', // or simply 'column'
2865
+ * one: value,
2866
+ * two: 123,
2672
2867
  * }),
2673
2868
  * );
2674
2869
  * ```
@@ -2677,40 +2872,39 @@ declare class RawSqlMethods {
2677
2872
  *
2678
2873
  * ```ts
2679
2874
  * // simplest form:
2680
- * db.table`key = ${value}`;
2875
+ * db.table.sql`key = ${value}`;
2876
+ *
2877
+ * // with resulting type:
2878
+ * db.table.sql<boolean>`key = ${value}`;
2681
2879
  *
2682
2880
  * // with column type for select:
2683
- * db.table((t) => t.boolean())`key = ${value}`;
2881
+ * db.table.sql`key = ${value}`.type((t) => t.boolean());
2684
2882
  *
2685
2883
  * // raw SQL string, not allowed to interpolate:
2686
- * db.table({ raw: 'random()' });
2884
+ * db.table.sql({ raw: 'random()' });
2885
+ *
2886
+ * // with resulting type:
2887
+ * db.table.sql<number>({ raw: 'random()' });
2687
2888
  *
2688
2889
  * // with values:
2689
- * db.table({
2690
- * values: {
2691
- * column: 'columnName',
2692
- * one: 1,
2693
- * two: 2,
2694
- * },
2695
- * raw: '$$columnName = $one + $two',
2890
+ * db.table.sql({ raw: '$$columnName = $one + $two' }).values({
2891
+ * columnName: 'column',
2892
+ * one: 1,
2893
+ * two: 2,
2696
2894
  * });
2697
2895
  *
2698
- * // with column type for select:
2699
- * db.table((t) => t.decimal(), { raw: 'random()' });
2700
- *
2701
- * // combine values and template literal:
2702
- * db.table({ values: { one: 1, two: 2 } })`
2703
- * ($one + $two) / $one
2704
- * `;
2896
+ * // combine template literal, column type, and values:
2897
+ * db.table.sql`($one + $two) / $one`
2898
+ * .type((t) => t.numeric())
2899
+ * .values({ one: 1, two: 2 });
2705
2900
  * ```
2706
2901
  *
2707
- * @param args - template string or a specific options
2708
- */
2709
- sql<T extends Query, Args extends SqlArgs<T>>(this: T, ...args: Args): SqlResult<T, Args>;
2710
- /**
2711
- * @deprecated use `sql` method instead, `raw` will be removed
2902
+ * @param args - template literal or an object { raw: string }
2903
+ * @return object that has `type` and `values` methods
2712
2904
  */
2713
- raw<T extends Query, C extends ColumnType>(this: T, ...args: RawArgs<T['columnTypes'], C>): RawExpression<C>;
2905
+ sql<T = unknown>(this: {
2906
+ columnTypes: CT;
2907
+ }, ...args: RawSQLArgs): RawSQL<ColumnTypeBase<T>, CT>;
2714
2908
  }
2715
2909
 
2716
2910
  type CopyArg<T extends Query> = CopyOptions<keyof T['shape']>;
@@ -2846,9 +3040,9 @@ declare class TransformMethods {
2846
3040
  _transform<T extends Query, Fn extends QueryTransformFn<T>>(this: T, fn: Fn): QueryTransform<T, Fn>;
2847
3041
  }
2848
3042
 
2849
- type WindowArg<T extends Query> = Record<string, WindowArgDeclaration<T> | RawExpression>;
3043
+ type WindowArg<T extends Query> = Record<string, WindowArgDeclaration<T> | Expression>;
2850
3044
  type WindowArgDeclaration<T extends Query = Query> = {
2851
- partitionBy?: Expression<T> | Expression<T>[];
3045
+ partitionBy?: SelectableOrExpression<T> | SelectableOrExpression<T>[];
2852
3046
  order?: OrderArg<T>;
2853
3047
  };
2854
3048
  type WindowResult<T extends Query, W extends WindowArg<T>> = T & {
@@ -2858,15 +3052,15 @@ type OrderArg<T extends Query, Key extends PropertyKey = keyof T['selectable'] |
2858
3052
  [K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
2859
3053
  }[keyof T['result']]> = Key | {
2860
3054
  [K in Key]?: SortDir;
2861
- } | RawExpression;
3055
+ } | Expression;
2862
3056
  type OrderArgs<T extends Query> = OrderArg<T>[] | TemplateLiteralArgs;
2863
- type FindArgs<T extends Query> = [T['shape'][T['singlePrimaryKey']]['type'] | RawExpression] | TemplateLiteralArgs;
3057
+ type FindArgs<T extends Query> = [T['shape'][T['singlePrimaryKey']]['type'] | Expression] | TemplateLiteralArgs;
2864
3058
  type QueryHelper<T extends Query, Args extends unknown[], Result> = <Q extends {
2865
3059
  [K in keyof T]: K extends 'then' ? QueryThen<unknown> : K extends 'result' ? ColumnsShapeBase : T[K];
2866
3060
  }>(q: Q, ...args: Args) => Result extends Query ? MergeQuery<Q, Result> : Result;
2867
- interface QueryMethods extends Omit<AsMethods, 'result'>, Aggregate, Select, From, Join, With, Union, Omit<JsonModifiers, 'result'>, JsonMethods, Create, Update, Delete, Transaction, For, ColumnInfoMethods, Omit<Where, 'result'>, Clear, Having, Window, Then, QueryLog, Omit<QueryHooks, 'result'>, QueryUpsertOrCreate, QueryGet, MergeQueryMethods, RawSqlMethods, CopyMethods, TransformMethods {
3061
+ interface QueryMethods<CT extends ColumnTypesBase> extends Omit<AsMethods, 'result'>, Aggregate, Select, From, Join, With, Union, Omit<JsonModifiers, 'result'>, JsonMethods, Create, Update, Delete, Transaction, For, ColumnInfoMethods, Omit<Where, 'result'>, Clear, Having, Window, Then, QueryLog, Omit<QueryHooks, 'result'>, QueryUpsertOrCreate, QueryGet, MergeQueryMethods, RawSqlMethods<CT>, CopyMethods, TransformMethods {
2868
3062
  }
2869
- declare class QueryMethods {
3063
+ declare class QueryMethods<CT extends ColumnTypesBase> {
2870
3064
  /**
2871
3065
  * `.all` is a default behavior, that returns an array of objects:
2872
3066
  *
@@ -2927,8 +3121,8 @@ declare class QueryMethods {
2927
3121
  * ```
2928
3122
  * @param select - column name or a raw SQL
2929
3123
  */
2930
- pluck<T extends Query, S extends Expression<T>>(this: T, select: S): SetQueryReturnsPluck<T, S>;
2931
- _pluck<T extends Query, S extends Expression<T>>(this: T, select: S): SetQueryReturnsPluck<T, S>;
3124
+ pluck<T extends Query, S extends SelectableOrExpression<T>>(this: T, select: S): SetQueryReturnsPluck<T, S>;
3125
+ _pluck<T extends Query, S extends SelectableOrExpression<T>>(this: T, select: S): SetQueryReturnsPluck<T, S>;
2932
3126
  /**
2933
3127
  * `.exec` won't parse the response at all, and returns undefined:
2934
3128
  *
@@ -2980,8 +3174,8 @@ declare class QueryMethods {
2980
3174
  *
2981
3175
  * @param columns - column names or a raw SQL
2982
3176
  */
2983
- distinct<T extends Query>(this: T, ...columns: Expression<T>[]): T;
2984
- _distinct<T extends Query>(this: T, ...columns: Expression<T>[]): T;
3177
+ distinct<T extends Query>(this: T, ...columns: SelectableOrExpression<T>[]): T;
3178
+ _distinct<T extends Query>(this: T, ...columns: SelectableOrExpression<T>[]): T;
2985
3179
  /**
2986
3180
  * Find a single record by the primary key (id), adds `LIMIT 1`.
2987
3181
  * Throws when not found.
@@ -3068,8 +3262,8 @@ declare class QueryMethods {
3068
3262
  *
3069
3263
  * @param columns - column names or a raw SQL
3070
3264
  */
3071
- group<T extends Query>(this: T, ...columns: Expression<T>[]): T;
3072
- _group<T extends Query>(this: T, ...columns: Expression<T>[]): T;
3265
+ group<T extends Query>(this: T, ...columns: SelectableOrExpression<T>[]): T;
3266
+ _group<T extends Query>(this: T, ...columns: SelectableOrExpression<T>[]): T;
3073
3267
  window<T extends Query, W extends WindowArg<T>>(this: T, arg: W): WindowResult<T, W>;
3074
3268
  _window<T extends Query, W extends WindowArg<T>>(this: T, arg: W): WindowResult<T, W>;
3075
3269
  wrap<T extends Query, Q extends Query, As extends string = 't'>(this: T, query: Q, as?: As): SetQueryTableAlias<Q, As>;
@@ -3204,7 +3398,7 @@ declare class QueryMethods {
3204
3398
  makeHelper<T extends Query, Args extends unknown[], Result>(this: T, fn: (q: T, ...args: Args) => Result): QueryHelper<T, Args, Result>;
3205
3399
  }
3206
3400
 
3207
- type AggregateArg<T extends Query> = Expression<T> | Record<string, Expression<T>> | [Expression<T>, string];
3401
+ type AggregateArg<T extends Query> = SelectableOrExpression<T> | Record<string, SelectableOrExpression<T>> | [SelectableOrExpression<T>, string];
3208
3402
  type AggregateOptions<T extends Query = Query, As extends string | undefined = any> = {
3209
3403
  as?: As;
3210
3404
  distinct?: boolean;
@@ -3215,19 +3409,19 @@ type AggregateOptions<T extends Query = Query, As extends string | undefined = a
3215
3409
  over?: keyof T['windows'] | WindowArgDeclaration<T>;
3216
3410
  };
3217
3411
  type Aggregate1ArgumentTypes<T extends Query = Query, C extends ColumnTypeBase = ColumnTypeBase> = {
3218
- count: Expression<T, C>;
3412
+ count: SelectableOrExpression<T, C>;
3219
3413
  avg: NumberExpression<T, C>;
3220
- min: Expression<T, C>;
3221
- max: Expression<T, C>;
3414
+ min: SelectableOrExpression<T, C>;
3415
+ max: SelectableOrExpression<T, C>;
3222
3416
  sum: NumberExpression<T, C>;
3223
3417
  bitAnd: NumberExpression<T, C>;
3224
3418
  bitOr: NumberExpression<T, C>;
3225
3419
  boolAnd: BooleanExpression<T, C>;
3226
3420
  boolOr: BooleanExpression<T, C>;
3227
3421
  every: BooleanExpression<T, C>;
3228
- jsonAgg: Expression<T, C>;
3229
- jsonbAgg: Expression<T, C>;
3230
- xmlAgg: Expression<T, C>;
3422
+ jsonAgg: SelectableOrExpression<T, C>;
3423
+ jsonbAgg: SelectableOrExpression<T, C>;
3424
+ xmlAgg: SelectableOrExpression<T, C>;
3231
3425
  };
3232
3426
  declare const aggregate1FunctionNames: {
3233
3427
  readonly count: "count";
@@ -3262,40 +3456,40 @@ declare class Aggregate {
3262
3456
  _selectCount<T extends Query, As extends string | undefined = undefined>(this: T, arg?: AT1<T>['count'] | '*', options?: AggregateOptions<T, As>): SelectAgg<T, 'count', As, NumberColumn>;
3263
3457
  avg<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['avg'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3264
3458
  _avg<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['avg'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3265
- selectAvg<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'avg', As, NullableColumn<NumberColumn>>;
3266
- _selectAvg<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'avg', As, NullableColumn<NumberColumn>>;
3459
+ selectAvg<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'avg', As, NullableColumn<NumberColumn>>;
3460
+ _selectAvg<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'avg', As, NullableColumn<NumberColumn>>;
3267
3461
  min<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['min'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3268
3462
  _min<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['min'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3269
- selectMin<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'min', As, NullableColumn<NumberColumn>>;
3270
- _selectMin<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'min', As, NullableColumn<NumberColumn>>;
3463
+ selectMin<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'min', As, NullableColumn<NumberColumn>>;
3464
+ _selectMin<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'min', As, NullableColumn<NumberColumn>>;
3271
3465
  max<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['max'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3272
3466
  _max<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['max'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3273
- selectMax<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'max', As, NullableColumn<NumberColumn>>;
3274
- _selectMax<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'max', As, NullableColumn<NumberColumn>>;
3467
+ selectMax<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'max', As, NullableColumn<NumberColumn>>;
3468
+ _selectMax<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'max', As, NullableColumn<NumberColumn>>;
3275
3469
  sum<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['sum'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3276
3470
  _sum<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['sum'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3277
- selectSum<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'sum', As, NullableColumn<NumberColumn>>;
3278
- _selectSum<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'sum', As, NullableColumn<NumberColumn>>;
3471
+ selectSum<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'sum', As, NullableColumn<NumberColumn>>;
3472
+ _selectSum<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'sum', As, NullableColumn<NumberColumn>>;
3279
3473
  bitAnd<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['bitAnd'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3280
3474
  _bitAnd<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['bitAnd'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3281
- selectBitAnd<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bit_and', As, NullableColumn<NumberColumn>>;
3282
- _selectBitAnd<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bit_and', As, NullableColumn<NumberColumn>>;
3475
+ selectBitAnd<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bit_and', As, NullableColumn<NumberColumn>>;
3476
+ _selectBitAnd<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bit_and', As, NullableColumn<NumberColumn>>;
3283
3477
  bitOr<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['bitOr'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3284
3478
  _bitOr<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['bitOr'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<NumberColumn>>;
3285
- selectBitOr<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bit_or', As, NullableColumn<NumberColumn>>;
3286
- _selectBitOr<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bit_or', As, NullableColumn<NumberColumn>>;
3479
+ selectBitOr<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bit_or', As, NullableColumn<NumberColumn>>;
3480
+ _selectBitOr<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bit_or', As, NullableColumn<NumberColumn>>;
3287
3481
  boolAnd<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['boolAnd'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<BooleanColumn>>;
3288
3482
  _boolAnd<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['boolAnd'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<BooleanColumn>>;
3289
- selectBoolAnd<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bool_and', As, NullableColumn<BooleanColumn>>;
3290
- _selectBoolAnd<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bool_and', As, NullableColumn<BooleanColumn>>;
3483
+ selectBoolAnd<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bool_and', As, NullableColumn<BooleanColumn>>;
3484
+ _selectBoolAnd<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bool_and', As, NullableColumn<BooleanColumn>>;
3291
3485
  boolOr<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['boolOr'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<BooleanColumn>>;
3292
3486
  _boolOr<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['boolOr'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<BooleanColumn>>;
3293
- selectBoolOr<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bool_or', As, NullableColumn<BooleanColumn>>;
3294
- _selectBoolOr<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bool_or', As, NullableColumn<BooleanColumn>>;
3487
+ selectBoolOr<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bool_or', As, NullableColumn<BooleanColumn>>;
3488
+ _selectBoolOr<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'bool_or', As, NullableColumn<BooleanColumn>>;
3295
3489
  every<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['every'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<BooleanColumn>>;
3296
3490
  _every<T extends Query>(this: T, arg: Aggregate1ArgumentTypes<T>['every'], options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<BooleanColumn>>;
3297
- selectEvery<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'every', As, NullableColumn<BooleanColumn>>;
3298
- _selectEvery<T extends Query, As extends string | undefined = undefined>(this: T, arg: Expression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'every', As, NullableColumn<BooleanColumn>>;
3491
+ selectEvery<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'every', As, NullableColumn<BooleanColumn>>;
3492
+ _selectEvery<T extends Query, As extends string | undefined = undefined>(this: T, arg: SelectableOrExpression<T>, options?: AggregateOptions<T, As>): SelectAgg<T, 'every', As, NullableColumn<BooleanColumn>>;
3299
3493
  jsonAgg<T extends Query, Expr extends Aggregate1ArgumentTypes<T>['jsonAgg']>(this: T, arg: Expr, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ArrayColumn<ExpressionOutput<T, Expr>>>>;
3300
3494
  _jsonAgg<T extends Query, Expr extends Aggregate1ArgumentTypes<T>['jsonAgg']>(this: T, arg: Expr, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ArrayColumn<ExpressionOutput<T, Expr>>>>;
3301
3495
  selectJsonAgg<T extends Query, Expr extends Aggregate1ArgumentTypes<T>['jsonAgg'], As extends string | undefined = undefined>(this: T, arg: Expr, options?: AggregateOptions<T, As>): SelectAgg<T, 'json_agg', As, NullableColumn<ArrayColumn<ExpressionOutput<T, Expr>>>>;
@@ -3308,28 +3502,28 @@ declare class Aggregate {
3308
3502
  _xmlAgg<T extends Query, Expr extends Aggregate1ArgumentTypes<T>['xmlAgg']>(this: T, arg: Expr, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<StringColumn>>;
3309
3503
  selectXmlAgg<T extends Query, As extends string | undefined = undefined>(this: T, arg: Aggregate1ArgumentTypes<T>['xmlAgg'], options?: AggregateOptions<T, As>): SelectAgg<T, 'xmlagg', As, NullableColumn<StringColumn>>;
3310
3504
  _selectXmlAgg<T extends Query, As extends string | undefined = undefined>(this: T, arg: Aggregate1ArgumentTypes<T>['xmlAgg'], options?: AggregateOptions<T, As>): SelectAgg<T, 'xmlagg', As, NullableColumn<StringColumn>>;
3311
- jsonObjectAgg<T extends Query, Obj extends Record<string, Expression<T>>>(this: T, obj: Obj, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ColumnType<{
3505
+ jsonObjectAgg<T extends Query, Obj extends Record<string, SelectableOrExpression<T>>>(this: T, obj: Obj, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ColumnType<{
3312
3506
  [K in keyof Obj]: ExpressionOutput<T, Obj[K]>['type'];
3313
3507
  }>>>;
3314
- _jsonObjectAgg<T extends Query, Obj extends Record<string, Expression<T>>>(this: T, obj: Obj, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ColumnType<{
3508
+ _jsonObjectAgg<T extends Query, Obj extends Record<string, SelectableOrExpression<T>>>(this: T, obj: Obj, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ColumnType<{
3315
3509
  [K in keyof Obj]: ExpressionOutput<T, Obj[K]>['type'];
3316
3510
  }>>>;
3317
- selectJsonObjectAgg<T extends Query, Obj extends Record<string, Expression<T>>, As extends string | undefined = undefined>(this: T, obj: Obj, options?: AggregateOptions<T, As>): SelectAgg<T, 'json_object_agg', As, NullableColumn<ColumnType<{
3511
+ selectJsonObjectAgg<T extends Query, Obj extends Record<string, SelectableOrExpression<T>>, As extends string | undefined = undefined>(this: T, obj: Obj, options?: AggregateOptions<T, As>): SelectAgg<T, 'json_object_agg', As, NullableColumn<ColumnType<{
3318
3512
  [K in keyof Obj]: ExpressionOutput<T, Obj[K]>['type'];
3319
3513
  }>>>;
3320
- _selectJsonObjectAgg<T extends Query, Obj extends Record<string, Expression<T>>, As extends string | undefined = undefined>(this: T, obj: Obj, options?: AggregateOptions<T, As>): SelectAgg<T, 'json_object_agg', As, NullableColumn<ColumnType<{
3514
+ _selectJsonObjectAgg<T extends Query, Obj extends Record<string, SelectableOrExpression<T>>, As extends string | undefined = undefined>(this: T, obj: Obj, options?: AggregateOptions<T, As>): SelectAgg<T, 'json_object_agg', As, NullableColumn<ColumnType<{
3321
3515
  [K in keyof Obj]: ExpressionOutput<T, Obj[K]>['type'];
3322
3516
  }>>>;
3323
- jsonbObjectAgg<T extends Query, Obj extends Record<string, Expression<T>>>(this: T, obj: Obj, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ColumnType<{
3517
+ jsonbObjectAgg<T extends Query, Obj extends Record<string, SelectableOrExpression<T>>>(this: T, obj: Obj, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ColumnType<{
3324
3518
  [K in keyof Obj]: ExpressionOutput<T, Obj[K]>['type'];
3325
3519
  }>>>;
3326
- _jsonbObjectAgg<T extends Query, Obj extends Record<string, Expression<T>>>(this: T, obj: Obj, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ColumnType<{
3520
+ _jsonbObjectAgg<T extends Query, Obj extends Record<string, SelectableOrExpression<T>>>(this: T, obj: Obj, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<ColumnType<{
3327
3521
  [K in keyof Obj]: ExpressionOutput<T, Obj[K]>['type'];
3328
3522
  }>>>;
3329
- selectJsonbObjectAgg<T extends Query, Obj extends Record<string, Expression<T>>, As extends string | undefined = undefined>(this: T, obj: Obj, options?: AggregateOptions<T, As>): SelectAgg<T, 'jsonb_object_agg', As, NullableColumn<ColumnType<{
3523
+ selectJsonbObjectAgg<T extends Query, Obj extends Record<string, SelectableOrExpression<T>>, As extends string | undefined = undefined>(this: T, obj: Obj, options?: AggregateOptions<T, As>): SelectAgg<T, 'jsonb_object_agg', As, NullableColumn<ColumnType<{
3330
3524
  [K in keyof Obj]: ExpressionOutput<T, Obj[K]>['type'];
3331
3525
  }>>>;
3332
- _selectJsonbObjectAgg<T extends Query, Obj extends Record<string, Expression<T>>, As extends string | undefined = undefined>(this: T, obj: Obj, options?: AggregateOptions<T, As>): SelectAgg<T, 'jsonb_object_agg', As, NullableColumn<ColumnType<{
3526
+ _selectJsonbObjectAgg<T extends Query, Obj extends Record<string, SelectableOrExpression<T>>, As extends string | undefined = undefined>(this: T, obj: Obj, options?: AggregateOptions<T, As>): SelectAgg<T, 'jsonb_object_agg', As, NullableColumn<ColumnType<{
3333
3527
  [K in keyof Obj]: ExpressionOutput<T, Obj[K]>['type'];
3334
3528
  }>>>;
3335
3529
  stringAgg<T extends Query>(this: T, arg: StringExpression<T>, delimiter: string, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, NullableColumn<StringColumn>>;
@@ -3358,7 +3552,7 @@ type WithDataItem = {
3358
3552
  shape: ColumnsShapeBase;
3359
3553
  };
3360
3554
  type WithDataBase = Record<never, WithDataItem>;
3361
- type Query = QueryCommon & QueryMethods & {
3555
+ type Query = QueryCommon & QueryMethods<ColumnTypesBase> & {
3362
3556
  queryBuilder: Db;
3363
3557
  columnTypes: ColumnTypesBase;
3364
3558
  whereQueryBuilder: typeof WhereQueryBuilder;
@@ -3415,7 +3609,7 @@ type SetQueryReturnsAll<T extends Query> = SetQueryReturns<WhereResult<T>, 'all'
3415
3609
  type SetQueryReturnsOneOptional<T extends Query> = SetQueryReturns<T, 'one'>;
3416
3610
  type SetQueryReturnsOne<T extends Query> = SetQueryReturns<T, 'oneOrThrow'>;
3417
3611
  type SetQueryReturnsRows<T extends Query> = SetQueryReturns<T, 'rows'>;
3418
- type SetQueryReturnsPluck<T extends Query, S extends keyof T['selectable'] | RawExpression, C extends ColumnTypeBase = S extends keyof T['selectable'] ? T['selectable'][S]['column'] : S extends RawExpression ? S['__column'] : never> = Omit<T, 'result' | 'returnType' | 'then' | 'catch'> & {
3612
+ type SetQueryReturnsPluck<T extends Query, S extends keyof T['selectable'] | Expression, C extends ColumnTypeBase = S extends keyof T['selectable'] ? T['selectable'][S]['column'] : S extends Expression ? S['_type'] : never> = Omit<T, 'result' | 'returnType' | 'then' | 'catch'> & {
3419
3613
  meta: {
3420
3614
  hasSelect: true;
3421
3615
  };
@@ -3473,144 +3667,144 @@ declare const Operators: {
3473
3667
  not: ((key: string, value: any, values: unknown[]) => string) & {
3474
3668
  type: any;
3475
3669
  };
3476
- in: ((key: string, value: any[] | RawExpression | Query, values: unknown[]) => string) & {
3477
- type: any[] | RawExpression | Query;
3670
+ in: ((key: string, value: any[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3671
+ type: any[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3478
3672
  };
3479
- notIn: ((key: string, value: any[] | RawExpression | Query, values: unknown[]) => string) & {
3480
- type: any[] | RawExpression | Query;
3673
+ notIn: ((key: string, value: any[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3674
+ type: any[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3481
3675
  };
3482
3676
  };
3483
3677
  boolean: {
3484
- equals: ((key: string, value: boolean | RawExpression | Query, values: unknown[]) => string) & {
3485
- type: boolean | RawExpression | Query;
3678
+ equals: ((key: string, value: boolean | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3679
+ type: boolean | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3486
3680
  };
3487
- not: ((key: string, value: boolean | RawExpression | Query, values: unknown[]) => string) & {
3488
- type: boolean | RawExpression | Query;
3681
+ not: ((key: string, value: boolean | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3682
+ type: boolean | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3489
3683
  };
3490
- in: ((key: string, value: RawExpression | Query | boolean[], values: unknown[]) => string) & {
3491
- type: RawExpression | Query | boolean[];
3684
+ in: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | boolean[], values: unknown[]) => string) & {
3685
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | boolean[];
3492
3686
  };
3493
- notIn: ((key: string, value: RawExpression | Query | boolean[], values: unknown[]) => string) & {
3494
- type: RawExpression | Query | boolean[];
3687
+ notIn: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | boolean[], values: unknown[]) => string) & {
3688
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | boolean[];
3495
3689
  };
3496
3690
  };
3497
3691
  number: {
3498
- lt: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3499
- type: number | RawExpression | Query;
3692
+ lt: ((key: string, value: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3693
+ type: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3500
3694
  };
3501
- lte: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3502
- type: number | RawExpression | Query;
3695
+ lte: ((key: string, value: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3696
+ type: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3503
3697
  };
3504
- gt: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3505
- type: number | RawExpression | Query;
3698
+ gt: ((key: string, value: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3699
+ type: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3506
3700
  };
3507
- gte: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3508
- type: number | RawExpression | Query;
3701
+ gte: ((key: string, value: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3702
+ type: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3509
3703
  };
3510
- between: ((key: string, value: [number | RawExpression | Query, number | RawExpression | Query], values: unknown[]) => string) & {
3511
- type: [number | RawExpression | Query, number | RawExpression | Query];
3704
+ between: ((key: string, value: [number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query], values: unknown[]) => string) & {
3705
+ type: [number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query];
3512
3706
  };
3513
- equals: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3514
- type: number | RawExpression | Query;
3707
+ equals: ((key: string, value: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3708
+ type: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3515
3709
  };
3516
- not: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3517
- type: number | RawExpression | Query;
3710
+ not: ((key: string, value: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3711
+ type: number | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3518
3712
  };
3519
- in: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
3520
- type: RawExpression | number[] | Query;
3713
+ in: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[], values: unknown[]) => string) & {
3714
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[];
3521
3715
  };
3522
- notIn: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
3523
- type: RawExpression | number[] | Query;
3716
+ notIn: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[], values: unknown[]) => string) & {
3717
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[];
3524
3718
  };
3525
3719
  };
3526
3720
  date: {
3527
- lt: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3528
- type: RawExpression | Date | Query;
3721
+ lt: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3722
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3529
3723
  };
3530
- lte: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3531
- type: RawExpression | Date | Query;
3724
+ lte: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3725
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3532
3726
  };
3533
- gt: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3534
- type: RawExpression | Date | Query;
3727
+ gt: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3728
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3535
3729
  };
3536
- gte: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3537
- type: RawExpression | Date | Query;
3730
+ gte: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3731
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3538
3732
  };
3539
- between: ((key: string, value: [RawExpression | Date | Query, RawExpression | Date | Query], values: unknown[]) => string) & {
3540
- type: [RawExpression | Date | Query, RawExpression | Date | Query];
3733
+ between: ((key: string, value: [Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query], values: unknown[]) => string) & {
3734
+ type: [Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query];
3541
3735
  };
3542
- equals: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3543
- type: RawExpression | Date | Query;
3736
+ equals: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3737
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3544
3738
  };
3545
- not: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3546
- type: RawExpression | Date | Query;
3739
+ not: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3740
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3547
3741
  };
3548
- in: ((key: string, value: RawExpression | Query | Date[], values: unknown[]) => string) & {
3549
- type: RawExpression | Query | Date[];
3742
+ in: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[], values: unknown[]) => string) & {
3743
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[];
3550
3744
  };
3551
- notIn: ((key: string, value: RawExpression | Query | Date[], values: unknown[]) => string) & {
3552
- type: RawExpression | Query | Date[];
3745
+ notIn: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[], values: unknown[]) => string) & {
3746
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[];
3553
3747
  };
3554
3748
  };
3555
3749
  time: {
3556
- lt: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3557
- type: RawExpression | Date | Query;
3750
+ lt: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3751
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3558
3752
  };
3559
- lte: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3560
- type: RawExpression | Date | Query;
3753
+ lte: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3754
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3561
3755
  };
3562
- gt: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3563
- type: RawExpression | Date | Query;
3756
+ gt: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3757
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3564
3758
  };
3565
- gte: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3566
- type: RawExpression | Date | Query;
3759
+ gte: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3760
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3567
3761
  };
3568
- between: ((key: string, value: [RawExpression | Date | Query, RawExpression | Date | Query], values: unknown[]) => string) & {
3569
- type: [RawExpression | Date | Query, RawExpression | Date | Query];
3762
+ between: ((key: string, value: [Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query], values: unknown[]) => string) & {
3763
+ type: [Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query];
3570
3764
  };
3571
- equals: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3572
- type: RawExpression | Date | Query;
3765
+ equals: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3766
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3573
3767
  };
3574
- not: ((key: string, value: RawExpression | Date | Query, values: unknown[]) => string) & {
3575
- type: RawExpression | Date | Query;
3768
+ not: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
3769
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
3576
3770
  };
3577
- in: ((key: string, value: RawExpression | Query | Date[], values: unknown[]) => string) & {
3578
- type: RawExpression | Query | Date[];
3771
+ in: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[], values: unknown[]) => string) & {
3772
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[];
3579
3773
  };
3580
- notIn: ((key: string, value: RawExpression | Query | Date[], values: unknown[]) => string) & {
3581
- type: RawExpression | Query | Date[];
3774
+ notIn: ((key: string, value: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[], values: unknown[]) => string) & {
3775
+ type: Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[];
3582
3776
  };
3583
3777
  };
3584
3778
  text: {
3585
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
3586
- type: string | RawExpression | Query;
3779
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3780
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3587
3781
  };
3588
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
3589
- type: string | RawExpression | Query;
3782
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3783
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3590
3784
  };
3591
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
3592
- type: string | RawExpression | Query;
3785
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3786
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3593
3787
  };
3594
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
3595
- type: string | RawExpression | Query;
3788
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3789
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3596
3790
  };
3597
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
3598
- type: string | RawExpression | Query;
3791
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3792
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3599
3793
  };
3600
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
3601
- type: string | RawExpression | Query;
3794
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3795
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3602
3796
  };
3603
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
3604
- type: string | RawExpression | Query;
3797
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3798
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3605
3799
  };
3606
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
3607
- type: string | RawExpression | Query;
3800
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3801
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3608
3802
  };
3609
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
3610
- type: string[] | RawExpression | Query;
3803
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3804
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3611
3805
  };
3612
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
3613
- type: string[] | RawExpression | Query;
3806
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3807
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3614
3808
  };
3615
3809
  };
3616
3810
  json: {
@@ -3629,11 +3823,11 @@ declare const Operators: {
3629
3823
  not: ((key: string, value: unknown, values: unknown[]) => string) & {
3630
3824
  type: unknown;
3631
3825
  };
3632
- in: ((key: string, value: unknown[] | RawExpression | Query, values: unknown[]) => string) & {
3633
- type: unknown[] | RawExpression | Query;
3826
+ in: ((key: string, value: unknown[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3827
+ type: unknown[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3634
3828
  };
3635
- notIn: ((key: string, value: unknown[] | RawExpression | Query, values: unknown[]) => string) & {
3636
- type: unknown[] | RawExpression | Query;
3829
+ notIn: ((key: string, value: unknown[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3830
+ type: unknown[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3637
3831
  };
3638
3832
  };
3639
3833
  array: {
@@ -3643,21 +3837,17 @@ declare const Operators: {
3643
3837
  not: ((key: string, value: any, values: unknown[]) => string) & {
3644
3838
  type: any;
3645
3839
  };
3646
- in: ((key: string, value: any[] | RawExpression | Query, values: unknown[]) => string) & {
3647
- type: any[] | RawExpression | Query;
3840
+ in: ((key: string, value: any[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3841
+ type: any[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3648
3842
  };
3649
- notIn: ((key: string, value: any[] | RawExpression | Query, values: unknown[]) => string) & {
3650
- type: any[] | RawExpression | Query;
3843
+ notIn: ((key: string, value: any[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3844
+ type: any[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3651
3845
  };
3652
3846
  };
3653
3847
  };
3654
3848
 
3655
- type ColumnsShape = Record<string, ColumnType>;
3656
- declare abstract class ColumnsObject<Shape extends ColumnsShapeBase> extends ColumnType<{
3657
- [K in keyof Shape]: Shape[K]['type'];
3658
- }, typeof Operators.any> {
3659
- shape: Shape;
3660
- dataType: "object";
3849
+ declare class CustomTypeColumn extends ColumnType<unknown, typeof Operators.any> {
3850
+ dataType: string;
3661
3851
  operators: {
3662
3852
  equals: ((key: string, value: any, values: unknown[]) => string) & {
3663
3853
  type: any;
@@ -3665,19 +3855,27 @@ declare abstract class ColumnsObject<Shape extends ColumnsShapeBase> extends Col
3665
3855
  not: ((key: string, value: any, values: unknown[]) => string) & {
3666
3856
  type: any;
3667
3857
  };
3668
- in: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
3669
- type: any[] | orchid_core.RawExpression | Query;
3858
+ in: ((key: string, value: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3859
+ type: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3670
3860
  };
3671
- notIn: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
3672
- type: any[] | orchid_core.RawExpression | Query;
3861
+ notIn: ((key: string, value: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3862
+ type: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3673
3863
  };
3674
3864
  };
3675
- constructor(shape: Shape);
3865
+ constructor(dataType: string);
3866
+ toCode(t: string): Code;
3676
3867
  }
3677
- declare abstract class ArrayOfColumnsObjects<Shape extends ColumnsShapeBase> extends ColumnType<{
3678
- [K in keyof Shape]: Shape[K]['type'];
3679
- }[], typeof Operators.any> {
3680
- shape: Shape;
3868
+ declare class DomainColumn extends CustomTypeColumn {
3869
+ toCode(t: string): Code;
3870
+ }
3871
+
3872
+ type ArrayData<Item extends ColumnTypeBase> = ColumnData & ArrayMethodsData & {
3873
+ item: Item;
3874
+ };
3875
+ type ArrayMethods = typeof arrayMethods;
3876
+ interface ArrayColumn<Item extends ColumnTypeBase> extends ColumnType<Item['type'][], typeof Operators.array>, ArrayMethods {
3877
+ }
3878
+ declare class ArrayColumn<Item extends ColumnTypeBase> extends ColumnType<Item['type'][], typeof Operators.array> {
3681
3879
  dataType: "array";
3682
3880
  operators: {
3683
3881
  equals: ((key: string, value: any, values: unknown[]) => string) & {
@@ -3686,185 +3884,165 @@ declare abstract class ArrayOfColumnsObjects<Shape extends ColumnsShapeBase> ext
3686
3884
  not: ((key: string, value: any, values: unknown[]) => string) & {
3687
3885
  type: any;
3688
3886
  };
3689
- in: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
3690
- type: any[] | orchid_core.RawExpression | Query;
3887
+ in: ((key: string, value: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3888
+ type: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3691
3889
  };
3692
- notIn: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
3693
- type: any[] | orchid_core.RawExpression | Query;
3890
+ notIn: ((key: string, value: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3891
+ type: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3694
3892
  };
3695
3893
  };
3696
- constructor(shape: Shape);
3697
- }
3698
- declare abstract class PluckResultColumnType<C extends ColumnTypeBase> extends ColumnTypeBase<C['type'][], typeof Operators.any> {
3894
+ data: ArrayData<Item>;
3895
+ constructor(item: Item);
3896
+ toSQL(): string;
3897
+ toCode(this: ArrayColumn<Item>, t: string): Code;
3898
+ parseFn: ((input: unknown) => unknown[]) & {
3899
+ hideFromCode: boolean;
3900
+ };
3699
3901
  }
3700
3902
 
3701
- type NumberColumn = ColumnType<number, typeof Operators.number>;
3702
- type NumberColumnData = BaseNumberData & {
3703
- identity: TableData.Identity;
3704
- };
3705
- type SerialColumnData = NumberColumnData & {
3706
- default: RawExpression;
3903
+ type JSONTypes = typeof jsonTypes;
3904
+ declare const jsonTypes: {
3905
+ set: <Value extends JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
3906
+ tuple: <T extends [] | orchid_core.JSONTupleItems, Rest extends JSONTypeAny | null = null>(items: T, rest?: Rest) => orchid_core.JSONTuple<T, Rest>;
3907
+ union: <T_1 extends [JSONTypeAny, JSONTypeAny, ...JSONTypeAny[]]>(types: T_1) => orchid_core.JSONUnion<T_1>;
3908
+ any: () => orchid_core.JSONAny;
3909
+ bigint: () => orchid_core.JSONBigInt;
3910
+ boolean: () => orchid_core.JSONBoolean;
3911
+ date: () => orchid_core.JSONDate;
3912
+ nan: () => orchid_core.JSONNaN;
3913
+ never: () => orchid_core.JSONNever;
3914
+ null: () => orchid_core.JSONNull;
3915
+ number: () => orchid_core.JSONNumber;
3916
+ string: () => orchid_core.JSONString;
3917
+ unknown: () => orchid_core.JSONUnknown;
3918
+ array: <Type extends JSONTypeAny>(element: Type) => orchid_core.JSONArray<Type, "many">;
3919
+ discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends orchid_core.Primitive, Types extends [orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => orchid_core.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types>;
3920
+ enum: <U extends string, T_2 extends [U, ...U[]]>(options: T_2) => orchid_core.JSONEnum<U, T_2>;
3921
+ instanceOf: <T_3 extends new (...args: any[]) => any>(cls: T_3) => orchid_core.JSONInstanceOf<T_3>;
3922
+ intersection: <Left extends JSONTypeAny, Right extends JSONTypeAny>(left: Left, right: Right) => orchid_core.JSONIntersection<Left, Right>;
3923
+ lazy: <T_4 extends JSONTypeAny>(fn: () => T_4) => orchid_core.JSONLazy<T_4>;
3924
+ literal: <T_5 extends orchid_core.Primitive>(value: T_5) => orchid_core.JSONLiteral<T_5>;
3925
+ map: <Key extends JSONTypeAny, Value_1 extends JSONTypeAny>(keyType: Key, valueType: Value_1) => orchid_core.JSONMap<Key, Value_1>;
3926
+ nativeEnum: <T_6 extends orchid_core.EnumLike>(givenEnum: T_6) => orchid_core.JSONNativeEnum<T_6>;
3927
+ nullable: <T_7 extends JSONTypeAny>(type: T_7) => orchid_core.JSONNullable<T_7>;
3928
+ nullish: <T_8 extends JSONTypeAny>(type: T_8) => orchid_core.JSONNullish<T_8>;
3929
+ object: <T_9 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends JSONTypeAny = JSONTypeAny>(shape: T_9) => orchid_core.JSONObject<T_9, UnknownKeys, Catchall, JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }> extends infer T_10 extends object ? { [k in keyof T_10]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }>[k]; } : never) & {
3930
+ [k: string]: Catchall["type"];
3931
+ } extends infer T_11 extends object ? { [k_2 in keyof T_11]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }> extends infer T_12 extends object ? { [k in keyof T_12]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }>[k]; } : never) & {
3932
+ [k: string]: Catchall["type"];
3933
+ })[k_2]; } : never>;
3934
+ optional: <T_14 extends JSONTypeAny>(type: T_14) => orchid_core.JSONOptional<T_14>;
3935
+ record: typeof record;
3707
3936
  };
3708
- type NumberMethods = typeof numberTypeMethods;
3709
- interface NumberBaseColumn extends ColumnType<number, typeof Operators.number>, NumberMethods {
3710
- }
3711
- declare abstract class NumberBaseColumn extends ColumnType<number, typeof Operators.number> {
3712
- data: NumberColumnData;
3937
+ declare class JSONColumn<Type extends JSONTypeAny = JSONTypeAny> extends ColumnType<Type['type'], typeof Operators.json> {
3938
+ dataType: "jsonb";
3713
3939
  operators: {
3714
- lt: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3715
- type: number | RawExpression | Query;
3716
- };
3717
- lte: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3718
- type: number | RawExpression | Query;
3719
- };
3720
- gt: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3721
- type: number | RawExpression | Query;
3940
+ jsonPath: ((key: string, value: [path: string, op: string, value: unknown], values: unknown[]) => string) & {
3941
+ type: [path: string, op: string, value: unknown];
3722
3942
  };
3723
- gte: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3724
- type: number | RawExpression | Query;
3943
+ jsonSupersetOf: ((key: string, value: unknown, values: unknown[]) => string) & {
3944
+ type: unknown;
3725
3945
  };
3726
- between: ((key: string, value: [number | RawExpression | Query, number | RawExpression | Query], values: unknown[]) => string) & {
3727
- type: [number | RawExpression | Query, number | RawExpression | Query];
3946
+ jsonSubsetOf: ((key: string, value: unknown, values: unknown[]) => string) & {
3947
+ type: unknown;
3728
3948
  };
3729
- equals: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3730
- type: number | RawExpression | Query;
3949
+ equals: ((key: string, value: unknown, values: unknown[]) => string) & {
3950
+ type: unknown;
3731
3951
  };
3732
- not: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3733
- type: number | RawExpression | Query;
3952
+ not: ((key: string, value: unknown, values: unknown[]) => string) & {
3953
+ type: unknown;
3734
3954
  };
3735
- in: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
3736
- type: RawExpression | number[] | Query;
3955
+ in: ((key: string, value: unknown[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3956
+ type: unknown[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3737
3957
  };
3738
- notIn: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
3739
- type: RawExpression | number[] | Query;
3958
+ notIn: ((key: string, value: unknown[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3959
+ type: unknown[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3740
3960
  };
3741
3961
  };
3962
+ data: ColumnData & {
3963
+ schema: Type;
3964
+ };
3965
+ constructor(schemaOrFn?: Type | ((j: JSONTypes) => Type));
3966
+ toCode(t: string): Code;
3742
3967
  }
3743
- declare abstract class IntegerBaseColumn extends NumberBaseColumn {
3744
- data: NumberColumnData;
3745
- constructor();
3746
- }
3747
- declare abstract class NumberAsStringBaseColumn extends ColumnType<string, typeof Operators.number> {
3968
+ declare class JSONTextColumn extends ColumnType<string, typeof Operators.text> {
3969
+ dataType: "json";
3748
3970
  operators: {
3749
- lt: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3750
- type: number | RawExpression | Query;
3971
+ contains: ((key: string, value: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3972
+ type: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3751
3973
  };
3752
- lte: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3753
- type: number | RawExpression | Query;
3974
+ containsSensitive: ((key: string, value: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3975
+ type: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3754
3976
  };
3755
- gt: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3756
- type: number | RawExpression | Query;
3977
+ startsWith: ((key: string, value: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3978
+ type: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3757
3979
  };
3758
- gte: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3759
- type: number | RawExpression | Query;
3980
+ startsWithSensitive: ((key: string, value: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3981
+ type: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3760
3982
  };
3761
- between: ((key: string, value: [number | RawExpression | Query, number | RawExpression | Query], values: unknown[]) => string) & {
3762
- type: [number | RawExpression | Query, number | RawExpression | Query];
3983
+ endsWith: ((key: string, value: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3984
+ type: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3763
3985
  };
3764
- equals: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3765
- type: number | RawExpression | Query;
3986
+ endsWithSensitive: ((key: string, value: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3987
+ type: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3766
3988
  };
3767
- not: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3768
- type: number | RawExpression | Query;
3989
+ equals: ((key: string, value: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3990
+ type: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3769
3991
  };
3770
- in: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
3771
- type: RawExpression | number[] | Query;
3992
+ not: ((key: string, value: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3993
+ type: string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3772
3994
  };
3773
- notIn: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
3774
- type: RawExpression | number[] | Query;
3995
+ in: ((key: string, value: string[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3996
+ type: string[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3997
+ };
3998
+ notIn: ((key: string, value: string[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
3999
+ type: string[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3775
4000
  };
3776
4001
  };
3777
- data: ColumnData;
4002
+ toCode(t: string): Code;
3778
4003
  }
3779
- declare class DecimalBaseColumn<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined> extends ColumnType<string, typeof Operators.number> {
3780
- data: ColumnData & {
3781
- numericPrecision: Precision;
3782
- numericScale: Scale;
3783
- };
4004
+
4005
+ declare class EnumColumn<U extends string = string, T extends [U, ...U[]] = [U]> extends ColumnType<T[number], typeof Operators.any> {
4006
+ enumName: string;
4007
+ options: T;
3784
4008
  operators: {
3785
- lt: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3786
- type: number | RawExpression | Query;
4009
+ equals: ((key: string, value: any, values: unknown[]) => string) & {
4010
+ type: any;
3787
4011
  };
3788
- lte: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3789
- type: number | RawExpression | Query;
4012
+ not: ((key: string, value: any, values: unknown[]) => string) & {
4013
+ type: any;
3790
4014
  };
3791
- gt: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3792
- type: number | RawExpression | Query;
4015
+ in: ((key: string, value: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4016
+ type: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3793
4017
  };
3794
- gte: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3795
- type: number | RawExpression | Query;
4018
+ notIn: ((key: string, value: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4019
+ type: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3796
4020
  };
3797
- between: ((key: string, value: [number | RawExpression | Query, number | RawExpression | Query], values: unknown[]) => string) & {
3798
- type: [number | RawExpression | Query, number | RawExpression | Query];
4021
+ };
4022
+ dataType: string;
4023
+ constructor(enumName: string, options: T);
4024
+ toCode(t: string, migration?: boolean): Code;
4025
+ toSQL(): string;
4026
+ }
4027
+
4028
+ declare class BooleanColumn extends ColumnType<boolean, typeof Operators.boolean> {
4029
+ dataType: "boolean";
4030
+ operators: {
4031
+ equals: ((key: string, value: boolean | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4032
+ type: boolean | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3799
4033
  };
3800
- equals: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3801
- type: number | RawExpression | Query;
4034
+ not: ((key: string, value: boolean | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4035
+ type: boolean | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
3802
4036
  };
3803
- not: ((key: string, value: number | RawExpression | Query, values: unknown[]) => string) & {
3804
- type: number | RawExpression | Query;
4037
+ in: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | boolean[], values: unknown[]) => string) & {
4038
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | boolean[];
3805
4039
  };
3806
- in: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
3807
- type: RawExpression | number[] | Query;
3808
- };
3809
- notIn: ((key: string, value: RawExpression | number[] | Query, values: unknown[]) => string) & {
3810
- type: RawExpression | number[] | Query;
4040
+ notIn: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | boolean[], values: unknown[]) => string) & {
4041
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | boolean[];
3811
4042
  };
3812
4043
  };
3813
- dataType: "decimal";
3814
- constructor(numericPrecision?: Precision, numericScale?: Scale);
3815
- toCode(t: string): Code;
3816
- toSQL(): string;
3817
- }
3818
- type IdentityColumn<T extends ColumnTypeBase> = ColumnWithDefault<T, RawExpression>;
3819
- declare class SmallIntColumn extends IntegerBaseColumn {
3820
- dataType: "smallint";
3821
- parseItem: typeof parseInt;
3822
- toCode(t: string): Code;
3823
- identity<T extends ColumnType>(this: T, options?: TableData.Identity): IdentityColumn<T>;
3824
- }
3825
- declare class IntegerColumn extends IntegerBaseColumn {
3826
- dataType: "integer";
3827
- parseItem: typeof parseInt;
3828
- toCode(t: string): Code;
3829
- identity<T extends ColumnType>(this: T, options?: TableData.Identity): IdentityColumn<T>;
3830
- }
3831
- declare class BigIntColumn extends NumberAsStringBaseColumn {
3832
- dataType: "bigint";
3833
- toCode(t: string): Code;
3834
- identity<T extends ColumnType>(this: T, options?: TableData.Identity): IdentityColumn<T>;
3835
- }
3836
- declare class DecimalColumn<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined> extends DecimalBaseColumn<Precision, Scale> {
3837
- }
3838
- declare class RealColumn extends NumberBaseColumn {
3839
- dataType: "real";
3840
- parseItem: typeof parseFloat;
3841
- toCode(t: string): Code;
3842
- }
3843
- declare class DoublePrecisionColumn extends NumberAsStringBaseColumn {
3844
- dataType: "double precision";
3845
- toCode(t: string): Code;
3846
- }
3847
- declare class SmallSerialColumn extends IntegerBaseColumn {
3848
- dataType: "smallint";
3849
- parseItem: typeof parseInt;
3850
- data: SerialColumnData;
3851
- constructor();
3852
- toSQL(): string;
3853
- toCode(t: string): Code;
3854
- }
3855
- declare class SerialColumn extends IntegerBaseColumn {
3856
- dataType: "integer";
3857
- parseItem: typeof parseInt;
3858
- data: SerialColumnData;
3859
- constructor();
3860
- toSQL(): string;
3861
- toCode(t: string): Code;
3862
- }
3863
- declare class BigSerialColumn extends NumberAsStringBaseColumn {
3864
- dataType: "bigint";
3865
- data: SerialColumnData;
3866
- toSql(): string;
3867
4044
  toCode(t: string): Code;
4045
+ parseItem: (input: string) => boolean;
3868
4046
  }
3869
4047
 
3870
4048
  type StringColumn = ColumnType<string, typeof Operators.text>;
@@ -4072,35 +4250,35 @@ interface TextBaseColumn extends ColumnType<string, typeof Operators.text>, Text
4072
4250
  declare abstract class TextBaseColumn extends ColumnType<string, typeof Operators.text> {
4073
4251
  data: TextColumnData;
4074
4252
  operators: {
4075
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4076
- type: string | RawExpression | Query;
4253
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4254
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4077
4255
  };
4078
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4079
- type: string | RawExpression | Query;
4256
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4257
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4080
4258
  };
4081
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4082
- type: string | RawExpression | Query;
4259
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4260
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4083
4261
  };
4084
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4085
- type: string | RawExpression | Query;
4262
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4263
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4086
4264
  };
4087
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4088
- type: string | RawExpression | Query;
4265
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4266
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4089
4267
  };
4090
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4091
- type: string | RawExpression | Query;
4268
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4269
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4092
4270
  };
4093
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4094
- type: string | RawExpression | Query;
4271
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4272
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4095
4273
  };
4096
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4097
- type: string | RawExpression | Query;
4274
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4275
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4098
4276
  };
4099
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4100
- type: string[] | RawExpression | Query;
4277
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4278
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4101
4279
  };
4102
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4103
- type: string[] | RawExpression | Query;
4280
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4281
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4104
4282
  };
4105
4283
  };
4106
4284
  }
@@ -4131,35 +4309,35 @@ declare class TextColumn extends TextBaseColumn {
4131
4309
  declare class ByteaColumn extends ColumnType<Buffer, typeof Operators.text> {
4132
4310
  dataType: "bytea";
4133
4311
  operators: {
4134
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4135
- type: string | RawExpression | Query;
4312
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4313
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4136
4314
  };
4137
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4138
- type: string | RawExpression | Query;
4315
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4316
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4139
4317
  };
4140
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4141
- type: string | RawExpression | Query;
4318
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4319
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4142
4320
  };
4143
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4144
- type: string | RawExpression | Query;
4321
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4322
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4145
4323
  };
4146
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4147
- type: string | RawExpression | Query;
4324
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4325
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4148
4326
  };
4149
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4150
- type: string | RawExpression | Query;
4327
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4328
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4151
4329
  };
4152
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4153
- type: string | RawExpression | Query;
4330
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4331
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4154
4332
  };
4155
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4156
- type: string | RawExpression | Query;
4333
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4334
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4157
4335
  };
4158
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4159
- type: string[] | RawExpression | Query;
4336
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4337
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4160
4338
  };
4161
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4162
- type: string[] | RawExpression | Query;
4339
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4340
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4163
4341
  };
4164
4342
  };
4165
4343
  toCode(t: string): Code;
@@ -4167,35 +4345,35 @@ declare class ByteaColumn extends ColumnType<Buffer, typeof Operators.text> {
4167
4345
  declare class PointColumn extends ColumnType<string, typeof Operators.text> {
4168
4346
  dataType: "point";
4169
4347
  operators: {
4170
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4171
- type: string | RawExpression | Query;
4348
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4349
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4172
4350
  };
4173
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4174
- type: string | RawExpression | Query;
4351
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4352
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4175
4353
  };
4176
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4177
- type: string | RawExpression | Query;
4354
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4355
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4178
4356
  };
4179
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4180
- type: string | RawExpression | Query;
4357
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4358
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4181
4359
  };
4182
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4183
- type: string | RawExpression | Query;
4360
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4361
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4184
4362
  };
4185
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4186
- type: string | RawExpression | Query;
4363
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4364
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4187
4365
  };
4188
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4189
- type: string | RawExpression | Query;
4366
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4367
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4190
4368
  };
4191
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4192
- type: string | RawExpression | Query;
4369
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4370
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4193
4371
  };
4194
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4195
- type: string[] | RawExpression | Query;
4372
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4373
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4196
4374
  };
4197
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4198
- type: string[] | RawExpression | Query;
4375
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4376
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4199
4377
  };
4200
4378
  };
4201
4379
  toCode(t: string): Code;
@@ -4203,35 +4381,35 @@ declare class PointColumn extends ColumnType<string, typeof Operators.text> {
4203
4381
  declare class LineColumn extends ColumnType<string, typeof Operators.text> {
4204
4382
  dataType: "line";
4205
4383
  operators: {
4206
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4207
- type: string | RawExpression | Query;
4384
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4385
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4208
4386
  };
4209
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4210
- type: string | RawExpression | Query;
4387
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4388
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4211
4389
  };
4212
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4213
- type: string | RawExpression | Query;
4390
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4391
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4214
4392
  };
4215
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4216
- type: string | RawExpression | Query;
4393
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4394
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4217
4395
  };
4218
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4219
- type: string | RawExpression | Query;
4396
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4397
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4220
4398
  };
4221
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4222
- type: string | RawExpression | Query;
4399
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4400
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4223
4401
  };
4224
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4225
- type: string | RawExpression | Query;
4402
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4403
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4226
4404
  };
4227
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4228
- type: string | RawExpression | Query;
4405
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4406
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4229
4407
  };
4230
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4231
- type: string[] | RawExpression | Query;
4408
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4409
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4232
4410
  };
4233
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4234
- type: string[] | RawExpression | Query;
4411
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4412
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4235
4413
  };
4236
4414
  };
4237
4415
  toCode(t: string): Code;
@@ -4239,35 +4417,35 @@ declare class LineColumn extends ColumnType<string, typeof Operators.text> {
4239
4417
  declare class LsegColumn extends ColumnType<string, typeof Operators.text> {
4240
4418
  dataType: "lseg";
4241
4419
  operators: {
4242
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4243
- type: string | RawExpression | Query;
4420
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4421
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4244
4422
  };
4245
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4246
- type: string | RawExpression | Query;
4423
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4424
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4247
4425
  };
4248
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4249
- type: string | RawExpression | Query;
4426
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4427
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4250
4428
  };
4251
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4252
- type: string | RawExpression | Query;
4429
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4430
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4253
4431
  };
4254
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4255
- type: string | RawExpression | Query;
4432
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4433
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4256
4434
  };
4257
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4258
- type: string | RawExpression | Query;
4435
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4436
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4259
4437
  };
4260
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4261
- type: string | RawExpression | Query;
4438
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4439
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4262
4440
  };
4263
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4264
- type: string | RawExpression | Query;
4441
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4442
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4265
4443
  };
4266
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4267
- type: string[] | RawExpression | Query;
4444
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4445
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4268
4446
  };
4269
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4270
- type: string[] | RawExpression | Query;
4447
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4448
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4271
4449
  };
4272
4450
  };
4273
4451
  toCode(t: string): Code;
@@ -4275,35 +4453,35 @@ declare class LsegColumn extends ColumnType<string, typeof Operators.text> {
4275
4453
  declare class BoxColumn extends ColumnType<string, typeof Operators.text> {
4276
4454
  dataType: "box";
4277
4455
  operators: {
4278
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4279
- type: string | RawExpression | Query;
4456
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4457
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4280
4458
  };
4281
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4282
- type: string | RawExpression | Query;
4459
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4460
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4283
4461
  };
4284
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4285
- type: string | RawExpression | Query;
4462
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4463
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4286
4464
  };
4287
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4288
- type: string | RawExpression | Query;
4465
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4466
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4289
4467
  };
4290
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4291
- type: string | RawExpression | Query;
4468
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4469
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4292
4470
  };
4293
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4294
- type: string | RawExpression | Query;
4471
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4472
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4295
4473
  };
4296
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4297
- type: string | RawExpression | Query;
4474
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4475
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4298
4476
  };
4299
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4300
- type: string | RawExpression | Query;
4477
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4478
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4301
4479
  };
4302
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4303
- type: string[] | RawExpression | Query;
4480
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4481
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4304
4482
  };
4305
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4306
- type: string[] | RawExpression | Query;
4483
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4484
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4307
4485
  };
4308
4486
  };
4309
4487
  toCode(t: string): Code;
@@ -4311,35 +4489,35 @@ declare class BoxColumn extends ColumnType<string, typeof Operators.text> {
4311
4489
  declare class PathColumn extends ColumnType<string, typeof Operators.text> {
4312
4490
  dataType: "path";
4313
4491
  operators: {
4314
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4315
- type: string | RawExpression | Query;
4492
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4493
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4316
4494
  };
4317
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4318
- type: string | RawExpression | Query;
4495
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4496
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4319
4497
  };
4320
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4321
- type: string | RawExpression | Query;
4498
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4499
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4322
4500
  };
4323
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4324
- type: string | RawExpression | Query;
4501
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4502
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4325
4503
  };
4326
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4327
- type: string | RawExpression | Query;
4504
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4505
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4328
4506
  };
4329
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4330
- type: string | RawExpression | Query;
4507
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4508
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4331
4509
  };
4332
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4333
- type: string | RawExpression | Query;
4510
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4511
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4334
4512
  };
4335
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4336
- type: string | RawExpression | Query;
4513
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4514
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4337
4515
  };
4338
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4339
- type: string[] | RawExpression | Query;
4516
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4517
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4340
4518
  };
4341
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4342
- type: string[] | RawExpression | Query;
4519
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4520
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4343
4521
  };
4344
4522
  };
4345
4523
  toCode(t: string): Code;
@@ -4347,35 +4525,35 @@ declare class PathColumn extends ColumnType<string, typeof Operators.text> {
4347
4525
  declare class PolygonColumn extends ColumnType<string, typeof Operators.text> {
4348
4526
  dataType: "polygon";
4349
4527
  operators: {
4350
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4351
- type: string | RawExpression | Query;
4528
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4529
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4352
4530
  };
4353
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4354
- type: string | RawExpression | Query;
4531
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4532
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4355
4533
  };
4356
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4357
- type: string | RawExpression | Query;
4534
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4535
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4358
4536
  };
4359
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4360
- type: string | RawExpression | Query;
4537
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4538
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4361
4539
  };
4362
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4363
- type: string | RawExpression | Query;
4540
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4541
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4364
4542
  };
4365
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4366
- type: string | RawExpression | Query;
4543
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4544
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4367
4545
  };
4368
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4369
- type: string | RawExpression | Query;
4546
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4547
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4370
4548
  };
4371
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4372
- type: string | RawExpression | Query;
4549
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4550
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4373
4551
  };
4374
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4375
- type: string[] | RawExpression | Query;
4552
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4553
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4376
4554
  };
4377
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4378
- type: string[] | RawExpression | Query;
4555
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4556
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4379
4557
  };
4380
4558
  };
4381
4559
  toCode(t: string): Code;
@@ -4383,35 +4561,35 @@ declare class PolygonColumn extends ColumnType<string, typeof Operators.text> {
4383
4561
  declare class CircleColumn extends ColumnType<string, typeof Operators.text> {
4384
4562
  dataType: "circle";
4385
4563
  operators: {
4386
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4387
- type: string | RawExpression | Query;
4564
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4565
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4388
4566
  };
4389
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4390
- type: string | RawExpression | Query;
4567
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4568
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4391
4569
  };
4392
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4393
- type: string | RawExpression | Query;
4570
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4571
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4394
4572
  };
4395
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4396
- type: string | RawExpression | Query;
4573
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4574
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4397
4575
  };
4398
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4399
- type: string | RawExpression | Query;
4576
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4577
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4400
4578
  };
4401
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4402
- type: string | RawExpression | Query;
4579
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4580
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4403
4581
  };
4404
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4405
- type: string | RawExpression | Query;
4582
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4583
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4406
4584
  };
4407
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4408
- type: string | RawExpression | Query;
4585
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4586
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4409
4587
  };
4410
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4411
- type: string[] | RawExpression | Query;
4588
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4589
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4412
4590
  };
4413
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4414
- type: string[] | RawExpression | Query;
4591
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4592
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4415
4593
  };
4416
4594
  };
4417
4595
  toCode(t: string): Code;
@@ -4426,35 +4604,35 @@ declare class MoneyColumn extends NumberBaseColumn {
4426
4604
  declare class CidrColumn extends ColumnType<string, typeof Operators.text> {
4427
4605
  dataType: "cidr";
4428
4606
  operators: {
4429
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4430
- type: string | RawExpression | Query;
4607
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4608
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4431
4609
  };
4432
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4433
- type: string | RawExpression | Query;
4610
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4611
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4434
4612
  };
4435
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4436
- type: string | RawExpression | Query;
4613
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4614
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4437
4615
  };
4438
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4439
- type: string | RawExpression | Query;
4616
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4617
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4440
4618
  };
4441
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4442
- type: string | RawExpression | Query;
4619
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4620
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4443
4621
  };
4444
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4445
- type: string | RawExpression | Query;
4622
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4623
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4446
4624
  };
4447
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4448
- type: string | RawExpression | Query;
4625
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4626
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4449
4627
  };
4450
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4451
- type: string | RawExpression | Query;
4628
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4629
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4452
4630
  };
4453
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4454
- type: string[] | RawExpression | Query;
4631
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4632
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4455
4633
  };
4456
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4457
- type: string[] | RawExpression | Query;
4634
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4635
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4458
4636
  };
4459
4637
  };
4460
4638
  toCode(t: string): Code;
@@ -4462,35 +4640,35 @@ declare class CidrColumn extends ColumnType<string, typeof Operators.text> {
4462
4640
  declare class InetColumn extends ColumnType<string, typeof Operators.text> {
4463
4641
  dataType: "inet";
4464
4642
  operators: {
4465
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4466
- type: string | RawExpression | Query;
4643
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4644
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4467
4645
  };
4468
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4469
- type: string | RawExpression | Query;
4646
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4647
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4470
4648
  };
4471
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4472
- type: string | RawExpression | Query;
4649
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4650
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4473
4651
  };
4474
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4475
- type: string | RawExpression | Query;
4652
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4653
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4476
4654
  };
4477
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4478
- type: string | RawExpression | Query;
4655
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4656
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4479
4657
  };
4480
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4481
- type: string | RawExpression | Query;
4658
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4659
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4482
4660
  };
4483
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4484
- type: string | RawExpression | Query;
4661
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4662
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4485
4663
  };
4486
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4487
- type: string | RawExpression | Query;
4664
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4665
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4488
4666
  };
4489
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4490
- type: string[] | RawExpression | Query;
4667
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4668
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4491
4669
  };
4492
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4493
- type: string[] | RawExpression | Query;
4670
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4671
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4494
4672
  };
4495
4673
  };
4496
4674
  toCode(t: string): Code;
@@ -4498,35 +4676,35 @@ declare class InetColumn extends ColumnType<string, typeof Operators.text> {
4498
4676
  declare class MacAddrColumn extends ColumnType<string, typeof Operators.text> {
4499
4677
  dataType: "macaddr";
4500
4678
  operators: {
4501
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4502
- type: string | RawExpression | Query;
4679
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4680
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4503
4681
  };
4504
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4505
- type: string | RawExpression | Query;
4682
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4683
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4506
4684
  };
4507
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4508
- type: string | RawExpression | Query;
4685
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4686
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4509
4687
  };
4510
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4511
- type: string | RawExpression | Query;
4688
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4689
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4512
4690
  };
4513
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4514
- type: string | RawExpression | Query;
4691
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4692
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4515
4693
  };
4516
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4517
- type: string | RawExpression | Query;
4694
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4695
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4518
4696
  };
4519
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4520
- type: string | RawExpression | Query;
4697
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4698
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4521
4699
  };
4522
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4523
- type: string | RawExpression | Query;
4700
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4701
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4524
4702
  };
4525
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4526
- type: string[] | RawExpression | Query;
4703
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4704
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4527
4705
  };
4528
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4529
- type: string[] | RawExpression | Query;
4706
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4707
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4530
4708
  };
4531
4709
  };
4532
4710
  toCode(t: string): Code;
@@ -4534,35 +4712,35 @@ declare class MacAddrColumn extends ColumnType<string, typeof Operators.text> {
4534
4712
  declare class MacAddr8Column extends ColumnType<string, typeof Operators.text> {
4535
4713
  dataType: "macaddr8";
4536
4714
  operators: {
4537
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4538
- type: string | RawExpression | Query;
4715
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4716
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4539
4717
  };
4540
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4541
- type: string | RawExpression | Query;
4718
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4719
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4542
4720
  };
4543
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4544
- type: string | RawExpression | Query;
4721
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4722
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4545
4723
  };
4546
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4547
- type: string | RawExpression | Query;
4724
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4725
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4548
4726
  };
4549
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4550
- type: string | RawExpression | Query;
4727
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4728
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4551
4729
  };
4552
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4553
- type: string | RawExpression | Query;
4730
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4731
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4554
4732
  };
4555
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4556
- type: string | RawExpression | Query;
4733
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4734
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4557
4735
  };
4558
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4559
- type: string | RawExpression | Query;
4736
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4737
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4560
4738
  };
4561
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4562
- type: string[] | RawExpression | Query;
4739
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4740
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4563
4741
  };
4564
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4565
- type: string[] | RawExpression | Query;
4742
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4743
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4566
4744
  };
4567
4745
  };
4568
4746
  toCode(t: string): Code;
@@ -4570,35 +4748,35 @@ declare class MacAddr8Column extends ColumnType<string, typeof Operators.text> {
4570
4748
  declare class BitColumn<Length extends number> extends ColumnType<string, typeof Operators.text> {
4571
4749
  dataType: "bit";
4572
4750
  operators: {
4573
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4574
- type: string | RawExpression | Query;
4751
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4752
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4575
4753
  };
4576
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4577
- type: string | RawExpression | Query;
4754
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4755
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4578
4756
  };
4579
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4580
- type: string | RawExpression | Query;
4757
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4758
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4581
4759
  };
4582
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4583
- type: string | RawExpression | Query;
4760
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4761
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4584
4762
  };
4585
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4586
- type: string | RawExpression | Query;
4763
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4764
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4587
4765
  };
4588
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4589
- type: string | RawExpression | Query;
4766
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4767
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4590
4768
  };
4591
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4592
- type: string | RawExpression | Query;
4769
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4770
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4593
4771
  };
4594
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4595
- type: string | RawExpression | Query;
4772
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4773
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4596
4774
  };
4597
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4598
- type: string[] | RawExpression | Query;
4775
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4776
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4599
4777
  };
4600
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4601
- type: string[] | RawExpression | Query;
4778
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4779
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4602
4780
  };
4603
4781
  };
4604
4782
  data: ColumnData & {
@@ -4611,35 +4789,35 @@ declare class BitColumn<Length extends number> extends ColumnType<string, typeof
4611
4789
  declare class BitVaryingColumn<Length extends number | undefined = undefined> extends ColumnType<string, typeof Operators.text> {
4612
4790
  dataType: "bit varying";
4613
4791
  operators: {
4614
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4615
- type: string | RawExpression | Query;
4792
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4793
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4616
4794
  };
4617
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4618
- type: string | RawExpression | Query;
4795
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4796
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4619
4797
  };
4620
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4621
- type: string | RawExpression | Query;
4798
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4799
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4622
4800
  };
4623
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4624
- type: string | RawExpression | Query;
4801
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4802
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4625
4803
  };
4626
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4627
- type: string | RawExpression | Query;
4804
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4805
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4628
4806
  };
4629
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4630
- type: string | RawExpression | Query;
4807
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4808
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4631
4809
  };
4632
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4633
- type: string | RawExpression | Query;
4810
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4811
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4634
4812
  };
4635
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4636
- type: string | RawExpression | Query;
4813
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4814
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4637
4815
  };
4638
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4639
- type: string[] | RawExpression | Query;
4816
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4817
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4640
4818
  };
4641
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4642
- type: string[] | RawExpression | Query;
4819
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4820
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4643
4821
  };
4644
4822
  };
4645
4823
  data: ColumnData & {
@@ -4652,35 +4830,35 @@ declare class BitVaryingColumn<Length extends number | undefined = undefined> ex
4652
4830
  declare class TsVectorColumn extends ColumnType<string, typeof Operators.text> {
4653
4831
  dataType: "tsvector";
4654
4832
  operators: {
4655
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4656
- type: string | RawExpression | Query;
4833
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4834
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4657
4835
  };
4658
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4659
- type: string | RawExpression | Query;
4836
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4837
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4660
4838
  };
4661
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4662
- type: string | RawExpression | Query;
4839
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4840
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4663
4841
  };
4664
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4665
- type: string | RawExpression | Query;
4842
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4843
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4666
4844
  };
4667
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4668
- type: string | RawExpression | Query;
4845
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4846
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4669
4847
  };
4670
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4671
- type: string | RawExpression | Query;
4848
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4849
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4672
4850
  };
4673
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4674
- type: string | RawExpression | Query;
4851
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4852
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4675
4853
  };
4676
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4677
- type: string | RawExpression | Query;
4854
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4855
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4678
4856
  };
4679
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4680
- type: string[] | RawExpression | Query;
4857
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4858
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4681
4859
  };
4682
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4683
- type: string[] | RawExpression | Query;
4860
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4861
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4684
4862
  };
4685
4863
  };
4686
4864
  toCode(t: string): Code;
@@ -4688,35 +4866,35 @@ declare class TsVectorColumn extends ColumnType<string, typeof Operators.text> {
4688
4866
  declare class TsQueryColumn extends ColumnType<string, typeof Operators.text> {
4689
4867
  dataType: "tsquery";
4690
4868
  operators: {
4691
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4692
- type: string | RawExpression | Query;
4869
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4870
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4693
4871
  };
4694
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4695
- type: string | RawExpression | Query;
4872
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4873
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4696
4874
  };
4697
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4698
- type: string | RawExpression | Query;
4875
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4876
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4699
4877
  };
4700
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4701
- type: string | RawExpression | Query;
4878
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4879
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4702
4880
  };
4703
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4704
- type: string | RawExpression | Query;
4881
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4882
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4705
4883
  };
4706
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4707
- type: string | RawExpression | Query;
4884
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4885
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4708
4886
  };
4709
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4710
- type: string | RawExpression | Query;
4887
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4888
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4711
4889
  };
4712
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4713
- type: string | RawExpression | Query;
4890
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4891
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4714
4892
  };
4715
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4716
- type: string[] | RawExpression | Query;
4893
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4894
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4717
4895
  };
4718
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4719
- type: string[] | RawExpression | Query;
4896
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4897
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4720
4898
  };
4721
4899
  };
4722
4900
  toCode(t: string): Code;
@@ -4724,35 +4902,35 @@ declare class TsQueryColumn extends ColumnType<string, typeof Operators.text> {
4724
4902
  declare class UUIDColumn extends ColumnType<string, typeof Operators.text> {
4725
4903
  dataType: "uuid";
4726
4904
  operators: {
4727
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4728
- type: string | RawExpression | Query;
4905
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4906
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4729
4907
  };
4730
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4731
- type: string | RawExpression | Query;
4908
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4909
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4732
4910
  };
4733
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4734
- type: string | RawExpression | Query;
4911
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4912
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4735
4913
  };
4736
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4737
- type: string | RawExpression | Query;
4914
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4915
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4738
4916
  };
4739
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4740
- type: string | RawExpression | Query;
4917
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4918
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4741
4919
  };
4742
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4743
- type: string | RawExpression | Query;
4920
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4921
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4744
4922
  };
4745
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4746
- type: string | RawExpression | Query;
4923
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4924
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4747
4925
  };
4748
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4749
- type: string | RawExpression | Query;
4926
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4927
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4750
4928
  };
4751
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4752
- type: string[] | RawExpression | Query;
4929
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4930
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4753
4931
  };
4754
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4755
- type: string[] | RawExpression | Query;
4932
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4933
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4756
4934
  };
4757
4935
  };
4758
4936
  primaryKey<T extends ColumnType>(this: T): PrimaryKeyColumn<T>;
@@ -4761,35 +4939,35 @@ declare class UUIDColumn extends ColumnType<string, typeof Operators.text> {
4761
4939
  declare class XMLColumn extends ColumnType<string, typeof Operators.text> {
4762
4940
  dataType: "xml";
4763
4941
  operators: {
4764
- contains: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4765
- type: string | RawExpression | Query;
4942
+ contains: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4943
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4766
4944
  };
4767
- containsSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4768
- type: string | RawExpression | Query;
4945
+ containsSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4946
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4769
4947
  };
4770
- startsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4771
- type: string | RawExpression | Query;
4948
+ startsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4949
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4772
4950
  };
4773
- startsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4774
- type: string | RawExpression | Query;
4951
+ startsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4952
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4775
4953
  };
4776
- endsWith: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4777
- type: string | RawExpression | Query;
4954
+ endsWith: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4955
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4778
4956
  };
4779
- endsWithSensitive: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4780
- type: string | RawExpression | Query;
4957
+ endsWithSensitive: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4958
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4781
4959
  };
4782
- equals: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4783
- type: string | RawExpression | Query;
4960
+ equals: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4961
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4784
4962
  };
4785
- not: ((key: string, value: string | RawExpression | Query, values: unknown[]) => string) & {
4786
- type: string | RawExpression | Query;
4963
+ not: ((key: string, value: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4964
+ type: string | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4787
4965
  };
4788
- in: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4789
- type: string[] | RawExpression | Query;
4966
+ in: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4967
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4790
4968
  };
4791
- notIn: ((key: string, value: string[] | RawExpression | Query, values: unknown[]) => string) & {
4792
- type: string[] | RawExpression | Query;
4969
+ notIn: ((key: string, value: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4970
+ type: string[] | Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4793
4971
  };
4794
4972
  };
4795
4973
  toCode(t: string): Code;
@@ -4804,142 +4982,33 @@ declare class CitextColumn extends TextBaseColumn {
4804
4982
  toCode(t: string): Code;
4805
4983
  }
4806
4984
 
4807
- interface DateBaseColumn extends ColumnType<string, typeof Operators.date, string | number | Date>, DateTypeMethods {
4808
- }
4809
- declare abstract class DateBaseColumn extends ColumnType<string, typeof Operators.date, string | number | Date> {
4810
- data: DateColumnData;
4811
- operators: {
4812
- lt: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4813
- type: orchid_core.RawExpression | Date | Query;
4814
- };
4815
- lte: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4816
- type: orchid_core.RawExpression | Date | Query;
4817
- };
4818
- gt: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4819
- type: orchid_core.RawExpression | Date | Query;
4820
- };
4821
- gte: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4822
- type: orchid_core.RawExpression | Date | Query;
4823
- };
4824
- between: ((key: string, value: [orchid_core.RawExpression | Date | Query, orchid_core.RawExpression | Date | Query], values: unknown[]) => string) & {
4825
- type: [orchid_core.RawExpression | Date | Query, orchid_core.RawExpression | Date | Query];
4826
- };
4827
- equals: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4828
- type: orchid_core.RawExpression | Date | Query;
4829
- };
4830
- not: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4831
- type: orchid_core.RawExpression | Date | Query;
4832
- };
4833
- in: ((key: string, value: orchid_core.RawExpression | Query | Date[], values: unknown[]) => string) & {
4834
- type: orchid_core.RawExpression | Query | Date[];
4835
- };
4836
- notIn: ((key: string, value: orchid_core.RawExpression | Query | Date[], values: unknown[]) => string) & {
4837
- type: orchid_core.RawExpression | Query | Date[];
4838
- };
4839
- };
4840
- encodeFn: (input: string | number | Date) => Date;
4841
- asNumber(): EncodeColumn<IntegerColumn, string | number | Date>;
4842
- asDate<T extends ColumnType>(this: T): ParseColumn<T, Date>;
4843
- }
4844
- declare class DateColumn extends DateBaseColumn {
4845
- dataType: "date";
4846
- toCode(t: string): Code;
4847
- }
4848
- declare abstract class DateTimeBaseClass<Precision extends number | undefined = undefined> extends DateBaseColumn {
4849
- data: DateColumnData & {
4850
- dateTimePrecision: Precision;
4851
- };
4852
- constructor(dateTimePrecision?: Precision);
4853
- toSQL(): string;
4854
- }
4855
- declare abstract class DateTimeTzBaseClass<Precision extends number | undefined = undefined> extends DateTimeBaseClass<Precision> {
4856
- abstract baseDataType: string;
4857
- toSQL(): string;
4858
- }
4859
- declare class TimestampColumn<Precision extends number> extends DateTimeBaseClass<Precision> {
4860
- dataType: "timestamp";
4861
- toCode(t: string): Code;
4862
- }
4863
- declare class TimestampTZColumn<Precision extends number> extends DateTimeTzBaseClass<Precision> {
4864
- dataType: "timestamptz";
4865
- baseDataType: "timestamp";
4866
- toCode(t: string): Code;
4867
- }
4868
- declare class TimeColumn<Precision extends number | undefined = undefined> extends DateTimeBaseClass<Precision> {
4869
- dataType: "time";
4870
- toCode(t: string): Code;
4871
- }
4872
- type TimeInterval = {
4873
- years?: number;
4874
- months?: number;
4875
- days?: number;
4876
- hours?: number;
4877
- minutes?: number;
4878
- seconds?: number;
4879
- };
4880
- declare class IntervalColumn<Fields extends string | undefined = undefined, Precision extends number | undefined = undefined> extends ColumnType<TimeInterval, typeof Operators.date> {
4881
- dataType: "interval";
4882
- data: ColumnData & {
4883
- fields: Fields;
4884
- precision: Precision;
4885
- };
4886
- operators: {
4887
- lt: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4888
- type: orchid_core.RawExpression | Date | Query;
4889
- };
4890
- lte: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4891
- type: orchid_core.RawExpression | Date | Query;
4892
- };
4893
- gt: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4894
- type: orchid_core.RawExpression | Date | Query;
4895
- };
4896
- gte: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4897
- type: orchid_core.RawExpression | Date | Query;
4898
- };
4899
- between: ((key: string, value: [orchid_core.RawExpression | Date | Query, orchid_core.RawExpression | Date | Query], values: unknown[]) => string) & {
4900
- type: [orchid_core.RawExpression | Date | Query, orchid_core.RawExpression | Date | Query];
4901
- };
4902
- equals: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4903
- type: orchid_core.RawExpression | Date | Query;
4904
- };
4905
- not: ((key: string, value: orchid_core.RawExpression | Date | Query, values: unknown[]) => string) & {
4906
- type: orchid_core.RawExpression | Date | Query;
4907
- };
4908
- in: ((key: string, value: orchid_core.RawExpression | Query | Date[], values: unknown[]) => string) & {
4909
- type: orchid_core.RawExpression | Query | Date[];
4910
- };
4911
- notIn: ((key: string, value: orchid_core.RawExpression | Query | Date[], values: unknown[]) => string) & {
4912
- type: orchid_core.RawExpression | Query | Date[];
4913
- };
4914
- };
4915
- constructor(fields?: Fields, precision?: Precision);
4916
- toCode(t: string): Code;
4917
- toSQL(): string;
4918
- }
4919
-
4920
- declare class BooleanColumn extends ColumnType<boolean, typeof Operators.boolean> {
4921
- dataType: "boolean";
4985
+ type ColumnsShape = Record<string, ColumnType>;
4986
+ declare abstract class ColumnsObject<Shape extends ColumnsShapeBase> extends ColumnType<{
4987
+ [K in keyof Shape]: Shape[K]['type'];
4988
+ }, typeof Operators.any> {
4989
+ shape: Shape;
4990
+ dataType: "object";
4922
4991
  operators: {
4923
- equals: ((key: string, value: boolean | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
4924
- type: boolean | orchid_core.RawExpression | Query;
4992
+ equals: ((key: string, value: any, values: unknown[]) => string) & {
4993
+ type: any;
4925
4994
  };
4926
- not: ((key: string, value: boolean | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
4927
- type: boolean | orchid_core.RawExpression | Query;
4995
+ not: ((key: string, value: any, values: unknown[]) => string) & {
4996
+ type: any;
4928
4997
  };
4929
- in: ((key: string, value: orchid_core.RawExpression | Query | boolean[], values: unknown[]) => string) & {
4930
- type: orchid_core.RawExpression | Query | boolean[];
4998
+ in: ((key: string, value: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
4999
+ type: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4931
5000
  };
4932
- notIn: ((key: string, value: orchid_core.RawExpression | Query | boolean[], values: unknown[]) => string) & {
4933
- type: orchid_core.RawExpression | Query | boolean[];
5001
+ notIn: ((key: string, value: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5002
+ type: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4934
5003
  };
4935
5004
  };
4936
- toCode(t: string): Code;
4937
- parseItem: (input: string) => boolean;
5005
+ constructor(shape: Shape);
4938
5006
  }
4939
-
4940
- declare class EnumColumn<U extends string = string, T extends [U, ...U[]] = [U]> extends ColumnType<T[number], typeof Operators.any> {
4941
- enumName: string;
4942
- options: T;
5007
+ declare abstract class ArrayOfColumnsObjects<Shape extends ColumnsShapeBase> extends ColumnType<{
5008
+ [K in keyof Shape]: Shape[K]['type'];
5009
+ }[], typeof Operators.any> {
5010
+ shape: Shape;
5011
+ dataType: "array";
4943
5012
  operators: {
4944
5013
  equals: ((key: string, value: any, values: unknown[]) => string) & {
4945
5014
  type: any;
@@ -4947,200 +5016,43 @@ declare class EnumColumn<U extends string = string, T extends [U, ...U[]] = [U]>
4947
5016
  not: ((key: string, value: any, values: unknown[]) => string) & {
4948
5017
  type: any;
4949
5018
  };
4950
- in: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
4951
- type: any[] | orchid_core.RawExpression | Query;
5019
+ in: ((key: string, value: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5020
+ type: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4952
5021
  };
4953
- notIn: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
4954
- type: any[] | orchid_core.RawExpression | Query;
5022
+ notIn: ((key: string, value: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5023
+ type: any[] | orchid_core.Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
4955
5024
  };
4956
5025
  };
4957
- dataType: string;
4958
- constructor(enumName: string, options: T);
4959
- toCode(t: string, migration?: boolean): Code;
4960
- toSQL(): string;
5026
+ constructor(shape: Shape);
5027
+ }
5028
+ declare abstract class PluckResultColumnType<C extends ColumnTypeBase> extends ColumnTypeBase<C['type'][], typeof Operators.any> {
4961
5029
  }
4962
5030
 
4963
- type JSONTypes = typeof jsonTypes;
4964
- declare const jsonTypes: {
4965
- set: <Value extends JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
4966
- tuple: <T extends [] | orchid_core.JSONTupleItems, Rest extends JSONTypeAny | null = null>(items: T, rest?: Rest) => orchid_core.JSONTuple<T, Rest>;
4967
- union: <T_1 extends [JSONTypeAny, JSONTypeAny, ...JSONTypeAny[]]>(types: T_1) => orchid_core.JSONUnion<T_1>;
4968
- any: () => orchid_core.JSONAny;
4969
- bigint: () => orchid_core.JSONBigInt;
4970
- boolean: () => orchid_core.JSONBoolean;
4971
- date: () => orchid_core.JSONDate;
4972
- nan: () => orchid_core.JSONNaN;
4973
- never: () => orchid_core.JSONNever;
4974
- null: () => orchid_core.JSONNull;
4975
- number: () => orchid_core.JSONNumber;
4976
- string: () => orchid_core.JSONString;
4977
- unknown: () => orchid_core.JSONUnknown;
4978
- array: <Type extends JSONTypeAny>(element: Type) => orchid_core.JSONArray<Type, "many">;
4979
- discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends orchid_core.Primitive, Types extends [orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => orchid_core.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types>;
4980
- enum: <U extends string, T_2 extends [U, ...U[]]>(options: T_2) => orchid_core.JSONEnum<U, T_2>;
4981
- instanceOf: <T_3 extends new (...args: any[]) => any>(cls: T_3) => orchid_core.JSONInstanceOf<T_3>;
4982
- intersection: <Left extends JSONTypeAny, Right extends JSONTypeAny>(left: Left, right: Right) => orchid_core.JSONIntersection<Left, Right>;
4983
- lazy: <T_4 extends JSONTypeAny>(fn: () => T_4) => orchid_core.JSONLazy<T_4>;
4984
- literal: <T_5 extends orchid_core.Primitive>(value: T_5) => orchid_core.JSONLiteral<T_5>;
4985
- map: <Key extends JSONTypeAny, Value_1 extends JSONTypeAny>(keyType: Key, valueType: Value_1) => orchid_core.JSONMap<Key, Value_1>;
4986
- nativeEnum: <T_6 extends orchid_core.EnumLike>(givenEnum: T_6) => orchid_core.JSONNativeEnum<T_6>;
4987
- nullable: <T_7 extends JSONTypeAny>(type: T_7) => orchid_core.JSONNullable<T_7>;
4988
- nullish: <T_8 extends JSONTypeAny>(type: T_8) => orchid_core.JSONNullish<T_8>;
4989
- object: <T_9 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends JSONTypeAny = JSONTypeAny>(shape: T_9) => orchid_core.JSONObject<T_9, UnknownKeys, Catchall, JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }> extends infer T_10 extends object ? { [k in keyof T_10]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }> extends infer T_13 extends object ? { [k in keyof T_13]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }>[k]; } : never) & {
4990
- [k: string]: Catchall["type"];
4991
- } extends infer T_11 extends object ? { [k_2 in keyof T_11]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }> extends infer T_12 extends object ? { [k in keyof T_12]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_9]: T_9[k_1]["type"]; }>[k]; } : never) & {
4992
- [k: string]: Catchall["type"];
4993
- })[k_2]; } : never>;
4994
- optional: <T_14 extends JSONTypeAny>(type: T_14) => orchid_core.JSONOptional<T_14>;
4995
- record: typeof record;
5031
+ type ColumnTypes = typeof columnTypes;
5032
+ type TableData = {
5033
+ primaryKey?: TableData.PrimaryKey;
5034
+ indexes?: TableData.Index[];
5035
+ constraints?: TableData.Constraint[];
4996
5036
  };
4997
- declare class JSONColumn<Type extends JSONTypeAny = JSONTypeAny> extends ColumnType<Type['type'], typeof Operators.json> {
4998
- dataType: "jsonb";
4999
- operators: {
5000
- jsonPath: ((key: string, value: [path: string, op: string, value: unknown], values: unknown[]) => string) & {
5001
- type: [path: string, op: string, value: unknown];
5002
- };
5003
- jsonSupersetOf: ((key: string, value: unknown, values: unknown[]) => string) & {
5004
- type: unknown;
5005
- };
5006
- jsonSubsetOf: ((key: string, value: unknown, values: unknown[]) => string) & {
5007
- type: unknown;
5008
- };
5009
- equals: ((key: string, value: unknown, values: unknown[]) => string) & {
5010
- type: unknown;
5011
- };
5012
- not: ((key: string, value: unknown, values: unknown[]) => string) & {
5013
- type: unknown;
5014
- };
5015
- in: ((key: string, value: unknown[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5016
- type: unknown[] | orchid_core.RawExpression | Query;
5017
- };
5018
- notIn: ((key: string, value: unknown[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5019
- type: unknown[] | orchid_core.RawExpression | Query;
5037
+ declare namespace TableData {
5038
+ type PrimaryKey = {
5039
+ columns: string[];
5040
+ options?: {
5041
+ name?: string;
5020
5042
  };
5021
5043
  };
5022
- data: ColumnData & {
5023
- schema: Type;
5044
+ type Index = {
5045
+ columns: IndexColumnOptions[];
5046
+ options: IndexOptions;
5024
5047
  };
5025
- constructor(schemaOrFn?: Type | ((j: JSONTypes) => Type));
5026
- toCode(t: string): Code;
5027
- }
5028
- declare class JSONTextColumn extends ColumnType<string, typeof Operators.text> {
5029
- dataType: "json";
5030
- operators: {
5031
- contains: ((key: string, value: string | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5032
- type: string | orchid_core.RawExpression | Query;
5033
- };
5034
- containsSensitive: ((key: string, value: string | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5035
- type: string | orchid_core.RawExpression | Query;
5036
- };
5037
- startsWith: ((key: string, value: string | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5038
- type: string | orchid_core.RawExpression | Query;
5039
- };
5040
- startsWithSensitive: ((key: string, value: string | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5041
- type: string | orchid_core.RawExpression | Query;
5042
- };
5043
- endsWith: ((key: string, value: string | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5044
- type: string | orchid_core.RawExpression | Query;
5045
- };
5046
- endsWithSensitive: ((key: string, value: string | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5047
- type: string | orchid_core.RawExpression | Query;
5048
- };
5049
- equals: ((key: string, value: string | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5050
- type: string | orchid_core.RawExpression | Query;
5051
- };
5052
- not: ((key: string, value: string | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5053
- type: string | orchid_core.RawExpression | Query;
5054
- };
5055
- in: ((key: string, value: string[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5056
- type: string[] | orchid_core.RawExpression | Query;
5057
- };
5058
- notIn: ((key: string, value: string[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5059
- type: string[] | orchid_core.RawExpression | Query;
5060
- };
5048
+ type Constraint = {
5049
+ name?: string;
5050
+ check?: Check;
5051
+ identity?: Identity;
5052
+ references?: References;
5053
+ dropMode?: DropMode;
5061
5054
  };
5062
- toCode(t: string): Code;
5063
- }
5064
-
5065
- type ArrayData<Item extends ColumnTypeBase> = ColumnData & ArrayMethodsData & {
5066
- item: Item;
5067
- };
5068
- type ArrayMethods = typeof arrayMethods;
5069
- interface ArrayColumn<Item extends ColumnTypeBase> extends ColumnType<Item['type'][], typeof Operators.array>, ArrayMethods {
5070
- }
5071
- declare class ArrayColumn<Item extends ColumnTypeBase> extends ColumnType<Item['type'][], typeof Operators.array> {
5072
- dataType: "array";
5073
- operators: {
5074
- equals: ((key: string, value: any, values: unknown[]) => string) & {
5075
- type: any;
5076
- };
5077
- not: ((key: string, value: any, values: unknown[]) => string) & {
5078
- type: any;
5079
- };
5080
- in: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5081
- type: any[] | orchid_core.RawExpression | Query;
5082
- };
5083
- notIn: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5084
- type: any[] | orchid_core.RawExpression | Query;
5085
- };
5086
- };
5087
- data: ArrayData<Item>;
5088
- constructor(item: Item);
5089
- toSQL(): string;
5090
- toCode(this: ArrayColumn<Item>, t: string): Code;
5091
- parseFn: ((input: unknown) => unknown[]) & {
5092
- hideFromCode: boolean;
5093
- };
5094
- }
5095
-
5096
- declare class CustomTypeColumn extends ColumnType<unknown, typeof Operators.any> {
5097
- dataType: string;
5098
- operators: {
5099
- equals: ((key: string, value: any, values: unknown[]) => string) & {
5100
- type: any;
5101
- };
5102
- not: ((key: string, value: any, values: unknown[]) => string) & {
5103
- type: any;
5104
- };
5105
- in: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5106
- type: any[] | orchid_core.RawExpression | Query;
5107
- };
5108
- notIn: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5109
- type: any[] | orchid_core.RawExpression | Query;
5110
- };
5111
- };
5112
- constructor(dataType: string);
5113
- toCode(t: string): Code;
5114
- }
5115
- declare class DomainColumn extends CustomTypeColumn {
5116
- toCode(t: string): Code;
5117
- }
5118
-
5119
- type ColumnTypes = typeof columnTypes;
5120
- type TableData = {
5121
- primaryKey?: TableData.PrimaryKey;
5122
- indexes?: TableData.Index[];
5123
- constraints?: TableData.Constraint[];
5124
- };
5125
- declare namespace TableData {
5126
- type PrimaryKey = {
5127
- columns: string[];
5128
- options?: {
5129
- name?: string;
5130
- };
5131
- };
5132
- type Index = {
5133
- columns: IndexColumnOptions[];
5134
- options: IndexOptions;
5135
- };
5136
- type Constraint = {
5137
- name?: string;
5138
- check?: Check;
5139
- identity?: Identity;
5140
- references?: References;
5141
- dropMode?: DropMode;
5142
- };
5143
- type Check = RawExpression;
5055
+ type Check = RawSQLBase;
5144
5056
  type References = {
5145
5057
  columns: string[];
5146
5058
  fnOrTable: (() => ForeignKeyTable) | string;
@@ -5167,10 +5079,10 @@ declare const getTableData: () => TableData;
5167
5079
  declare const resetTableData: (data?: TableData) => void;
5168
5080
  declare const getColumnTypes: <CT extends Record<string, orchid_core.AnyColumnTypeCreator>, Shape extends ColumnsShape>(types: CT, fn: (t: CT) => Shape, nowSQL: string | undefined, data?: TableData) => Shape;
5169
5081
  declare function text(min: number, max: number): TextColumn;
5170
- declare function sql(sql: TemplateStringsArray, ...values: unknown[]): RawExpression;
5171
- declare function sql(sql: string): RawExpression;
5172
- declare function sql(values: Record<string, unknown>, sql: string): RawExpression;
5173
- declare function sql(values: Record<string, unknown>): (...sql: TemplateLiteralArgs) => RawExpression;
5082
+ declare function sql(sql: TemplateStringsArray, ...values: unknown[]): RawSQLBase;
5083
+ declare function sql(sql: string): RawSQLBase;
5084
+ declare function sql(values: Record<string, unknown>, sql: string): RawSQLBase;
5085
+ declare function sql(values: Record<string, unknown>): (...sql: TemplateLiteralArgs) => RawSQLBase;
5174
5086
  type DefaultColumnTypes = typeof columnTypes;
5175
5087
  declare const columnTypes: {
5176
5088
  timestamps<T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
@@ -5179,12 +5091,12 @@ declare const columnTypes: {
5179
5091
  };
5180
5092
  timestamp(): T;
5181
5093
  timestampsSnakeCase(): {
5182
- createdAt: orchid_core.ColumnWithDefault<T, RawExpression>;
5183
- updatedAt: orchid_core.ColumnWithDefault<T, RawExpression>;
5094
+ createdAt: orchid_core.ColumnWithDefault<T, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5095
+ updatedAt: orchid_core.ColumnWithDefault<T, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5184
5096
  };
5185
5097
  }): {
5186
- createdAt: orchid_core.ColumnWithDefault<T, RawExpression>;
5187
- updatedAt: orchid_core.ColumnWithDefault<T, RawExpression>;
5098
+ createdAt: orchid_core.ColumnWithDefault<T, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5099
+ updatedAt: orchid_core.ColumnWithDefault<T, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5188
5100
  };
5189
5101
  timestampsSnakeCase<T_1 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
5190
5102
  name(name: string): {
@@ -5192,8 +5104,8 @@ declare const columnTypes: {
5192
5104
  };
5193
5105
  timestamp(): T_1;
5194
5106
  }): {
5195
- createdAt: orchid_core.ColumnWithDefault<T_1, RawExpression>;
5196
- updatedAt: orchid_core.ColumnWithDefault<T_1, RawExpression>;
5107
+ createdAt: orchid_core.ColumnWithDefault<T_1, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5108
+ updatedAt: orchid_core.ColumnWithDefault<T_1, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5197
5109
  };
5198
5110
  timestampsNoTZ<T_2 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
5199
5111
  name(name: string): {
@@ -5201,12 +5113,12 @@ declare const columnTypes: {
5201
5113
  };
5202
5114
  timestampNoTZ(): T_2;
5203
5115
  timestampsNoTZSnakeCase(): {
5204
- createdAt: orchid_core.ColumnWithDefault<T_2, RawExpression>;
5205
- updatedAt: orchid_core.ColumnWithDefault<T_2, RawExpression>;
5116
+ createdAt: orchid_core.ColumnWithDefault<T_2, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5117
+ updatedAt: orchid_core.ColumnWithDefault<T_2, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5206
5118
  };
5207
5119
  }): {
5208
- createdAt: orchid_core.ColumnWithDefault<T_2, RawExpression>;
5209
- updatedAt: orchid_core.ColumnWithDefault<T_2, RawExpression>;
5120
+ createdAt: orchid_core.ColumnWithDefault<T_2, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5121
+ updatedAt: orchid_core.ColumnWithDefault<T_2, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5210
5122
  };
5211
5123
  timestampsNoTZSnakeCase<T_3 extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
5212
5124
  name(name: string): {
@@ -5214,8 +5126,8 @@ declare const columnTypes: {
5214
5126
  };
5215
5127
  timestampNoTZ(): T_3;
5216
5128
  }): {
5217
- createdAt: orchid_core.ColumnWithDefault<T_3, RawExpression>;
5218
- updatedAt: orchid_core.ColumnWithDefault<T_3, RawExpression>;
5129
+ createdAt: orchid_core.ColumnWithDefault<T_3, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5130
+ updatedAt: orchid_core.ColumnWithDefault<T_3, RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}>>;
5219
5131
  };
5220
5132
  name: typeof name;
5221
5133
  sql: typeof sql;
@@ -5274,15 +5186,297 @@ declare const columnTypes: {
5274
5186
  constraint<Table extends string | (() => ForeignKeyTable), Columns extends Table extends () => ForeignKeyTable ? [ColumnNameOfTable<ReturnType<Table>>, ...ColumnNameOfTable<ReturnType<Table>>[]] : [string, ...string[]]>({ name, references, check, dropMode, }: {
5275
5187
  name?: string | undefined;
5276
5188
  references?: [columns: string[], fnOrTable: Table, foreignColumns: Columns, options?: ForeignKeyOptions | undefined] | undefined;
5277
- check?: RawExpression | undefined;
5189
+ check?: RawSQLBase<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>, {}> | undefined;
5278
5190
  dropMode?: DropMode | undefined;
5279
5191
  }): EmptyObject;
5280
5192
  foreignKey<Table_1 extends string | (() => ForeignKeyTable), Columns_1 extends Table_1 extends () => ForeignKeyTable ? [ColumnNameOfTable<ReturnType<Table_1>>, ...ColumnNameOfTable<ReturnType<Table_1>>[]] : [string, ...string[]]>(columns: string[], fnOrTable: Table_1, foreignColumns: Columns_1, options?: ForeignKeyOptions & {
5281
5193
  name?: string;
5282
5194
  dropMode?: DropMode;
5283
5195
  }): EmptyObject;
5284
- check(check: RawExpression): EmptyObject;
5196
+ check(check: RawSQLBase): EmptyObject;
5197
+ };
5198
+
5199
+ type NumberColumn = ColumnType<number, typeof Operators.number>;
5200
+ type NumberColumnData = BaseNumberData & {
5201
+ identity: TableData.Identity;
5202
+ };
5203
+ type SerialColumnData = NumberColumnData & {
5204
+ default: Expression;
5205
+ };
5206
+ type NumberMethods = typeof numberTypeMethods;
5207
+ interface NumberBaseColumn extends ColumnType<number, typeof Operators.number>, NumberMethods {
5208
+ }
5209
+ declare abstract class NumberBaseColumn extends ColumnType<number, typeof Operators.number> {
5210
+ data: NumberColumnData;
5211
+ operators: {
5212
+ lt: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5213
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5214
+ };
5215
+ lte: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5216
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5217
+ };
5218
+ gt: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5219
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5220
+ };
5221
+ gte: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5222
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5223
+ };
5224
+ between: ((key: string, value: [number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query], values: unknown[]) => string) & {
5225
+ type: [number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query];
5226
+ };
5227
+ equals: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5228
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5229
+ };
5230
+ not: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5231
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5232
+ };
5233
+ in: ((key: string, value: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[], values: unknown[]) => string) & {
5234
+ type: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[];
5235
+ };
5236
+ notIn: ((key: string, value: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[], values: unknown[]) => string) & {
5237
+ type: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[];
5238
+ };
5239
+ };
5240
+ }
5241
+ declare abstract class IntegerBaseColumn extends NumberBaseColumn {
5242
+ data: NumberColumnData;
5243
+ constructor();
5244
+ }
5245
+ declare abstract class NumberAsStringBaseColumn extends ColumnType<string, typeof Operators.number> {
5246
+ operators: {
5247
+ lt: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5248
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5249
+ };
5250
+ lte: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5251
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5252
+ };
5253
+ gt: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5254
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5255
+ };
5256
+ gte: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5257
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5258
+ };
5259
+ between: ((key: string, value: [number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query], values: unknown[]) => string) & {
5260
+ type: [number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query];
5261
+ };
5262
+ equals: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5263
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5264
+ };
5265
+ not: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5266
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5267
+ };
5268
+ in: ((key: string, value: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[], values: unknown[]) => string) & {
5269
+ type: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[];
5270
+ };
5271
+ notIn: ((key: string, value: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[], values: unknown[]) => string) & {
5272
+ type: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[];
5273
+ };
5274
+ };
5275
+ data: ColumnData;
5276
+ }
5277
+ declare class DecimalBaseColumn<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined> extends ColumnType<string, typeof Operators.number> {
5278
+ data: ColumnData & {
5279
+ numericPrecision: Precision;
5280
+ numericScale: Scale;
5281
+ };
5282
+ operators: {
5283
+ lt: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5284
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5285
+ };
5286
+ lte: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5287
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5288
+ };
5289
+ gt: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5290
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5291
+ };
5292
+ gte: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5293
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5294
+ };
5295
+ between: ((key: string, value: [number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query], values: unknown[]) => string) & {
5296
+ type: [number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query];
5297
+ };
5298
+ equals: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5299
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5300
+ };
5301
+ not: ((key: string, value: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5302
+ type: number | Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5303
+ };
5304
+ in: ((key: string, value: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[], values: unknown[]) => string) & {
5305
+ type: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[];
5306
+ };
5307
+ notIn: ((key: string, value: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[], values: unknown[]) => string) & {
5308
+ type: Expression<ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | number[];
5309
+ };
5310
+ };
5311
+ dataType: "decimal";
5312
+ constructor(numericPrecision?: Precision, numericScale?: Scale);
5313
+ toCode(t: string): Code;
5314
+ toSQL(): string;
5315
+ }
5316
+ type IdentityColumn<T extends ColumnTypeBase> = ColumnWithDefault<T, Expression>;
5317
+ declare class SmallIntColumn extends IntegerBaseColumn {
5318
+ dataType: "smallint";
5319
+ parseItem: typeof parseInt;
5320
+ toCode(t: string): Code;
5321
+ identity<T extends ColumnType>(this: T, options?: TableData.Identity): IdentityColumn<T>;
5322
+ }
5323
+ declare class IntegerColumn extends IntegerBaseColumn {
5324
+ dataType: "integer";
5325
+ parseItem: typeof parseInt;
5326
+ toCode(t: string): Code;
5327
+ identity<T extends ColumnType>(this: T, options?: TableData.Identity): IdentityColumn<T>;
5328
+ }
5329
+ declare class BigIntColumn extends NumberAsStringBaseColumn {
5330
+ dataType: "bigint";
5331
+ toCode(t: string): Code;
5332
+ identity<T extends ColumnType>(this: T, options?: TableData.Identity): IdentityColumn<T>;
5333
+ }
5334
+ declare class DecimalColumn<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined> extends DecimalBaseColumn<Precision, Scale> {
5335
+ }
5336
+ declare class RealColumn extends NumberBaseColumn {
5337
+ dataType: "real";
5338
+ parseItem: typeof parseFloat;
5339
+ toCode(t: string): Code;
5340
+ }
5341
+ declare class DoublePrecisionColumn extends NumberAsStringBaseColumn {
5342
+ dataType: "double precision";
5343
+ toCode(t: string): Code;
5344
+ }
5345
+ declare class SmallSerialColumn extends IntegerBaseColumn {
5346
+ dataType: "smallint";
5347
+ parseItem: typeof parseInt;
5348
+ data: SerialColumnData;
5349
+ constructor();
5350
+ toSQL(): string;
5351
+ toCode(t: string): Code;
5352
+ }
5353
+ declare class SerialColumn extends IntegerBaseColumn {
5354
+ dataType: "integer";
5355
+ parseItem: typeof parseInt;
5356
+ data: SerialColumnData;
5357
+ constructor();
5358
+ toSQL(): string;
5359
+ toCode(t: string): Code;
5360
+ }
5361
+ declare class BigSerialColumn extends NumberAsStringBaseColumn {
5362
+ dataType: "bigint";
5363
+ data: SerialColumnData;
5364
+ toSql(): string;
5365
+ toCode(t: string): Code;
5366
+ }
5367
+
5368
+ interface DateBaseColumn extends ColumnType<string, typeof Operators.date, string | number | Date>, DateTypeMethods {
5369
+ }
5370
+ declare abstract class DateBaseColumn extends ColumnType<string, typeof Operators.date, string | number | Date> {
5371
+ data: DateColumnData;
5372
+ operators: {
5373
+ lt: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5374
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5375
+ };
5376
+ lte: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5377
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5378
+ };
5379
+ gt: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5380
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5381
+ };
5382
+ gte: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5383
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5384
+ };
5385
+ between: ((key: string, value: [orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query], values: unknown[]) => string) & {
5386
+ type: [orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query];
5387
+ };
5388
+ equals: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5389
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5390
+ };
5391
+ not: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5392
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5393
+ };
5394
+ in: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[], values: unknown[]) => string) & {
5395
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[];
5396
+ };
5397
+ notIn: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[], values: unknown[]) => string) & {
5398
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[];
5399
+ };
5400
+ };
5401
+ encodeFn: (input: string | number | Date) => Date;
5402
+ asNumber(): EncodeColumn<IntegerColumn, string | number | Date>;
5403
+ asDate<T extends ColumnType>(this: T): ParseColumn<T, Date>;
5404
+ }
5405
+ declare class DateColumn extends DateBaseColumn {
5406
+ dataType: "date";
5407
+ toCode(t: string): Code;
5408
+ }
5409
+ declare abstract class DateTimeBaseClass<Precision extends number | undefined = undefined> extends DateBaseColumn {
5410
+ data: DateColumnData & {
5411
+ dateTimePrecision: Precision;
5412
+ };
5413
+ constructor(dateTimePrecision?: Precision);
5414
+ toSQL(): string;
5415
+ }
5416
+ declare abstract class DateTimeTzBaseClass<Precision extends number | undefined = undefined> extends DateTimeBaseClass<Precision> {
5417
+ abstract baseDataType: string;
5418
+ toSQL(): string;
5419
+ }
5420
+ declare class TimestampColumn<Precision extends number> extends DateTimeBaseClass<Precision> {
5421
+ dataType: "timestamp";
5422
+ toCode(t: string): Code;
5423
+ }
5424
+ declare class TimestampTZColumn<Precision extends number> extends DateTimeTzBaseClass<Precision> {
5425
+ dataType: "timestamptz";
5426
+ baseDataType: "timestamp";
5427
+ toCode(t: string): Code;
5428
+ }
5429
+ declare class TimeColumn<Precision extends number | undefined = undefined> extends DateTimeBaseClass<Precision> {
5430
+ dataType: "time";
5431
+ toCode(t: string): Code;
5432
+ }
5433
+ type TimeInterval = {
5434
+ years?: number;
5435
+ months?: number;
5436
+ days?: number;
5437
+ hours?: number;
5438
+ minutes?: number;
5439
+ seconds?: number;
5285
5440
  };
5441
+ declare class IntervalColumn<Fields extends string | undefined = undefined, Precision extends number | undefined = undefined> extends ColumnType<TimeInterval, typeof Operators.date> {
5442
+ dataType: "interval";
5443
+ data: ColumnData & {
5444
+ fields: Fields;
5445
+ precision: Precision;
5446
+ };
5447
+ operators: {
5448
+ lt: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5449
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5450
+ };
5451
+ lte: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5452
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5453
+ };
5454
+ gt: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5455
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5456
+ };
5457
+ gte: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5458
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5459
+ };
5460
+ between: ((key: string, value: [orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query], values: unknown[]) => string) & {
5461
+ type: [orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query];
5462
+ };
5463
+ equals: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5464
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5465
+ };
5466
+ not: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query, values: unknown[]) => string) & {
5467
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Date | Query;
5468
+ };
5469
+ in: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[], values: unknown[]) => string) & {
5470
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[];
5471
+ };
5472
+ notIn: ((key: string, value: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[], values: unknown[]) => string) & {
5473
+ type: orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query | Date[];
5474
+ };
5475
+ };
5476
+ constructor(fields?: Fields, precision?: Precision);
5477
+ toCode(t: string): Code;
5478
+ toSQL(): string;
5479
+ }
5286
5480
 
5287
5481
  type ColumnData = ColumnDataBase & {
5288
5482
  maxChars?: number;
@@ -5350,7 +5544,154 @@ type ColumnFromDbParams = {
5350
5544
  numericScale?: number;
5351
5545
  dateTimePrecision?: number;
5352
5546
  };
5353
- declare const simplifyColumnDefault: (value?: string) => orchid_core.RawExpression<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>> | undefined;
5547
+ declare const simplifyColumnDefault: (value?: string) => RawSQL<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {
5548
+ timestamps<T extends ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>>(this: {
5549
+ name(name: string): {
5550
+ timestamp(): T;
5551
+ };
5552
+ timestamp(): T;
5553
+ timestampsSnakeCase(): {
5554
+ createdAt: orchid_core.ColumnWithDefault<T, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5555
+ updatedAt: orchid_core.ColumnWithDefault<T, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5556
+ };
5557
+ }): {
5558
+ createdAt: orchid_core.ColumnWithDefault<T, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5559
+ updatedAt: orchid_core.ColumnWithDefault<T, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5560
+ };
5561
+ timestampsSnakeCase<T_1 extends ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>>(this: {
5562
+ name(name: string): {
5563
+ timestamp(): T_1;
5564
+ };
5565
+ timestamp(): T_1;
5566
+ }): {
5567
+ createdAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5568
+ updatedAt: orchid_core.ColumnWithDefault<T_1, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5569
+ };
5570
+ timestampsNoTZ<T_2 extends ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>>(this: {
5571
+ name(name: string): {
5572
+ timestampNoTZ(): T_2;
5573
+ };
5574
+ timestampNoTZ(): T_2;
5575
+ timestampsNoTZSnakeCase(): {
5576
+ createdAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5577
+ updatedAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5578
+ };
5579
+ }): {
5580
+ createdAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5581
+ updatedAt: orchid_core.ColumnWithDefault<T_2, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5582
+ };
5583
+ timestampsNoTZSnakeCase<T_3 extends ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>>(this: {
5584
+ name(name: string): {
5585
+ timestampNoTZ(): T_3;
5586
+ };
5587
+ timestampNoTZ(): T_3;
5588
+ }): {
5589
+ createdAt: orchid_core.ColumnWithDefault<T_3, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5590
+ updatedAt: orchid_core.ColumnWithDefault<T_3, orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>>;
5591
+ };
5592
+ name: typeof orchid_core.name;
5593
+ sql: {
5594
+ (sql: TemplateStringsArray, ...values: unknown[]): orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>;
5595
+ (sql: string): orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>;
5596
+ (values: Record<string, unknown>, sql: string): orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>;
5597
+ (values: Record<string, unknown>): (strings: TemplateStringsArray, ...values: unknown[]) => orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>;
5598
+ };
5599
+ smallint(): SmallIntColumn;
5600
+ integer(): IntegerColumn;
5601
+ bigint(): BigIntColumn;
5602
+ numeric<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined>(precision?: Precision | undefined, scale?: Scale | undefined): DecimalColumn<Precision, Scale>;
5603
+ decimal<Precision_1 extends number | undefined = undefined, Scale_1 extends number | undefined = undefined>(precision?: Precision_1 | undefined, scale?: Scale_1 | undefined): DecimalColumn<Precision_1, Scale_1>;
5604
+ real(): RealColumn;
5605
+ doublePrecision(): DoublePrecisionColumn;
5606
+ identity(options?: TableData.Identity | undefined): IdentityColumn<IntegerColumn>;
5607
+ smallSerial(): SmallSerialColumn;
5608
+ serial(): SerialColumn;
5609
+ bigSerial(): BigSerialColumn;
5610
+ money(): MoneyColumn;
5611
+ varchar<Limit extends number | undefined = undefined>(limit?: Limit | undefined): VarCharColumn<Limit>;
5612
+ char<Limit_1 extends number | undefined = undefined>(limit?: Limit_1 | undefined): CharColumn<Limit_1>;
5613
+ text: (min: number, max: number) => TextColumn;
5614
+ string: (min: number, max: number) => TextColumn;
5615
+ citext(min: number, max: number): CitextColumn;
5616
+ bytea(): ByteaColumn;
5617
+ date(): DateColumn;
5618
+ timestampNoTZ<Precision_2 extends number>(precision?: Precision_2 | undefined): TimestampColumn<Precision_2>;
5619
+ timestamp<Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined): TimestampTZColumn<number>;
5620
+ time<Precision_4 extends number | undefined = undefined>(precision?: Precision_4 | undefined): TimeColumn<Precision_4>;
5621
+ interval<Fields extends string | undefined = undefined, Precision_5 extends number | undefined = undefined>(fields?: Fields | undefined, precision?: Precision_5 | undefined): IntervalColumn<Fields, Precision_5>;
5622
+ boolean(): BooleanColumn;
5623
+ enum<U extends string, T_4 extends [U, ...U[]]>(dataType: string, type: T_4): EnumColumn<U, T_4>;
5624
+ point(): PointColumn;
5625
+ line(): LineColumn;
5626
+ lseg(): LsegColumn;
5627
+ box(): BoxColumn;
5628
+ path(): PathColumn;
5629
+ polygon(): PolygonColumn;
5630
+ circle(): CircleColumn;
5631
+ cidr(): CidrColumn;
5632
+ inet(): InetColumn;
5633
+ macaddr(): MacAddrColumn;
5634
+ macaddr8(): MacAddr8Column;
5635
+ bit<Length extends number>(length: Length): BitColumn<Length>;
5636
+ bitVarying<Length_1 extends number | undefined = undefined>(length?: Length_1 | undefined): BitVaryingColumn<Length_1>;
5637
+ tsvector(): TsVectorColumn;
5638
+ tsquery(): TsQueryColumn;
5639
+ uuid(): UUIDColumn;
5640
+ xml(): XMLColumn;
5641
+ json<Type extends orchid_core.JSONTypeAny>(schemaOrFn: Type | ((j: {
5642
+ set: <Value extends orchid_core.JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
5643
+ tuple: <T_5 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_5, rest?: Rest) => orchid_core.JSONTuple<T_5, Rest>;
5644
+ union: <T_6 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_6) => orchid_core.JSONUnion<T_6>;
5645
+ any: () => orchid_core.JSONAny;
5646
+ bigint: () => orchid_core.JSONBigInt;
5647
+ boolean: () => orchid_core.JSONBoolean;
5648
+ date: () => orchid_core.JSONDate;
5649
+ nan: () => orchid_core.JSONNaN;
5650
+ never: () => orchid_core.JSONNever;
5651
+ null: () => orchid_core.JSONNull;
5652
+ number: () => orchid_core.JSONNumber;
5653
+ string: () => orchid_core.JSONString;
5654
+ unknown: () => orchid_core.JSONUnknown;
5655
+ array: <Type_1 extends orchid_core.JSONTypeAny>(element: Type_1) => orchid_core.JSONArray<Type_1, "many">;
5656
+ discriminatedUnion: <Discriminator extends string, DiscriminatorValue extends orchid_core.Primitive, Types extends [orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>, ...orchid_core.JSONDiscriminatedObject<Discriminator, DiscriminatorValue>[]]>(discriminator: Discriminator, options: Types) => orchid_core.JSONDiscriminatedUnion<Discriminator, DiscriminatorValue, Types>;
5657
+ enum: <U_1 extends string, T_7 extends [U_1, ...U_1[]]>(options: T_7) => orchid_core.JSONEnum<U_1, T_7>;
5658
+ instanceOf: <T_8 extends new (...args: any[]) => any>(cls: T_8) => orchid_core.JSONInstanceOf<T_8>;
5659
+ intersection: <Left extends orchid_core.JSONTypeAny, Right extends orchid_core.JSONTypeAny>(left: Left, right: Right) => orchid_core.JSONIntersection<Left, Right>;
5660
+ lazy: <T_9 extends orchid_core.JSONTypeAny>(fn: () => T_9) => orchid_core.JSONLazy<T_9>;
5661
+ literal: <T_10 extends orchid_core.Primitive>(value: T_10) => orchid_core.JSONLiteral<T_10>;
5662
+ map: <Key extends orchid_core.JSONTypeAny, Value_1 extends orchid_core.JSONTypeAny>(keyType: Key, valueType: Value_1) => orchid_core.JSONMap<Key, Value_1>;
5663
+ nativeEnum: <T_11 extends orchid_core.EnumLike>(givenEnum: T_11) => orchid_core.JSONNativeEnum<T_11>;
5664
+ nullable: <T_12 extends orchid_core.JSONTypeAny>(type: T_12) => orchid_core.JSONNullable<T_12>;
5665
+ nullish: <T_13 extends orchid_core.JSONTypeAny>(type: T_13) => orchid_core.JSONNullish<T_13>;
5666
+ object: <T_14 extends orchid_core.JSONObjectShape, UnknownKeys extends orchid_core.UnknownKeysParam = "strip", Catchall extends orchid_core.JSONTypeAny = orchid_core.JSONTypeAny>(shape: T_14) => orchid_core.JSONObject<T_14, UnknownKeys, Catchall, orchid_core.JSONTypeAny extends Catchall ? orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_15 extends object ? { [k in keyof T_15]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never : (orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_18 extends object ? { [k in keyof T_18]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never) & {
5667
+ [k: string]: Catchall["type"];
5668
+ } extends infer T_16 extends object ? { [k_2 in keyof T_16]: ((orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }> extends infer T_17 extends object ? { [k in keyof T_17]: orchid_core.addQuestionMarks<{ [k_1 in keyof T_14]: T_14[k_1]["type"]; }>[k]; } : never) & {
5669
+ [k: string]: Catchall["type"];
5670
+ })[k_2]; } : never>;
5671
+ optional: <T_19 extends orchid_core.JSONTypeAny>(type: T_19) => orchid_core.JSONOptional<T_19>;
5672
+ record: typeof orchid_core.record;
5673
+ }) => Type)): JSONColumn<Type>;
5674
+ jsonText(): JSONTextColumn;
5675
+ array<Item extends ColumnType<unknown, BaseOperators, unknown>>(item: Item): ArrayColumn<Item>;
5676
+ type(dataType: string): CustomTypeColumn;
5677
+ domain(dataType: string): DomainColumn;
5678
+ primaryKey(columns: string[], options?: {
5679
+ name?: string | undefined;
5680
+ } | undefined): {};
5681
+ index(columns: MaybeArray<string | IndexColumnOptions>, options?: IndexOptions): {};
5682
+ unique(columns: MaybeArray<string | IndexColumnOptions>, options?: IndexOptions): {};
5683
+ constraint<Table extends string | (() => ForeignKeyTable), Columns extends Table extends () => ForeignKeyTable ? [ColumnNameOfTable<ReturnType<Table>>, ...ColumnNameOfTable<ReturnType<Table>>[]] : [string, ...string[]]>({ name, references, check, dropMode, }: {
5684
+ name?: string | undefined;
5685
+ references?: [columns: string[], fnOrTable: Table, foreignColumns: Columns, options?: ForeignKeyOptions | undefined] | undefined;
5686
+ check?: orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}> | undefined;
5687
+ dropMode?: DropMode | undefined;
5688
+ }): {};
5689
+ foreignKey<Table_1 extends string | (() => ForeignKeyTable), Columns_1 extends Table_1 extends () => ForeignKeyTable ? [ColumnNameOfTable<ReturnType<Table_1>>, ...ColumnNameOfTable<ReturnType<Table_1>>[]] : [string, ...string[]]>(columns: string[], fnOrTable: Table_1, foreignColumns: Columns_1, options?: (ForeignKeyOptions & {
5690
+ name?: string | undefined;
5691
+ dropMode?: DropMode | undefined;
5692
+ }) | undefined): {};
5693
+ check(check: orchid_core.RawSQLBase<ColumnTypeBase<unknown, BaseOperators, unknown, ColumnDataBase>, {}>): {};
5694
+ }> | undefined;
5354
5695
  declare const instantiateColumn: (klass: new (...args: never[]) => ColumnType, params: ColumnFromDbParams) => ColumnType;
5355
5696
  declare abstract class ColumnType<Type = unknown, Ops extends BaseOperators = BaseOperators, InputType = Type> extends ColumnTypeBase<Type, Ops, InputType, ColumnData> {
5356
5697
  primaryKey<T extends ColumnType>(this: T): PrimaryKeyColumn<T>;
@@ -5403,11 +5744,11 @@ declare abstract class VirtualColumn extends ColumnType<unknown, typeof Operator
5403
5744
  not: ((key: string, value: any, values: unknown[]) => string) & {
5404
5745
  type: any;
5405
5746
  };
5406
- in: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5407
- type: any[] | orchid_core.RawExpression | Query;
5747
+ in: ((key: string, value: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5748
+ type: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5408
5749
  };
5409
- notIn: ((key: string, value: any[] | orchid_core.RawExpression | Query, values: unknown[]) => string) & {
5410
- type: any[] | orchid_core.RawExpression | Query;
5750
+ notIn: ((key: string, value: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query, values: unknown[]) => string) & {
5751
+ type: any[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>> | Query;
5411
5752
  };
5412
5753
  };
5413
5754
  toCode(): never;
@@ -5416,6 +5757,7 @@ declare abstract class VirtualColumn extends ColumnType<unknown, typeof Operator
5416
5757
  }
5417
5758
 
5418
5759
  declare class UnknownColumn extends VirtualColumn {
5760
+ static instance: UnknownColumn;
5419
5761
  }
5420
5762
 
5421
5763
  declare const columnsShapeToCode: (shape: ColumnsShapeBase, tableData: TableData, t: string) => Code[];
@@ -5427,14 +5769,12 @@ declare const referencesArgsToCode: ({ columns, fnOrTable, foreignColumns, optio
5427
5769
  declare const columnForeignKeysToCode: (foreignKeys: ForeignKey<string, string[]>[]) => Code[];
5428
5770
  declare const foreignKeyArgumentToCode: (foreignKey: ForeignKey<string, string[]>) => Code[];
5429
5771
  declare const columnIndexesToCode: (indexes: Exclude<ColumnData['indexes'], undefined>) => Code[];
5430
- declare const columnCheckToCode: (t: string, check: RawExpression) => string;
5772
+ declare const columnCheckToCode: (t: string, check: RawSQLBase) => string;
5431
5773
  declare const identityToCode: (identity: TableData.Identity, dataType?: string) => Code[];
5432
5774
  declare const columnCode: (type: ColumnType, t: string, code: Code, data?: ColumnData, skip?: Record<'encodeFn', unknown>) => Code;
5433
5775
 
5434
5776
  declare const columnsByType: Record<string, new (...args: never[]) => ColumnType>;
5435
5777
 
5436
- declare const getRaw: (raw: RawExpression, valuesArray: unknown[]) => string;
5437
-
5438
5778
  type Value = any;
5439
5779
  declare const quote: (value: Value) => string;
5440
5780
  declare const quoteString: (value: string) => string;
@@ -5488,4 +5828,4 @@ declare const testTransaction: {
5488
5828
  close(arg: Arg): Promise<void>;
5489
5829
  };
5490
5830
 
5491
- export { Adapter, AdapterConfig, AdapterOptions, AddQuerySelect, AddQueryWith, AfterHook, Aggregate, Aggregate1ArgumentTypes, AggregateArg, AggregateItem, AggregateItemArg, AggregateItemOptions, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, AsMethods, BaseRelation, BelongsToRelation, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanExpression, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnOperators, ColumnType, ColumnTypes, ColumnsObject, ColumnsShape, CommonQueryData, CopyMethods, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateMethodsNames, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, EnumColumn, Expression, ExpressionOfType, ExpressionOutput, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromResult, GetArg, GetQueryResult, GetStringArg, HasAndBelongsToManyRelation, HasManyRelation, HasOneRelation, Having, HavingArg, HavingArgs, HavingItem, HookAction, HookSelect, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, JSONTypes, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, NumberExpression, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operators, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgs, OrderItem, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBeforeHook, QueryData, QueryError, QueryErrorName, QueryGet, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithTable, RawSqlMethods, RealColumn, Relation, RelationQuery, RelationQueryBase, RelationQueryData, RelationsBase, Select, SelectAgg, SelectArg, SelectFunctionItem, SelectItem, SelectQueryData, Selectable, SelectableBase, SelectableFromShape, SerialColumn, SerialColumnData, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumn, SetQueryReturnsColumnInfo, SetQueryReturnsColumnOptional, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn, StringExpression, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimeInterval, TimestampColumn, TimestampTZColumn, ToSqlCtx, ToSqlOptions, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdatedAtDataInjector, UpsertCreateArg, UpsertData, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, Window, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowFunctionOptions, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addQueryOn, addQueryOrOn, addWhere, addWhereIn, addWhereNot, aggregate1FunctionNames, anyShape, checkIfASimpleQuery, cloneQueryArrays, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, utils as columnUtils, columnsByType, columnsShapeToCode, constraintPropsToCode, constraintToCode, createDb, foreignKeyArgumentToCode, getClonedQueryData, getColumnTypes, getConstraintKind, getQueryAs, getRaw, getShapeFromSelect, getTableData, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isRequiredRelationKey, joinSubQuery, jsonTypes, logColors, logParamToLogObject, makeRegexToFindInSql, makeSql, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteString, referencesArgsToCode, relationQueryKey, resetTableData, resolveSubQueryCallback, setQueryObjectValue, simplifyColumnDefault, testTransaction, throwIfNoWhere, toSql, toSqlCacheKey };
5831
+ export { Adapter, AdapterConfig, AdapterOptions, AddQuerySelect, AddQueryWith, AfterHook, Aggregate, Aggregate1ArgumentTypes, AggregateArg, AggregateItem, AggregateItemArg, AggregateItemOptions, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, AsMethods, BaseRelation, BelongsToRelation, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanExpression, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnOperators, ColumnType, ColumnTypes, ColumnsObject, ColumnsShape, CommonQueryData, CopyMethods, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateMethodsNames, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, EnumColumn, ExpressionOfType, ExpressionOutput, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromResult, GetArg, GetQueryResult, GetStringArg, HasAndBelongsToManyRelation, HasManyRelation, HasOneRelation, Having, HavingArg, HavingArgs, HavingItem, HookAction, HookSelect, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, JSONTypes, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, NumberExpression, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operators, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgs, OrderItem, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBeforeHook, QueryData, QueryError, QueryErrorName, QueryGet, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, Relation, RelationQuery, RelationQueryBase, RelationQueryData, RelationsBase, Select, SelectAgg, SelectArg, SelectFunctionItem, SelectItem, SelectQueryData, Selectable, SelectableBase, SelectableFromShape, SelectableOrExpression, SerialColumn, SerialColumnData, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumn, SetQueryReturnsColumnInfo, SetQueryReturnsColumnOptional, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn, StringExpression, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimeInterval, TimestampColumn, TimestampTZColumn, ToSqlCtx, ToSqlOptions, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdatedAtDataInjector, UpsertCreateArg, UpsertData, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, Window, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowFunctionOptions, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addQueryOn, addQueryOrOn, addWhere, addWhereIn, addWhereNot, aggregate1FunctionNames, anyShape, checkIfASimpleQuery, cloneQueryArrays, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, utils as columnUtils, columnsByType, columnsShapeToCode, constraintPropsToCode, constraintToCode, createDb, foreignKeyArgumentToCode, getClonedQueryData, getColumnTypes, getConstraintKind, getQueryAs, getShapeFromSelect, getTableData, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isRequiredRelationKey, joinSubQuery, jsonTypes, logColors, logParamToLogObject, makeRegexToFindInSql, makeSql, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteString, raw, referencesArgsToCode, relationQueryKey, resetTableData, resolveSubQueryCallback, setQueryObjectValue, simplifyColumnDefault, testTransaction, throwIfNoWhere, toSql, toSqlCacheKey };