pqb 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as orchid_core from 'orchid-core';
2
- import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryInternal, QueryMetaBase, QueryReturnType, QueryThen, Expression, QueryColumn, MaybeArray, SelectableBase, TemplateLiteralArgs, ColumnSchemaConfig, Code, PickOutputTypeAndOperators, PickQueryResult, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, getValueKey, PickQueryShape, EmptyTuple, PickQueryMeta, QueryColumnToNullable, PickQueryMetaResultReturnType as PickQueryMetaResultReturnType$1, QueryCatch, PickQueryMetaShape, DateColumnData, TimeInterval, ColumnTypeSchemaArg, ColumnTypeBase, ArrayMethodsData, StringTypeData, StaticSQLArgs, PickColumnBaseData, PrimaryKeyColumn, RawSQLBase, ForeignKeyTable, QueryColumnsInit, TimestampHelpers, ColumnNameOfTable, BaseNumberData, ColumnWithDefault, ParseColumn, EncodeColumn, PickQueryMetaResult, ColumnShapeOutput, DefaultSelectColumns, CoreQueryScopes, DbBase, TransactionState, SQLQueryArgs, PickQueryMetaResultWindows, BaseOperators as BaseOperators$1, IsQuery, PickQueryTableMetaResult, PickQueryMetaShapeResultReturnType, MergeObjects, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, PickQueryReturnType, PickType, PickOutputType, Spread, ColumnDataBase, PickQueryTableMetaShape } from 'orchid-core';
2
+ import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryInternal, QueryMetaBase, QueryReturnType, QueryThen, Expression, QueryColumn, MaybeArray, SelectableBase, TemplateLiteralArgs, ColumnSchemaConfig, Code, PickOutputTypeAndOperators, PickQueryResult, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, getValueKey, PickQueryShape, EmptyTuple, PickQueryMeta, QueryColumnToNullable, PickQueryMetaResultReturnType as PickQueryMetaResultReturnType$1, QueryCatch, PickQueryMetaShape, SQLQueryArgs, DateColumnData, TimeInterval, ColumnTypeSchemaArg, ColumnTypeBase, ArrayMethodsData, StringTypeData, StaticSQLArgs, PickColumnBaseData, PrimaryKeyColumn, RawSQLBase, ForeignKeyTable, QueryColumnsInit, TimestampHelpers, ColumnNameOfTable, BaseNumberData, ColumnWithDefault, ParseColumn, EncodeColumn, PickQueryMetaResult, ColumnShapeOutput, DefaultSelectColumns, CoreQueryScopes, DbBase, TransactionState, PickQueryMetaResultWindows, BaseOperators as BaseOperators$1, IsQuery, PickQueryTableMetaResult, PickQueryMetaShapeResultReturnType, MergeObjects, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, PickQueryReturnType, PickType, PickOutputType, Spread, ColumnDataBase, PickQueryTableMetaShape } from 'orchid-core';
3
3
  import { PoolConfig, Pool, PoolClient } from 'pg';
4
4
  import { inspect } from 'node:util';
5
5
  import { AsyncLocalStorage } from 'node:async_hooks';
@@ -264,7 +264,7 @@ type OnConflictItem = string | string[] | Expression;
264
264
  type OnConflictMergeUpdate = string | string[] | RecordUnknown | Expression;
265
265
 
266
266
  type BooleanQueryColumn = QueryColumn<boolean, OperatorsBoolean>;
267
- declare class BooleanColumn$1<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, boolean, Schema['boolean'], OperatorsBoolean> {
267
+ declare class BooleanColumn$1<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, boolean, ReturnType<Schema['boolean']>, OperatorsBoolean> {
268
268
  dataType: "boolean";
269
269
  operators: OperatorsBoolean;
270
270
  constructor(schema: Schema);
@@ -695,9 +695,9 @@ type JoinOptionalMain<T extends PickQueryMetaResultReturnType$1, Selectable exte
695
695
  } & Selectable : T['meta'][K];
696
696
  } : K extends 'result' ? {
697
697
  [K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
698
- } : K extends 'then' ? QueryThen<GetQueryResult<T['returnType'], {
698
+ } : K extends 'then' ? QueryThen<GetQueryResult<T, {
699
699
  [K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
700
- }>> : K extends 'catch' ? QueryCatch<GetQueryResult<T['returnType'], {
700
+ }>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, {
701
701
  [K in keyof T['result']]: QueryColumnToNullable<T['result'][K]>;
702
702
  }>> : T[K];
703
703
  };
@@ -1377,10 +1377,10 @@ type WhereQueryBuilder<T extends PickQueryRelations> = RelationsBase extends T['
1377
1377
  } : {
1378
1378
  [K in keyof T]: K extends keyof T['relations'] ? T['relations'][K] : T[K];
1379
1379
  };
1380
- type WhereArgs<T extends PickQueryMetaRelations> = WhereArg<T>[] | TemplateLiteralArgs;
1381
- type WhereNotArgs<T extends PickQueryMetaRelations> = [WhereArg<T>] | TemplateLiteralArgs;
1380
+ type WhereArgs<T extends PickQueryMetaRelations> = WhereArg<T>[];
1381
+ type WhereNotArgs<T extends PickQueryMetaRelations> = [WhereArg<T>];
1382
1382
  type WhereInColumn<T extends PickQueryMetaRelations> = keyof T['meta']['selectable'] | [keyof T['meta']['selectable'], ...(keyof T['meta']['selectable'])[]];
1383
- type WhereInValues<T extends PickQueryMetaRelations, Column extends WhereInColumn<T>> = Column extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Column]['column']['queryType'][] | Query | Expression : ({
1383
+ type WhereInValues<T extends PickQueryMetaRelations, Column> = Column extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Column]['column']['queryType'][] | Query | Expression : ({
1384
1384
  [I in keyof Column]: Column[I] extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Column[I]]['column']['queryType'] : never;
1385
1385
  } & {
1386
1386
  length: Column extends {
@@ -1396,25 +1396,22 @@ interface QueryMetaHasWhere {
1396
1396
  hasWhere: true;
1397
1397
  };
1398
1398
  }
1399
- /**
1400
- * Adds `where` arguments to query data: SQL template string is added as `RawSQL` object, other arguments are added as is.
1401
- *
1402
- * @param q - query object to add the data to
1403
- * @param args - `where` arguments, may be a template literal
1404
- */
1405
1399
  declare const _queryWhere: <T extends PickQueryMetaRelations>(q: T, args: WhereArgs<T>) => WhereResult<T>;
1400
+ declare const _queryWhereSql: <T>(q: T, args: SQLQueryArgs) => T;
1406
1401
  /**
1407
- * Adds `where` arguments to query data with a `NOT` keyword: SQL template string is added as `RawSQL` object, other arguments are added as is.
1402
+ * Adds `where` arguments to query data with a `NOT` keyword:
1403
+ * SQL template string is added as `RawSQL` object, other arguments are added as is.
1408
1404
  *
1409
1405
  * @param q - query object to add the data to
1410
- * @param args - `where` arguments, may be a template literal
1406
+ * @param args - `where` arguments
1411
1407
  */
1412
1408
  declare const _queryWhereNot: <T extends PickQueryMetaRelations>(q: T, args: WhereNotArgs<T>) => WhereResult<T>;
1409
+ declare const _queryWhereNotSql: <T>(q: T, args: SQLQueryArgs) => T;
1413
1410
  /**
1414
1411
  * Adds `where` arguments to query data. Arguments will be separated from each other with `OR`.
1415
1412
  *
1416
1413
  * @param q - query object to add the data to
1417
- * @param args - `where` arguments, may be a template literal
1414
+ * @param args - `where` arguments
1418
1415
  */
1419
1416
  declare const _queryOr: <T extends PickQueryMetaRelations>(q: T, args: WhereArg<T>[]) => WhereResult<T>;
1420
1417
  /**
@@ -1453,7 +1450,7 @@ declare class Where {
1453
1450
  * },
1454
1451
  *
1455
1452
  * // where column equals to raw SQL
1456
- * column: db.table.sql`raw expression`,
1453
+ * column: db.table.sql`sql expression`,
1457
1454
  * });
1458
1455
  * ```
1459
1456
  *
@@ -1502,9 +1499,6 @@ declare class Where {
1502
1499
  * `where` supports raw SQL:
1503
1500
  *
1504
1501
  * ```ts
1505
- * db.table.where`a = b`;
1506
- *
1507
- * // or
1508
1502
  * db.table.where(db.table.sql`a = b`);
1509
1503
  *
1510
1504
  * // or
@@ -1824,6 +1818,24 @@ declare class Where {
1824
1818
  * @param args - {@link WhereArgs}
1825
1819
  */
1826
1820
  where<T extends PickQueryMetaRelations>(this: T, ...args: WhereArgs<T>): WhereResult<T>;
1821
+ /**
1822
+ * Use a custom SQL expression in `WHERE` statement:
1823
+ *
1824
+ * ```ts
1825
+ * db.table.where`a = b`;
1826
+ *
1827
+ * // or
1828
+ * db.table.where(db.table.sql`a = b`);
1829
+ *
1830
+ * // or
1831
+ * import { raw } from 'orchid-orm';
1832
+ *
1833
+ * db.table.where(raw`a = b`);
1834
+ * ```
1835
+ *
1836
+ * @param args - SQL expression
1837
+ */
1838
+ whereSql<T>(this: T, ...args: SQLQueryArgs): T;
1827
1839
  /**
1828
1840
  * `whereNot` takes the same argument as `where`,
1829
1841
  * multiple conditions are combined with `AND`,
@@ -1840,6 +1852,16 @@ declare class Where {
1840
1852
  * @param args - {@link WhereArgs}
1841
1853
  */
1842
1854
  whereNot<T extends PickQueryMetaRelations>(this: T, ...args: WhereNotArgs<T>): WhereResult<T>;
1855
+ /**
1856
+ * `whereNot` version accepting SQL expression:
1857
+ *
1858
+ * ```ts
1859
+ * db.table.whereNot`sql expression`
1860
+ * ```
1861
+ *
1862
+ * @param args - SQL expression
1863
+ */
1864
+ whereNotSql<T>(this: T, ...args: SQLQueryArgs): T;
1843
1865
  /**
1844
1866
  * `orWhere` is accepting the same arguments as {@link where}, joining arguments with `OR`.
1845
1867
  *
@@ -2059,7 +2081,7 @@ declare class ScopeMethods {
2059
2081
  }
2060
2082
 
2061
2083
  type DateColumnInput = string | number | Date;
2062
- declare abstract class DateBaseColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringNumberDate'], OperatorsDate, DateColumnInput, string, Schema['stringSchema']> {
2084
+ declare abstract class DateBaseColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringNumberDate']>, OperatorsDate, DateColumnInput, string, ReturnType<Schema['stringSchema']>> {
2063
2085
  data: DateColumnData;
2064
2086
  operators: OperatorsDate;
2065
2087
  encodeFn: (input: DateColumnInput) => string | Date;
@@ -2091,7 +2113,7 @@ declare class TimestampTZColumn<Schema extends ColumnSchemaConfig> extends DateT
2091
2113
  baseDataType: "timestamp";
2092
2114
  toCode(t: string): Code;
2093
2115
  }
2094
- declare class TimeColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsTime> {
2116
+ declare class TimeColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsTime> {
2095
2117
  data: DateColumnData & {
2096
2118
  dateTimePrecision?: number;
2097
2119
  };
@@ -2100,7 +2122,7 @@ declare class TimeColumn<Schema extends ColumnSchemaConfig> extends ColumnType<S
2100
2122
  constructor(schema: Schema, dateTimePrecision?: number);
2101
2123
  toCode(t: string): Code;
2102
2124
  }
2103
- declare class IntervalColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, TimeInterval, Schema['timeInterval'], OperatorsDate> {
2125
+ declare class IntervalColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, TimeInterval, ReturnType<Schema['timeInterval']>, OperatorsDate> {
2104
2126
  data: ColumnData & {
2105
2127
  fields?: string;
2106
2128
  precision?: number;
@@ -2143,7 +2165,7 @@ declare class JSONColumn<T, Schema extends ColumnTypeSchemaArg> extends ColumnTy
2143
2165
  operators: OperatorsJson;
2144
2166
  toCode(t: string): Code;
2145
2167
  }
2146
- declare class JSONTextColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2168
+ declare class JSONTextColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2147
2169
  dataType: "json";
2148
2170
  operators: OperatorsText;
2149
2171
  constructor(schema: Schema);
@@ -2151,10 +2173,10 @@ declare class JSONTextColumn<Schema extends ColumnSchemaConfig> extends ColumnTy
2151
2173
  }
2152
2174
 
2153
2175
  type TextColumnData = StringTypeData;
2154
- declare abstract class TextBaseColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2176
+ declare abstract class TextBaseColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2155
2177
  data: TextColumnData;
2156
2178
  operators: OperatorsText;
2157
- constructor(schema: Schema, schemaType?: Schema['stringSchema']);
2179
+ constructor(schema: Schema, schemaType?: ReturnType<Schema['stringSchema']>);
2158
2180
  }
2159
2181
  declare abstract class LimitedTextBaseColumn<Schema extends ColumnSchemaConfig> extends TextBaseColumn<Schema> {
2160
2182
  data: TextColumnData & {
@@ -2184,55 +2206,55 @@ declare class TextColumn<Schema extends ColumnSchemaConfig> extends TextBaseColu
2184
2206
  constructor(schema: Schema, min?: number, max?: number);
2185
2207
  toCode(t: string): Code;
2186
2208
  }
2187
- declare class ByteaColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, Buffer, Schema['buffer'], OperatorsText> {
2209
+ declare class ByteaColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, Buffer, ReturnType<Schema['buffer']>, OperatorsText> {
2188
2210
  dataType: "bytea";
2189
2211
  operators: OperatorsText;
2190
2212
  constructor(schema: Schema);
2191
2213
  toCode(t: string): Code;
2192
2214
  }
2193
- declare class PointColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2215
+ declare class PointColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2194
2216
  dataType: "point";
2195
2217
  operators: OperatorsText;
2196
2218
  constructor(schema: Schema);
2197
2219
  toCode(t: string): Code;
2198
2220
  }
2199
- declare class LineColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2221
+ declare class LineColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2200
2222
  dataType: "line";
2201
2223
  operators: OperatorsText;
2202
2224
  constructor(schema: Schema);
2203
2225
  toCode(t: string): Code;
2204
2226
  }
2205
- declare class LsegColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2227
+ declare class LsegColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2206
2228
  dataType: "lseg";
2207
2229
  operators: OperatorsText;
2208
2230
  constructor(schema: Schema);
2209
2231
  toCode(t: string): Code;
2210
2232
  }
2211
- declare class BoxColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2233
+ declare class BoxColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2212
2234
  dataType: "box";
2213
2235
  operators: OperatorsText;
2214
2236
  constructor(schema: Schema);
2215
2237
  toCode(t: string): Code;
2216
2238
  }
2217
- declare class PathColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2239
+ declare class PathColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2218
2240
  dataType: "path";
2219
2241
  operators: OperatorsText;
2220
2242
  constructor(schema: Schema);
2221
2243
  toCode(t: string): Code;
2222
2244
  }
2223
- declare class PolygonColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2245
+ declare class PolygonColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2224
2246
  dataType: "polygon";
2225
2247
  operators: OperatorsText;
2226
2248
  constructor(schema: Schema);
2227
2249
  toCode(t: string): Code;
2228
2250
  }
2229
- declare class CircleColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2251
+ declare class CircleColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2230
2252
  dataType: "circle";
2231
2253
  operators: OperatorsText;
2232
2254
  constructor(schema: Schema);
2233
2255
  toCode(t: string): Code;
2234
2256
  }
2235
- declare class MoneyColumn<Schema extends ColumnSchemaConfig> extends NumberBaseColumn<Schema, Schema['stringSchema']> {
2257
+ declare class MoneyColumn<Schema extends ColumnSchemaConfig> extends NumberBaseColumn<Schema, ReturnType<Schema['stringSchema']>> {
2236
2258
  dataType: "money";
2237
2259
  constructor(schema: Schema);
2238
2260
  toCode(t: string): Code;
@@ -2240,25 +2262,25 @@ declare class MoneyColumn<Schema extends ColumnSchemaConfig> extends NumberBaseC
2240
2262
  hideFromCode: boolean;
2241
2263
  };
2242
2264
  }
2243
- declare class CidrColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2265
+ declare class CidrColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2244
2266
  dataType: "cidr";
2245
2267
  operators: OperatorsText;
2246
2268
  constructor(schema: Schema);
2247
2269
  toCode(t: string): Code;
2248
2270
  }
2249
- declare class InetColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2271
+ declare class InetColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2250
2272
  dataType: "inet";
2251
2273
  operators: OperatorsText;
2252
2274
  constructor(schema: Schema);
2253
2275
  toCode(t: string): Code;
2254
2276
  }
2255
- declare class MacAddrColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2277
+ declare class MacAddrColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2256
2278
  dataType: "macaddr";
2257
2279
  operators: OperatorsText;
2258
2280
  constructor(schema: Schema);
2259
2281
  toCode(t: string): Code;
2260
2282
  }
2261
- declare class MacAddr8Column<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2283
+ declare class MacAddr8Column<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2262
2284
  dataType: "macaddr8";
2263
2285
  operators: OperatorsText;
2264
2286
  constructor(schema: Schema);
@@ -2285,7 +2307,7 @@ declare class BitVaryingColumn<Schema extends ColumnSchemaConfig> extends Column
2285
2307
  toSQL(): string;
2286
2308
  }
2287
2309
  type TsVectorGeneratedColumns = string[] | Record<string, SearchWeight>;
2288
- declare class TsVectorColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2310
+ declare class TsVectorColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2289
2311
  defaultLanguage: string;
2290
2312
  dataType: "tsvector";
2291
2313
  operators: OperatorsText;
@@ -2317,13 +2339,13 @@ declare class TsVectorColumn<Schema extends ColumnSchemaConfig> extends ColumnTy
2317
2339
  */
2318
2340
  generated<T extends PickColumnData>(this: T, ...args: StaticSQLArgs | [language: string, columns: TsVectorGeneratedColumns] | [columns: TsVectorGeneratedColumns]): T;
2319
2341
  }
2320
- declare class TsQueryColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2342
+ declare class TsQueryColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2321
2343
  dataType: "tsquery";
2322
2344
  operators: OperatorsText;
2323
2345
  constructor(schema: Schema);
2324
2346
  toCode(t: string): Code;
2325
2347
  }
2326
- declare class UUIDColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['uuid'], OperatorsText> {
2348
+ declare class UUIDColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['uuid']>, OperatorsText> {
2327
2349
  dataType: "uuid";
2328
2350
  operators: OperatorsText;
2329
2351
  constructor(schema: Schema);
@@ -2335,7 +2357,7 @@ declare class UUIDColumn<Schema extends ColumnSchemaConfig> extends ColumnType<S
2335
2357
  };
2336
2358
  toCode(t: string): Code;
2337
2359
  }
2338
- declare class XMLColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsText> {
2360
+ declare class XMLColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsText> {
2339
2361
  dataType: "xml";
2340
2362
  operators: OperatorsText;
2341
2363
  constructor(schema: Schema);
@@ -2351,7 +2373,7 @@ declare class CitextColumn<Schema extends ColumnSchemaConfig> extends TextBaseCo
2351
2373
  toCode(t: string): Code;
2352
2374
  }
2353
2375
 
2354
- declare class CustomTypeColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, unknown, Schema['unknown'], typeof Operators.any> {
2376
+ declare class CustomTypeColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, unknown, ReturnType<Schema['unknown']>, typeof Operators.any> {
2355
2377
  dataType: string;
2356
2378
  operators: OperatorsAny;
2357
2379
  constructor(schema: Schema, dataType: string);
@@ -2508,16 +2530,16 @@ declare abstract class NumberBaseColumn<Schema extends ColumnSchemaConfig, Schem
2508
2530
  data: NumberColumnData;
2509
2531
  operators: OperatorsNumber;
2510
2532
  }
2511
- declare abstract class IntegerBaseColumn<Schema extends ColumnSchemaConfig> extends NumberBaseColumn<Schema, Schema['int']> {
2533
+ declare abstract class IntegerBaseColumn<Schema extends ColumnSchemaConfig> extends NumberBaseColumn<Schema, ReturnType<Schema['int']>> {
2512
2534
  data: NumberColumnData;
2513
2535
  constructor(schema: Schema);
2514
2536
  }
2515
- declare abstract class NumberAsStringBaseColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsNumber> {
2537
+ declare abstract class NumberAsStringBaseColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsNumber> {
2516
2538
  operators: OperatorsNumber;
2517
2539
  data: ColumnData;
2518
2540
  constructor(schema: Schema);
2519
2541
  }
2520
- declare class DecimalColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, Schema['stringSchema'], OperatorsNumber> {
2542
+ declare class DecimalColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, string, ReturnType<Schema['stringSchema']>, OperatorsNumber> {
2521
2543
  data: ColumnData & {
2522
2544
  numericPrecision?: number;
2523
2545
  numericScale?: number;
@@ -2546,7 +2568,7 @@ declare class BigIntColumn<Schema extends ColumnSchemaConfig> extends NumberAsSt
2546
2568
  toCode(t: string): Code;
2547
2569
  identity<T extends ColumnType>(this: T, options?: TableData.Identity): IdentityColumn<T>;
2548
2570
  }
2549
- declare class RealColumn<Schema extends ColumnSchemaConfig> extends NumberBaseColumn<Schema, Schema['number']> {
2571
+ declare class RealColumn<Schema extends ColumnSchemaConfig> extends NumberBaseColumn<Schema, ReturnType<Schema['number']>> {
2550
2572
  dataType: "real";
2551
2573
  parseItem: typeof parseFloat;
2552
2574
  constructor(schema: Schema);
@@ -2818,7 +2840,7 @@ interface DbResult<ColumnTypes> extends Db<string, Record<string, never>, EmptyO
2818
2840
  close: Adapter['close'];
2819
2841
  }
2820
2842
  /**
2821
- * For the case of using the query builder as a standalone tool, use `createDb` from `pqb` package.
2843
+ * For the case of using the query builder as a standalone tool, use `createDb`.
2822
2844
  *
2823
2845
  * As `Orchid ORM` focuses on ORM usage, docs examples mostly demonstrates how to work with ORM-defined tables,
2824
2846
  * but everything that's not related to table relations should also work with `pqb` query builder on its own.
@@ -2828,6 +2850,10 @@ interface DbResult<ColumnTypes> extends Db<string, Record<string, never>, EmptyO
2828
2850
  * ```ts
2829
2851
  * import { createDb } from 'orchid-orm';
2830
2852
  *
2853
+ * import { zodSchemaConfig } from 'orchid-orm-schema-to-zod';
2854
+ * // or
2855
+ * import { SchemaConfig } from 'orchid-orm-valibot';
2856
+ *
2831
2857
  * const db = createDb({
2832
2858
  * // db connection options
2833
2859
  * databaseURL: process.env.DATABASE_URL,
@@ -2839,6 +2865,11 @@ interface DbResult<ColumnTypes> extends Db<string, Record<string, never>, EmptyO
2839
2865
  * // override default SQL for timestamp, see `nowSQL` above
2840
2866
  * nowSQL: `now() AT TIME ZONE 'UTC'`,
2841
2867
  *
2868
+ * // optional, but recommended: makes zod schemas for your tables
2869
+ * schemaConfig: zodSchemaConfig,
2870
+ * // or
2871
+ * schemaConfig: valibotSchemaConfig,
2872
+ *
2842
2873
  * // override column types:
2843
2874
  * columnTypes: (t) => ({
2844
2875
  * // by default timestamp is returned as a string, override to a number
@@ -2946,8 +2977,8 @@ interface AggregateOptions<T extends PickQueryMetaResultRelationsWindows> {
2946
2977
  over?: Over<T>;
2947
2978
  }
2948
2979
  type Over<T extends PickQueryMetaResultWindows> = keyof T['windows'] | WindowArgDeclaration<T>;
2949
- type FnExpressionArgs<Q extends Query> = (SelectableOrExpression<Q> | FnExpressionArgsPairs<Q> | FnExpressionArgsValue)[];
2950
- interface FnExpressionArgsPairs<Q extends Query> {
2980
+ type FnExpressionArgs<Q extends PickQueryMeta> = (SelectableOrExpression<Q> | FnExpressionArgsPairs<Q> | FnExpressionArgsValue)[];
2981
+ interface FnExpressionArgsPairs<Q extends PickQueryMeta> {
2951
2982
  pairs: Record<string, SelectableOrExpression<Q>>;
2952
2983
  }
2953
2984
  interface FnExpressionArgsValue {
@@ -3491,22 +3522,22 @@ declare class Clear {
3491
3522
  interface CreateSelf extends QueryBase {
3492
3523
  inputType: RecordUnknown;
3493
3524
  }
3494
- type CreateData<T extends CreateSelf> = RelationsBase extends T['relations'] ? CreateDataWithDefaults<T> : CreateRelationsData<T>;
3495
- type CreateDataWithDefaults<T extends CreateSelf, Defaults extends PropertyKey = keyof T['meta']['defaults']> = {
3525
+ type CreateData<T extends CreateSelf> = RelationsBase extends T['relations'] ? CreateDataWithDefaults<T, keyof T['meta']['defaults']> : CreateRelationsData<T>;
3526
+ type CreateDataWithDefaults<T extends CreateSelf, Defaults extends PropertyKey> = {
3496
3527
  [K in keyof T['inputType'] as K extends Defaults ? never : K]: CreateColumn<T['inputType'], K>;
3497
3528
  } & {
3498
3529
  [K in Defaults]?: K extends keyof T['inputType'] ? CreateColumn<T['inputType'], K> : never;
3499
3530
  };
3500
- type CreateDataWithDefaultsForRelations<T extends CreateSelf, Defaults extends PropertyKey = keyof T['meta']['defaults'], OmitFKeys extends PropertyKey = T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate']> = {
3531
+ type CreateDataWithDefaultsForRelations<T extends CreateSelf, Defaults extends PropertyKey, OmitFKeys extends PropertyKey> = {
3501
3532
  [K in keyof T['inputType'] as K extends Defaults | OmitFKeys ? never : K]: CreateColumn<T['inputType'], K>;
3502
3533
  } & {
3503
3534
  [K in Defaults & keyof T['inputType'] as K extends OmitFKeys ? never : K]?: CreateColumn<T['inputType'], K>;
3504
3535
  };
3505
- type CreateColumn<InputType extends RecordUnknown, Key extends keyof InputType> = Expression | InputType[Key] | {
3536
+ type CreateColumn<InputType, Key extends keyof InputType> = Expression | InputType[Key] | {
3506
3537
  __isQuery: true;
3507
3538
  then: QueryThen<InputType[Key]>;
3508
3539
  };
3509
- type CreateRelationsData<T extends CreateSelf> = CreateDataWithDefaultsForRelations<T> & CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']> & T['relations'][keyof T['relations']]['relationConfig']['optionalDataForCreate'];
3540
+ type CreateRelationsData<T extends CreateSelf> = CreateDataWithDefaultsForRelations<T, keyof T['meta']['defaults'], T['relations'][keyof T['relations']]['relationConfig']['omitForeignKeyInCreate']> & CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['relationConfig']['dataForCreate']> & T['relations'][keyof T['relations']]['relationConfig']['optionalDataForCreate'];
3510
3541
  type CreateRelationsDataOmittingFKeys<T extends CreateSelf, Union> = (Union extends RelationConfigDataForCreate ? (u: keyof Union['columns'] extends keyof T['meta']['defaults'] ? Omit<Union['columns'], keyof T['meta']['defaults']> & {
3511
3542
  [P in keyof T['meta']['defaults'] & keyof Union['columns']]?: Union['columns'][P];
3512
3543
  } & Partial<Union['nested']> : Union['columns'] | Union['nested']) => void : never) extends (u: infer Obj extends RecordUnknown) => void ? Obj : never;
@@ -3536,7 +3567,7 @@ type CreateRawArgs<T extends CreateSelf, Arg extends {
3536
3567
  `Missing required columns: ${Exclude<keyof RawRequiredColumns<T> & string, Arg['columns'][number]>}`
3537
3568
  ];
3538
3569
  type OnConflictArg<T extends CreateSelf> = keyof T['shape'] | (keyof T['shape'])[] | Expression;
3539
- type AddQueryDefaults<T extends CreateSelf, Defaults extends RecordKeyTrue> = {
3570
+ type AddQueryDefaults<T extends CreateSelf, Defaults> = {
3540
3571
  [K in keyof T]: K extends 'meta' ? {
3541
3572
  [K in keyof T['meta']]: K extends 'defaults' ? T['meta']['defaults'] & Defaults : T['meta'][K];
3542
3573
  } : T[K];
@@ -4053,27 +4084,26 @@ declare class For {
4053
4084
  }
4054
4085
 
4055
4086
  type FromQuerySelf = PickQueryMetaTableShapeReturnTypeWithData;
4056
- type FromArgs<T extends FromQuerySelf> = [
4057
- first: PickQueryTableMetaResult | Expression | Exclude<keyof T['withData'], symbol | number>,
4058
- second?: {
4059
- only?: boolean;
4060
- }
4061
- ] | TemplateLiteralArgs;
4062
- type FromResult<T extends FromQuerySelf, Args extends FromArgs<T>> = Args extends TemplateStringsArray ? T : Args[0] extends string ? T['withData'] extends WithDataItems ? Args[0] extends keyof T['withData'] ? {
4087
+ type FromArg<T extends FromQuerySelf> = PickQueryTableMetaResult | Expression | Exclude<keyof T['withData'], symbol | number>;
4088
+ interface FromArgOptions {
4089
+ only?: boolean;
4090
+ }
4091
+ type FromResult<T extends FromQuerySelf, Arg extends FromArg<T>> = Arg extends string ? T['withData'] extends WithDataItems ? Arg extends keyof T['withData'] ? {
4063
4092
  [K in keyof T]: K extends 'meta' ? {
4064
- [K in keyof T['meta']]: K extends 'as' ? string | undefined : K extends 'selectable' ? SelectableFromShape<T['withData'][Args[0]]['shape'], Args[0]> : T['meta'][K];
4093
+ [K in keyof T['meta']]: K extends 'as' ? string | undefined : K extends 'selectable' ? SelectableFromShape<T['withData'][Arg]['shape'], Arg> : T['meta'][K];
4065
4094
  } : T[K];
4066
- } : SetQueryTableAlias<T, Args[0]> : SetQueryTableAlias<T, Args[0]> : Args[0] extends PickQueryTableMetaResult ? {
4095
+ } : SetQueryTableAlias<T, Arg> : SetQueryTableAlias<T, Arg> : Arg extends PickQueryTableMetaResult ? {
4067
4096
  [K in keyof T]: K extends 'meta' ? {
4068
- [K in keyof T['meta']]: K extends 'hasSelect' ? undefined : K extends 'as' ? AliasOrTable<Args[0]> : K extends 'selectable' ? {
4069
- [K in keyof Args[0]['result']]: K extends string ? {
4097
+ [K in keyof T['meta']]: K extends 'hasSelect' ? undefined : K extends 'as' ? AliasOrTable<Arg> : K extends 'selectable' ? {
4098
+ [K in keyof Arg['result']]: K extends string ? {
4070
4099
  as: K;
4071
- column: Args[0]['result'][K];
4100
+ column: Arg['result'][K];
4072
4101
  } : never;
4073
4102
  } : T['meta'][K];
4074
- } : K extends 'result' ? Args[0]['result'] : K extends 'shape' ? Args[0]['result'] : K extends 'then' ? QueryThen<GetQueryResult<T['returnType'], Args[0]['result']>> : K extends 'catch' ? QueryCatch<GetQueryResult<T['returnType'], Args[0]['result']>> : T[K];
4103
+ } : K extends 'result' ? Arg['result'] : K extends 'shape' ? Arg['result'] : K extends 'then' ? QueryThen<GetQueryResult<T, Arg['result']>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, Arg['result']>> : T[K];
4075
4104
  } : T;
4076
- declare function queryFrom<T extends FromQuerySelf, Args extends FromArgs<T>>(self: T, args: Args): FromResult<T, Args>;
4105
+ declare function queryFrom<T extends FromQuerySelf, Arg extends FromArg<T>>(self: T, arg: Arg, options?: FromArgOptions): FromResult<T, Arg>;
4106
+ declare function queryFromSql<T extends FromQuerySelf>(self: T, args: SQLQueryArgs): T;
4077
4107
  declare class From {
4078
4108
  /**
4079
4109
  * Set the `FROM` value, by default the table name is used.
@@ -4082,13 +4112,6 @@ declare class From {
4082
4112
  * // accepts sub-query:
4083
4113
  * db.table.from(Otherdb.table.select('foo', 'bar'));
4084
4114
  *
4085
- * // accepts raw sql by template literal:
4086
- * const value = 123;
4087
- * db.table.from`value = ${value}`;
4088
- *
4089
- * // accepts raw sql:
4090
- * db.table.from(db.table.sql`value = ${value}`);
4091
- *
4092
4115
  * // accepts alias of `WITH` expression:
4093
4116
  * q.with('foo', Otherdb.table.select('id', 'name')).from('foo');
4094
4117
  * ```
@@ -4101,9 +4124,22 @@ declare class From {
4101
4124
  * });
4102
4125
  * ```
4103
4126
  *
4104
- * @param args - query, raw SQL, name of CTE table, or a template string
4127
+ * @param arg - query or name of CTE table
4128
+ * @param options - { only: true } for SQL `ONLY` keyword
4129
+ */
4130
+ from<T extends FromQuerySelf, Arg extends FromArg<T>>(this: T, arg: Arg, options?: FromArgOptions): FromResult<T, Arg>;
4131
+ /**
4132
+ * Set the `FROM` value with custom SQL:
4133
+ *
4134
+ * ```ts
4135
+ * const value = 123;
4136
+ * db.table.from`value = ${value}`;
4137
+ * db.table.from(db.table.sql`value = ${value}`);
4138
+ * ```
4139
+ *
4140
+ * @param args - SQL expression
4105
4141
  */
4106
- from<T extends FromQuerySelf, Args extends FromArgs<T>>(this: T, ...args: Args): FromResult<T, Args>;
4142
+ fromSql<T extends FromQuerySelf, Arg extends FromArg<T>>(this: T, ...args: SQLQueryArgs): FromResult<T, Arg>;
4107
4143
  }
4108
4144
 
4109
4145
  declare class QueryGet {
@@ -4136,7 +4172,6 @@ declare class QueryGet {
4136
4172
  getOptional<T extends QueryGetSelf, Arg extends GetArg<T>>(this: T, arg: Arg): GetResultOptional<T, Arg>;
4137
4173
  }
4138
4174
 
4139
- type HavingArgs<T> = TemplateLiteralArgs | HavingArgFn<T>[];
4140
4175
  type HavingArgFn<T> = (q: T) => {
4141
4176
  result: {
4142
4177
  value: {
@@ -4155,12 +4190,6 @@ declare class Having {
4155
4190
  * // HAVING count(*) >= 10
4156
4191
  * ```
4157
4192
  *
4158
- * Alternatively, it accepts a raw SQL template:
4159
- *
4160
- * ```ts
4161
- * db.table.having`count(*) >= ${10}`;
4162
- * ```
4163
- *
4164
4193
  * Multiple having conditions will be combined with `AND`:
4165
4194
  *
4166
4195
  * ```ts
@@ -4201,7 +4230,17 @@ declare class Having {
4201
4230
  *
4202
4231
  * @param args - raw SQL template string or one or multiple callbacks returning a boolean expression
4203
4232
  */
4204
- having<T extends Query>(this: T, ...args: HavingArgs<T>): T;
4233
+ having<T extends Query>(this: T, ...args: HavingArgFn<T>[]): T;
4234
+ /**
4235
+ * Provide SQL expression for the `HAVING` SQL statement:
4236
+ *
4237
+ * ```ts
4238
+ * db.table.having`count(*) >= ${10}`;
4239
+ * ```
4240
+ *
4241
+ * @param args - SQL expression
4242
+ */
4243
+ havingSql<T extends Query>(this: T, ...args: SQLQueryArgs): T;
4205
4244
  }
4206
4245
 
4207
4246
  type AfterHook<Select extends PropertyKey[], Shape extends QueryColumns> = QueryAfterHook<{
@@ -4535,7 +4574,7 @@ declare class QueryLog {
4535
4574
  type MergeQuery<T extends PickQueryMetaResultReturnTypeWithDataWindows, Q extends PickQueryMetaResultReturnTypeWithDataWindows> = {
4536
4575
  [K in keyof T]: K extends 'meta' ? {
4537
4576
  [K in keyof T['meta'] | keyof Q['meta']]: K extends 'selectable' ? MergeObjects<T['meta']['selectable'], Q['meta']['selectable']> : K extends keyof Q['meta'] ? Q['meta'][K] : T['meta'][K];
4538
- } : K extends 'result' ? MergeQueryResult<T, Q> : K extends 'returnType' ? QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType'] : K extends 'then' ? QueryThen<GetQueryResult<QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType'], MergeQueryResult<T, Q>>> : K extends 'catch' ? QueryCatch<GetQueryResult<QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType'], MergeQueryResult<T, Q>>> : K extends 'windows' ? MergeObjects<T['windows'], Q['windows']> : K extends 'withData' ? MergeObjects<T['withData'], Q['withData']> : T[K];
4577
+ } : K extends 'result' ? MergeQueryResult<T, Q> : K extends 'returnType' ? QueryReturnType extends Q['returnType'] ? T['returnType'] : Q['returnType'] : K extends 'then' ? QueryThen<GetQueryResult<QueryReturnType extends Q['returnType'] ? T : Q, MergeQueryResult<T, Q>>> : K extends 'catch' ? QueryCatch<GetQueryResult<QueryReturnType extends Q['returnType'] ? T : Q, MergeQueryResult<T, Q>>> : K extends 'windows' ? MergeObjects<T['windows'], Q['windows']> : K extends 'withData' ? MergeObjects<T['withData'], Q['withData']> : T[K];
4539
4578
  };
4540
4579
  type MergeQueryResult<T extends PickQueryMetaResult, Q extends PickQueryMetaResult> = T['meta']['hasSelect'] extends true ? Q['meta']['hasSelect'] extends true ? {
4541
4580
  [K in keyof T['result'] | keyof Q['result']]: K extends keyof Q['result'] ? Q['result'][K] : T['result'][K];
@@ -4571,28 +4610,45 @@ type SelectAsValue<T extends SelectSelf> = keyof T['meta']['selectable'] | Expre
4571
4610
  type SelectSubQueryArg<T extends SelectSelf> = {
4572
4611
  [K in keyof T]: K extends keyof T['relations'] ? T['relations'][K]['relationConfig']['methodQuery'] : T[K];
4573
4612
  };
4574
- type SelectResult<T extends SelectSelf, Columns extends PropertyKey[], Result extends QueryColumns = ('*' extends Columns[number] ? {
4575
- [K in Columns[number] | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
4576
- } : {
4577
- [K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
4578
- }) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)> = {
4579
- [K in keyof T]: K extends 'result' ? Result : K extends 'then' ? QueryThen<GetQueryResult<T['returnType'], Result>> : K extends 'catch' ? QueryCatch<GetQueryResult<T['returnType'], Result>> : T[K];
4613
+ type SelectResult<T extends SelectSelf, Columns extends PropertyKey[]> = {
4614
+ [K in keyof T]: K extends 'result' ? ('*' extends Columns[number] ? {
4615
+ [K in Columns[number] | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
4616
+ } : {
4617
+ [K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
4618
+ }) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, ('*' extends Columns[number] ? {
4619
+ [K in Columns[number] | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
4620
+ } : {
4621
+ [K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
4622
+ }) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, ('*' extends Columns[number] ? {
4623
+ [K in Columns[number] | keyof T['shape'] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
4624
+ } : {
4625
+ [K in Columns[number] as T['meta']['selectable'][K]['as']]: T['meta']['selectable'][K]['column'];
4626
+ }) & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
4580
4627
  } & QueryMetaHasSelect;
4581
- type SelectResultObj<T extends SelectSelf, Obj extends SelectAsArg<T>, Result extends QueryColumns = {
4582
- [K in keyof Obj | (T['meta']['hasSelect'] extends true ? keyof T['result'] : never)]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
4583
- }> = {
4628
+ type SelectResultObj<T extends SelectSelf, Obj extends SelectAsArg<T>> = {
4584
4629
  [K in keyof T]: K extends 'meta' ? T['meta'] & {
4585
4630
  selectable: SelectAsSelectable<Obj>;
4586
- } : K extends 'result' ? Result : K extends 'then' ? QueryThen<GetQueryResult<T['returnType'], Result>> : K extends 'catch' ? QueryCatch<GetQueryResult<T['returnType'], Result>> : T[K];
4631
+ } : K extends 'result' ? {
4632
+ [K in keyof Obj | (T['meta']['hasSelect'] extends true ? keyof T['result'] : never)]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
4633
+ } : K extends 'then' ? QueryThen<GetQueryResult<T, {
4634
+ [K in keyof Obj | (T['meta']['hasSelect'] extends true ? keyof T['result'] : never)]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
4635
+ }>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, {
4636
+ [K in keyof Obj | (T['meta']['hasSelect'] extends true ? keyof T['result'] : never)]: K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : K extends keyof T['result'] ? T['result'][K] : never;
4637
+ }>> : T[K];
4587
4638
  } & QueryMetaHasSelect;
4588
- type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey[], Obj extends SelectAsArg<T>, Result extends QueryColumns = {
4589
- [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['column'] : K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : never;
4590
- } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)> = {
4639
+ type SelectResultColumnsAndObj<T extends SelectSelf, Columns extends PropertyKey[], Obj extends SelectAsArg<T>> = {
4591
4640
  [K in keyof T]: K extends 'meta' ? T['meta'] & {
4592
4641
  selectable: SelectAsSelectable<Obj>;
4593
- } : K extends 'result' ? Result : K extends 'then' ? QueryThen<GetQueryResult<T['returnType'], Result>> : K extends 'catch' ? QueryCatch<GetQueryResult<T['returnType'], Result>> : T[K];
4642
+ } : K extends 'result' ? // Combine previously selected items, all columns if * was provided,
4643
+ {
4644
+ [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['column'] : K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : never;
4645
+ } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown) : K extends 'then' ? QueryThen<GetQueryResult<T, {
4646
+ [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['column'] : K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : never;
4647
+ } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, {
4648
+ [K in ('*' extends Columns[number] ? Exclude<Columns[number], '*'> | keyof T['shape'] : Columns[number]) | keyof Obj as K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['as'] : K]: K extends keyof T['meta']['selectable'] ? T['meta']['selectable'][K]['column'] : K extends keyof Obj ? SelectAsValueResult<T, Obj[K]> : never;
4649
+ } & (T['meta']['hasSelect'] extends true ? Omit<T['result'], Columns[number]> : unknown)>> : T[K];
4594
4650
  } & QueryMetaHasSelect;
4595
- type SelectAsSelectable<Arg extends RecordUnknown> = {
4651
+ type SelectAsSelectable<Arg> = {
4596
4652
  [K in keyof Arg]: Arg[keyof Arg] extends (q: never) => {
4597
4653
  result: QueryColumns;
4598
4654
  } ? {
@@ -4602,8 +4658,8 @@ type SelectAsSelectable<Arg extends RecordUnknown> = {
4602
4658
  };
4603
4659
  } : never;
4604
4660
  }[keyof Arg];
4605
- type SelectAsValueResult<T extends SelectSelf, Arg extends SelectAsValue<T>> = Arg extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Arg]['column'] : Arg extends Expression ? Arg['_type'] : Arg extends (q: never) => QueryBase ? SelectSubQueryResult<ReturnType<Arg>> : Arg extends (q: never) => Expression ? ReturnType<Arg>['_type'] : Arg extends (q: never) => QueryBase | Expression ? SelectSubQueryResult<Exclude<ReturnType<Arg>, Expression>> | Exclude<ReturnType<Arg>, QueryBase>['_type'] : never;
4606
- type SelectSubQueryResult<Arg extends QueryBase> = QueryReturnsAll<Arg['returnType']> extends true ? ColumnsShapeToObjectArray<Arg['result']> : Arg['returnType'] extends 'valueOrThrow' ? Arg['result']['value'] : Arg['returnType'] extends 'pluck' ? ColumnsShapeToPluck<Arg['result']> : Arg['returnType'] extends 'one' ? ColumnsShapeToNullableObject<Arg['result']> : ColumnsShapeToObject<Arg['result']>;
4661
+ type SelectAsValueResult<T extends SelectSelf, Arg> = Arg extends keyof T['meta']['selectable'] ? T['meta']['selectable'][Arg]['column'] : Arg extends Expression ? Arg['_type'] : Arg extends (q: never) => QueryBase ? SelectSubQueryResult<ReturnType<Arg>> : Arg extends (q: never) => Expression ? ReturnType<Arg>['_type'] : Arg extends (q: never) => QueryBase | Expression ? SelectSubQueryResult<Exclude<ReturnType<Arg>, Expression>> | Exclude<ReturnType<Arg>, QueryBase>['_type'] : never;
4662
+ type SelectSubQueryResult<Arg extends SelectSelf> = QueryReturnsAll<Arg['returnType']> extends true ? ColumnsShapeToObjectArray<Arg['result']> : Arg['returnType'] extends 'valueOrThrow' ? Arg['result']['value'] : Arg['returnType'] extends 'pluck' ? ColumnsShapeToPluck<Arg['result']> : Arg['returnType'] extends 'one' ? ColumnsShapeToNullableObject<Arg['result']> : ColumnsShapeToObject<Arg['result']>;
4607
4663
  declare const addParserForRawExpression: (q: PickQueryQ, key: string | getValueKey, raw: Expression) => void;
4608
4664
  declare const addParserForSelectItem: <T extends PickQueryMeta>(q: T, as: string | getValueKey | undefined, key: string, arg: Query | SelectableOrExpression<T>) => string | Expression | Query;
4609
4665
  declare const processSelectArg: <T extends SelectSelf>(q: T, as: string | undefined, arg: SelectArg<T>, columnAs?: string | getValueKey) => SelectItem;
@@ -4852,7 +4908,7 @@ type UpdateColumn<T extends UpdateSelf, Key extends keyof T['inputType']> = T['i
4852
4908
  }) => UpdateColumnCallbackResult);
4853
4909
  type UpdateRelationData<T extends UpdateSelf, Rel extends RelationConfigBase> = QueryReturnsAll<T['returnType']> extends true ? Rel['dataForUpdate'] : Rel['one'] extends true ? Rel['dataForUpdate'] | Rel['dataForUpdateOne'] : Rel['dataForUpdate'] & Rel['dataForUpdateOne'];
4854
4910
  type UpdateArg<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? UpdateData<T> : never;
4855
- type UpdateRawArgs<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? [sql: Expression] | TemplateLiteralArgs : never;
4911
+ type UpdateRawArgs<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? SQLQueryArgs : never;
4856
4912
  type UpdateResult<T extends UpdateSelf> = T['meta']['hasSelect'] extends true ? SetQueryKind<T, 'update'> : SetQueryReturnsRowCount<T, 'update'>;
4857
4913
  type ChangeCountArg<T extends PickQueryShape> = keyof T['shape'] | {
4858
4914
  [K in keyof T['shape']]?: number;
@@ -5633,6 +5689,7 @@ declare class DynamicRawSQL<T extends QueryColumn, ColumnTypes = DefaultColumnTy
5633
5689
  declare function raw<T = unknown>(...args: StaticSQLArgs): RawSQL<QueryColumn<T>>;
5634
5690
  declare function raw<T = unknown>(...args: [DynamicSQLArg]): DynamicRawSQL<QueryColumn<T>>;
5635
5691
  declare const countSelect: RawSQL<QueryColumn<unknown, orchid_core.BaseOperators>, DefaultColumnTypes<ColumnSchemaConfig>>[];
5692
+ declare function sqlQueryArgsToExpression(args: SQLQueryArgs): RawSQL<QueryColumn>;
5636
5693
 
5637
5694
  declare abstract class RawSqlMethods<ColumnTypes> {
5638
5695
  /**
@@ -5871,11 +5928,11 @@ type OrderArgTsQuery<T extends OrderArgSelf> = string | undefined extends T['met
5871
5928
  type OrderArgKey<T extends OrderArgSelf> = keyof T['meta']['selectable'] | {
5872
5929
  [K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
5873
5930
  }[keyof T['result']];
5874
- type OrderArgs<T extends OrderArgSelf> = OrderArg<T>[] | TemplateLiteralArgs;
5931
+ type OrderArgs<T extends OrderArgSelf> = OrderArg<T>[];
5875
5932
  type GroupArg<T extends PickQueryResult> = {
5876
5933
  [K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
5877
5934
  }[keyof T['result']] | Expression;
5878
- type FindArgs<T extends PickQueryShapeSinglePrimaryKey> = [T['shape'][T['singlePrimaryKey']]['queryType'] | Expression] | TemplateLiteralArgs;
5935
+ type FindArg<T extends PickQueryShapeSinglePrimaryKey> = T['shape'][T['singlePrimaryKey']]['queryType'] | Expression;
5879
5936
  type QueryHelper<T extends PickQueryMetaShape, Args extends unknown[], Result> = {
5880
5937
  <Q extends {
5881
5938
  returnType: QueryReturnType;
@@ -6018,7 +6075,7 @@ declare class QueryMethods<ColumnTypes> {
6018
6075
  * The `find` method is available only for tables which has exactly one primary key.
6019
6076
  * And also it can accept raw SQL template literal, then the primary key is not required.
6020
6077
  *
6021
- * Find record by id, throw [NotFoundError](/guide/error-handling.html) if not found:
6078
+ * Finds a record by id, throws {@link NotFoundError} if not found:
6022
6079
  *
6023
6080
  * ```ts
6024
6081
  * await db.table.find(1);
@@ -6031,22 +6088,49 @@ declare class QueryMethods<ColumnTypes> {
6031
6088
  * `;
6032
6089
  * ```
6033
6090
  *
6034
- * @param args - primary key value to find by, or a raw SQL
6091
+ * @param value - primary key value to find by
6092
+ */
6093
+ find<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, value: FindArg<T>): SetQueryReturnsOne<WhereResult<T>>;
6094
+ /**
6095
+ * Finds a single record with a given SQL, throws {@link NotFoundError} if not found:
6096
+ *
6097
+ * ```ts
6098
+ * await db.user.find`
6099
+ * age = ${age} AND
6100
+ * name = ${name}
6101
+ * `;
6102
+ * ```
6103
+ *
6104
+ * @param args - SQL expression
6035
6105
  */
6036
- find<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, ...args: FindArgs<T>): SetQueryReturnsOne<WhereResult<T>>;
6106
+ findBySql<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, ...args: SQLQueryArgs): SetQueryReturnsOne<WhereResult<T>>;
6037
6107
  /**
6038
- * Find a single record by the primary key (id), adds `LIMIT 1`, can accept a raw SQL.
6108
+ * Find a single record by the primary key (id), adds `LIMIT 1`.
6039
6109
  * Returns `undefined` when not found.
6040
6110
  *
6041
6111
  * ```ts
6042
6112
  * const result: TableType | undefined = await db.table.find(123);
6043
6113
  * ```
6044
6114
  *
6045
- * @param args - primary key value to find by, or a raw SQL
6115
+ * @param value - primary key value to find by, or a raw SQL
6046
6116
  */
6047
- findOptional<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, ...args: FindArgs<T>): SetQueryReturnsOneOptional<WhereResult<T>>;
6117
+ findOptional<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, value: FindArg<T>): SetQueryReturnsOneOptional<WhereResult<T>>;
6048
6118
  /**
6049
- * The same as `where(conditions).take()`, it will filter records and add a `LIMIT 1`.
6119
+ * Finds a single record with a given SQL.
6120
+ * Returns `undefined` when not found.
6121
+ *
6122
+ * ```ts
6123
+ * await db.user.find`
6124
+ * age = ${age} AND
6125
+ * name = ${name}
6126
+ * `;
6127
+ * ```
6128
+ *
6129
+ * @param args - SQL expression
6130
+ */
6131
+ findBySqlOptional<T extends PickQueryShapeResultSinglePrimaryKey>(this: T, ...args: SQLQueryArgs): SetQueryReturnsOneOptional<WhereResult<T>>;
6132
+ /**
6133
+ * The same as `where(conditions).take()`, takes the same arguments as {@link Where.where}, it will filter records and add a `LIMIT 1`.
6050
6134
  * Throws `NotFoundError` if not found.
6051
6135
  *
6052
6136
  * ```ts
@@ -6152,7 +6236,7 @@ declare class QueryMethods<ColumnTypes> {
6152
6236
  /**
6153
6237
  * Adds an order by clause to the query.
6154
6238
  *
6155
- * Takes one or more arguments, each argument can be a column name, an object, or a raw expression.
6239
+ * Takes one or more arguments, each argument can be a column name or an object.
6156
6240
  *
6157
6241
  * ```ts
6158
6242
  * db.table.order('id', 'name'); // ASC by default
@@ -6164,11 +6248,6 @@ declare class QueryMethods<ColumnTypes> {
6164
6248
  * name: 'ASC NULLS FIRST',
6165
6249
  * age: 'DESC NULLS LAST',
6166
6250
  * });
6167
- *
6168
- * // order by raw SQL expression:
6169
- * db.table.order`raw sql`;
6170
- * // or
6171
- * db.table.order(db.table.sql`raw sql`);
6172
6251
  * ```
6173
6252
  *
6174
6253
  * `order` can refer to the values returned from `select` sub-queries (unlike `where` which cannot).
@@ -6187,9 +6266,23 @@ declare class QueryMethods<ColumnTypes> {
6187
6266
  * });
6188
6267
  * ```
6189
6268
  *
6190
- * @param args - column name(s), raw SQL, or an object with column names and sort directions.
6269
+ * @param args - column name(s) or an object with column names and sort directions.
6191
6270
  */
6192
6271
  order<T extends OrderArgSelf>(this: T, ...args: OrderArgs<T>): T;
6272
+ /**
6273
+ * Order by SQL expression
6274
+ *
6275
+ * Order by raw SQL expression.
6276
+ *
6277
+ * ```ts
6278
+ * db.table.order`raw sql`;
6279
+ * // or
6280
+ * db.table.order(db.table.sql`raw sql`);
6281
+ * ```
6282
+ *
6283
+ * @param args - SQL expression
6284
+ */
6285
+ orderSql<T>(this: T, ...args: SQLQueryArgs): T;
6193
6286
  /**
6194
6287
  * Adds a limit clause to the query.
6195
6288
  *
@@ -6469,11 +6562,11 @@ interface QueryWithTable extends Query {
6469
6562
  declare const queryTypeWithLimitOne: Record<QueryReturnType, true | undefined>;
6470
6563
  declare const isQueryReturnsAll: (q: Query) => boolean;
6471
6564
  type QueryReturnsAll<T extends QueryReturnType> = (QueryReturnType extends T ? 'all' : T) extends 'all' ? true : false;
6472
- type GetQueryResult<ReturnType extends QueryReturnType, Result extends QueryColumns> = QueryReturnsAll<ReturnType> extends true ? ColumnShapeOutput<Result>[] : ReturnType extends 'one' ? ColumnShapeOutput<Result> | undefined : ReturnType extends 'oneOrThrow' ? ColumnShapeOutput<Result> : ReturnType extends 'value' ? Result['value']['outputType'] | undefined : ReturnType extends 'valueOrThrow' ? Result['value']['outputType'] : ReturnType extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : ReturnType extends 'pluck' ? Result['pluck']['outputType'][] : ReturnType extends 'rowCount' ? number : ReturnType extends 'void' ? void : never;
6565
+ type GetQueryResult<T extends PickQueryReturnType, Result extends QueryColumns> = QueryReturnsAll<T['returnType']> extends true ? ColumnShapeOutput<Result>[] : T['returnType'] extends 'one' ? ColumnShapeOutput<Result> | undefined : T['returnType'] extends 'oneOrThrow' ? ColumnShapeOutput<Result> : T['returnType'] extends 'value' ? Result['value']['outputType'] | undefined : T['returnType'] extends 'valueOrThrow' ? Result['value']['outputType'] : T['returnType'] extends 'rows' ? ColumnShapeOutput<Result>[keyof Result][][] : T['returnType'] extends 'pluck' ? Result['pluck']['outputType'][] : T['returnType'] extends 'rowCount' ? number : T['returnType'] extends 'void' ? void : never;
6473
6566
  type AddQuerySelect<T extends PickQueryMetaResultReturnType, Result extends QueryColumns> = {
6474
6567
  [K in keyof T]: K extends 'result' ? {
6475
6568
  [K in (T['meta']['hasSelect'] extends true ? keyof T['result'] : never) | keyof Result]: K extends keyof Result ? Result[K] : K extends keyof T['result'] ? T['result'][K] : never;
6476
- } : K extends 'then' ? QueryThen<GetQueryResult<T['returnType'], Result>> : K extends 'catch' ? QueryCatch<GetQueryResult<T['returnType'], Result>> : T[K];
6569
+ } : K extends 'then' ? QueryThen<GetQueryResult<T, Result>> : K extends 'catch' ? QueryCatch<GetQueryResult<T, Result>> : T[K];
6477
6570
  } & QueryMetaHasSelect;
6478
6571
  interface QueryMetaHasSelect {
6479
6572
  meta: {
@@ -6882,7 +6975,7 @@ interface ColumnsShapeToObjectArray<Shape extends QueryColumns> {
6882
6975
  operators: OperatorsAny;
6883
6976
  }
6884
6977
 
6885
- declare abstract class VirtualColumn<Schema extends ColumnSchemaConfig, InputSchema extends Schema['type'] = Schema['never']> extends ColumnType<Schema, unknown, InputSchema, OperatorsAny> {
6978
+ declare abstract class VirtualColumn<Schema extends ColumnSchemaConfig, InputSchema extends Schema['type'] = ReturnType<Schema['never']>> extends ColumnType<Schema, unknown, InputSchema, OperatorsAny> {
6886
6979
  dataType: string;
6887
6980
  operators: OperatorsAny;
6888
6981
  constructor(schema: Schema, inputSchema?: InputSchema);
@@ -7102,4 +7195,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
7102
7195
  */
7103
7196
  declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
7104
7197
 
7105
- export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn$1 as BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, ColumnExpression, ColumnFromDbParams, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumnsBase, CopyOptions, CopyQueryData, Create, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DropMode, DynamicRawSQL, EnumColumn, ExpressionOrQueryReturning, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnType, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBeforeHook, QueryData, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RelationsChain, SearchArg, SearchMethods, SearchWeight, Select, SelectArg, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SingleColumnIndexOptionsForColumn, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn$1 as StringColumn, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBase, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, With, WithDataBase, WithDataItem, WithDataItems, WithItem, WithOptions, WrapQueryArg, XMLColumn, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereIn, _queryWhereNot, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, constraintPropsToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getConstraintKind, getQueryAs, getShapeFromSelect, getTableData, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeExpression, makeFnExpression, makeRegexToFindInSql, makeSQL, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryFrom, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resetTableData, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
7198
+ export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn$1 as BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, CloneSelfKeys, ColumnData, ColumnExpression, ColumnFromDbParams, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumnsBase, CopyOptions, CopyQueryData, Create, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DropMode, DynamicRawSQL, EnumColumn, ExpressionOrQueryReturning, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArg, FromArgOptions, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnType, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBeforeHook, QueryData, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RelationsChain, SearchArg, SearchMethods, SearchWeight, Select, SelectArg, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SingleColumnIndexOptionsForColumn, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn$1 as StringColumn, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBase, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, With, WithDataBase, WithDataItem, WithDataItems, WithItem, WithOptions, WrapQueryArg, XMLColumn, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, constraintPropsToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getConstraintKind, getQueryAs, getShapeFromSelect, getTableData, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeExpression, makeFnExpression, makeRegexToFindInSql, makeSQL, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resetTableData, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlQueryArgsToExpression, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };