pqb 0.52.1 → 0.52.3
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 +53 -34
- package/dist/index.js +64 -49
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +64 -49
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PoolConfig, Pool, PoolClient } from 'pg';
|
|
2
2
|
import * as orchid_core from 'orchid-core';
|
|
3
|
-
import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, SingleSqlItem, Sql, IsQuery, PickQueryMetaReturnType, RecordUnknown, Expression, MaybeArray, ColumnTypesBase, TemplateLiteralArgs, QueryColumn, EmptyObject, QueryColumns, MaybePromise, FnUnknownToUnknown, QueryMetaBase, QueryReturnType, RecordString, ColumnsShapeBase, ColumnsParsers,
|
|
3
|
+
import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, SingleSqlItem, Sql, IsQuery, PickQueryTableMetaResult, PickQueryShape, PickQueryTable, PickQueryMetaReturnType, RecordUnknown, Expression, MaybeArray, ColumnTypesBase, TemplateLiteralArgs, QueryColumn, EmptyObject, QueryColumns, MaybePromise, FnUnknownToUnknown, QueryMetaBase, QueryReturnType, RecordString, ColumnsShapeBase, ColumnsParsers, HookSelect, BatchParsers, QueryLogObject, QueryLogger, QueryDataTransform, ExpressionChain, ColumnSchemaConfig, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, ExpressionData, StaticSQLArgs, SQLQueryArgs, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, QueryThenByQuery, ColumnShapeInput, SelectableBase, PickQueryMetaShape, PickQueryTableMetaResultShape, PickQueryMetaResultWindows, PickOutputTypeAndOperators, PickQueryResult, ValExpression, PickOutputType, QueryThen, DateColumnData, ColumnToCodeCtx, Code, TimeInterval, ColumnTypeSchemaArg, ColumnDataBase, ArrayMethodsData, ForeignKeyTable, ColumnNameOfTable, BaseNumberData, PickColumnBaseData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ColumnTypeBase, ParseColumn, ParseNullColumn, EncodeColumn, QueryColumnsInit, QueryLogOptions, DefaultSelectColumns, DefaultSelectOutput, QueryThenShallowSimplifyArr, QueryCatch, TransactionState, QueryColumnOfDataType, PickQueryUniqueProperties, PickQueryMetaResult, PickQueryTableMetaResultInputType, UnionToIntersection, AfterCommitStandaloneHook, getValueKey, QueryThenByReturnType, QueryMetaIsSubQuery, PickQueryReturnType, QueryReturnTypeAll, QueryReturnTypeOptional, QueryThenShallowSimplifyOptional, QueryThenShallowSimplify, PickQueryResultReturnType, PickQueryResultReturnTypeUniqueColumns, PickQueryTableMetaShape, QueryInternalBase, PickType, RecordKeyTrue, ColumnShapeOutput, OperatorsNullable, UniqueColumn, TimestampHelpers, ShallowSimplify, Codes, ColumnDataCheckBase } from 'orchid-core';
|
|
4
4
|
import { inspect } from 'node:util';
|
|
5
5
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
6
6
|
|
|
@@ -58,9 +58,11 @@ declare class TransactionAdapter implements Adapter {
|
|
|
58
58
|
interface RelationJoinQuery {
|
|
59
59
|
(joiningQuery: IsQuery, baseQuery: IsQuery): IsQuery;
|
|
60
60
|
}
|
|
61
|
+
interface RelationConfigQuery extends PickQueryTableMetaResult, PickQueryShape, PickQueryTable {
|
|
62
|
+
}
|
|
61
63
|
interface RelationConfigBase {
|
|
62
64
|
returnsOne: boolean;
|
|
63
|
-
query:
|
|
65
|
+
query: RelationConfigQuery;
|
|
64
66
|
joinQuery: RelationJoinQuery;
|
|
65
67
|
reverseJoin: RelationJoinQuery;
|
|
66
68
|
params: unknown;
|
|
@@ -79,10 +81,7 @@ interface RelationConfigDataForCreate {
|
|
|
79
81
|
nested: RecordUnknown;
|
|
80
82
|
}
|
|
81
83
|
interface RelationsBase {
|
|
82
|
-
[K: string]:
|
|
83
|
-
}
|
|
84
|
-
interface RelationQueryBase extends Query {
|
|
85
|
-
relationConfig: RelationConfigBase;
|
|
84
|
+
[K: string]: RelationConfigBase;
|
|
86
85
|
}
|
|
87
86
|
|
|
88
87
|
declare const checkIfASimpleQuery: (q: Query) => boolean;
|
|
@@ -138,7 +137,6 @@ type QuerySourceItem = {
|
|
|
138
137
|
} | {
|
|
139
138
|
tsQuery: string | Expression;
|
|
140
139
|
});
|
|
141
|
-
type JoinItem = SimpleJoinItem | JoinLateralItem;
|
|
142
140
|
type SimpleJoinItemNonSubQueryArgs = [{
|
|
143
141
|
[K: string]: string | Expression;
|
|
144
142
|
} | Expression | true] | [leftColumn: string | Expression, rightColumn: string | Expression] | [
|
|
@@ -147,6 +145,10 @@ type SimpleJoinItemNonSubQueryArgs = [{
|
|
|
147
145
|
rightColumn: string | Expression
|
|
148
146
|
];
|
|
149
147
|
type JoinItemArgs = {
|
|
148
|
+
l: Query;
|
|
149
|
+
a: string;
|
|
150
|
+
i?: boolean;
|
|
151
|
+
} | {
|
|
150
152
|
j: IsQuery;
|
|
151
153
|
s: boolean;
|
|
152
154
|
r?: IsQuery;
|
|
@@ -173,11 +175,10 @@ type JoinItemArgs = {
|
|
|
173
175
|
d: RecordUnknown[];
|
|
174
176
|
c: ColumnTypesBase;
|
|
175
177
|
};
|
|
176
|
-
interface
|
|
178
|
+
interface JoinItem {
|
|
177
179
|
type: string;
|
|
178
180
|
args: JoinItemArgs;
|
|
179
181
|
}
|
|
180
|
-
type JoinLateralItem = [type: string, joined: Query, as: string];
|
|
181
182
|
type WhereItem = {
|
|
182
183
|
[K: string]: unknown | {
|
|
183
184
|
[K: string]: unknown | Query | Expression;
|
|
@@ -189,7 +190,7 @@ type WhereItem = {
|
|
|
189
190
|
EXISTS?: MaybeArray<JoinItemArgs>;
|
|
190
191
|
ON?: WhereOnItem | WhereJsonPathEqualsItem;
|
|
191
192
|
SEARCH?: MaybeArray<WhereSearchItem>;
|
|
192
|
-
} | ((q: unknown) =>
|
|
193
|
+
} | ((q: unknown) => RelationConfigBase | Expression) | Query | Expression;
|
|
193
194
|
interface WhereInItem {
|
|
194
195
|
columns: string[];
|
|
195
196
|
values: unknown[][] | Query | Expression;
|
|
@@ -431,7 +432,10 @@ interface CommonQueryData {
|
|
|
431
432
|
language?: string;
|
|
432
433
|
subQuery?: number;
|
|
433
434
|
chainMultiple?: boolean;
|
|
434
|
-
relChain?:
|
|
435
|
+
relChain?: {
|
|
436
|
+
query: Query;
|
|
437
|
+
rel: RelationConfigBase;
|
|
438
|
+
}[];
|
|
435
439
|
/**
|
|
436
440
|
* Stores current operator functions available for the query.
|
|
437
441
|
* Is needed to remove these operators from query object when changing the query type, see {@link setQueryOperators}.
|
|
@@ -547,6 +551,9 @@ interface PickQueryDataShapeAndJoinedShapes {
|
|
|
547
551
|
shape: ColumnsShapeBase;
|
|
548
552
|
joinedShapes?: JoinedShapes;
|
|
549
553
|
}
|
|
554
|
+
interface PickQueryDataShapeAndJoinedShapesAndAliases extends PickQueryDataShapeAndJoinedShapes {
|
|
555
|
+
aliases?: RecordString;
|
|
556
|
+
}
|
|
550
557
|
|
|
551
558
|
declare abstract class OrchidOrmError extends Error {
|
|
552
559
|
}
|
|
@@ -634,7 +641,9 @@ type WithSelectable<W extends WithDataItem> = keyof W['shape'] | `${W['table']}.
|
|
|
634
641
|
* The first argument of all `join` and `joinLateral` methods.
|
|
635
642
|
* See argument of {@link join}.
|
|
636
643
|
*/
|
|
637
|
-
type JoinFirstArg<T extends PickQueryRelationsWithData> = PickQueryTableMetaResult | keyof T['relations'] | keyof T['withData'] | ((q:
|
|
644
|
+
type JoinFirstArg<T extends PickQueryRelationsWithData> = PickQueryTableMetaResult | keyof T['relations'] | keyof T['withData'] | ((q: {
|
|
645
|
+
[K in keyof T['relations']]: T['relations'][K]['query'];
|
|
646
|
+
}) => PickQueryTableMetaResult);
|
|
638
647
|
/**
|
|
639
648
|
* Arguments of `join` methods (not `joinLateral`).
|
|
640
649
|
* See {@link join}
|
|
@@ -713,9 +722,9 @@ type JoinResult<T extends PickQueryMetaResultReturnType, JoinedSelectable, Requi
|
|
|
713
722
|
type JoinResultFromArgs<T extends PickQueryMetaResultRelationsWithDataReturnType, Arg, Args, RequireJoined, RequireMain> = JoinResult<T, Args extends GenericJoinCallbackTuple ? JoinResultSelectable<ReturnType<Args[0]>['result'], AliasOrTable<ReturnType<Args[0]>>, RequireJoined> : Arg extends PickQueryTableMetaResultShape ? Arg['meta']['hasSelect'] extends true ? JoinResultSelectable<Arg['result'], AliasOrTable<Arg>, RequireJoined> : JoinResultSelectable<Arg['shape'], AliasOrTable<{
|
|
714
723
|
table: Arg['table'];
|
|
715
724
|
meta: Arg['meta'];
|
|
716
|
-
}>, RequireJoined> : Arg extends keyof T['relations'] ? JoinResultSelectable<T['relations'][Arg]['shape'], AliasOrTable<{
|
|
717
|
-
table: T['relations'][Arg]['table'];
|
|
718
|
-
meta: T['relations'][Arg]['meta'];
|
|
725
|
+
}>, RequireJoined> : Arg extends keyof T['relations'] ? JoinResultSelectable<T['relations'][Arg]['query']['shape'], AliasOrTable<{
|
|
726
|
+
table: T['relations'][Arg]['query']['table'];
|
|
727
|
+
meta: T['relations'][Arg]['query']['meta'];
|
|
719
728
|
}>, RequireJoined> : Arg extends GenericJoinCallback ? JoinResultSelectable<ReturnType<Arg>['shape'], AliasOrTable<{
|
|
720
729
|
table: ReturnType<Arg>['table'];
|
|
721
730
|
meta: ReturnType<Arg>['meta'];
|
|
@@ -782,7 +791,7 @@ type JoinArgToQuery<T extends PickQueryRelationsWithData, Arg extends JoinFirstA
|
|
|
782
791
|
};
|
|
783
792
|
};
|
|
784
793
|
} : K extends 'result' ? T['withData'][Arg]['shape'] : K extends keyof T ? T[K] : never;
|
|
785
|
-
} : never : Arg extends PickQueryTableMetaResult ? Arg : Arg extends keyof T['relations'] ? T['relations'][Arg] : Arg extends JoinArgToQueryCallback ? ReturnType<Arg> : never;
|
|
794
|
+
} : never : Arg extends PickQueryTableMetaResult ? Arg : Arg extends keyof T['relations'] ? T['relations'][Arg]['query'] : Arg extends JoinArgToQueryCallback ? ReturnType<Arg> : never;
|
|
786
795
|
type JoinArgToQueryCallback = (...args: any[]) => PickQueryTableMetaResult;
|
|
787
796
|
/**
|
|
788
797
|
* Type of the `join` callback (not `joinLateral`).
|
|
@@ -1925,7 +1934,7 @@ type WhereArg<T extends PickQueryMetaRelations> = {
|
|
|
1925
1934
|
type WhereQueryBuilder<T extends PickQueryRelations> = EmptyObject extends T['relations'] ? {
|
|
1926
1935
|
[K in keyof T]: K extends keyof Where | keyof ExpressionMethods | 'table' | 'get' | 'columnTypes' | 'meta' | 'relations' | 'modify' | 'result' | 'returnType' | 'withData' | 'windows' | 'then' ? T[K] : never;
|
|
1927
1936
|
} : {
|
|
1928
|
-
[K in keyof T['relations'] | keyof T]: K extends keyof T['relations'] ? T['relations'][K] : K extends keyof T & (keyof Where | keyof ExpressionMethods | 'table' | 'get' | 'columnTypes' | 'meta' | 'relations' | 'modify' | 'result' | 'returnType' | 'withData' | 'windows' | 'then') ? T[K] : never;
|
|
1937
|
+
[K in keyof T['relations'] | keyof T]: K extends keyof T['relations'] ? T['relations'][K]['query'] : K extends keyof T & (keyof Where | keyof ExpressionMethods | 'table' | 'get' | 'columnTypes' | 'meta' | 'relations' | 'modify' | 'result' | 'returnType' | 'withData' | 'windows' | 'then') ? T[K] : never;
|
|
1929
1938
|
};
|
|
1930
1939
|
type WhereArgs<T extends PickQueryMetaRelations> = WhereArg<T>[];
|
|
1931
1940
|
type WhereNotArgs<T extends PickQueryMetaRelations> = [WhereArg<T>];
|
|
@@ -3559,6 +3568,7 @@ declare class Db<Table extends string | undefined = undefined, Shape extends Que
|
|
|
3559
3568
|
then: QueryThenShallowSimplifyArr<QueryDefaultReturnData<Shape>>;
|
|
3560
3569
|
windows: EmptyObject;
|
|
3561
3570
|
relations: EmptyObject;
|
|
3571
|
+
relationQueries: EmptyObject;
|
|
3562
3572
|
withData: EmptyObject;
|
|
3563
3573
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError<this>;
|
|
3564
3574
|
meta: TableMeta<Table, Shape, ShapeWithComputed, Scopes>;
|
|
@@ -4309,10 +4319,10 @@ type CreateDataWithDefaultsForRelations<T extends CreateSelf, Defaults extends k
|
|
|
4309
4319
|
[K in Defaults as K extends OmitFKeys ? never : K]?: CreateColumn<T, K>;
|
|
4310
4320
|
};
|
|
4311
4321
|
type CreateColumn<T extends CreateSelf, K extends keyof T['inputType']> = T['inputType'][K] | QueryOrExpression<T['inputType'][K]> | ((q: T) => QueryOrExpression<T['inputType'][K]>);
|
|
4312
|
-
type CreateRelationsData<T extends CreateSelf, BelongsToData> = CreateDataWithDefaultsForRelations<T, keyof T['meta']['defaults'], T['relations'][keyof T['relations']]['
|
|
4322
|
+
type CreateRelationsData<T extends CreateSelf, BelongsToData> = CreateDataWithDefaultsForRelations<T, keyof T['meta']['defaults'], T['relations'][keyof T['relations']]['omitForeignKeyInCreate']> & ([BelongsToData] extends [never] ? EmptyObject : BelongsToData) & T['relations'][keyof T['relations']]['optionalDataForCreate'];
|
|
4313
4323
|
type CreateBelongsToData<T extends CreateSelf> = [
|
|
4314
|
-
T['relations'][keyof T['relations']]['
|
|
4315
|
-
] extends [never] ? never : CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['
|
|
4324
|
+
T['relations'][keyof T['relations']]['dataForCreate']
|
|
4325
|
+
] extends [never] ? never : CreateRelationsDataOmittingFKeys<T, T['relations'][keyof T['relations']]['dataForCreate']>;
|
|
4316
4326
|
type CreateRelationsDataOmittingFKeys<T extends CreateSelf, Union> = (Union extends RelationConfigDataForCreate ? (u: Union['columns'] extends keyof T['meta']['defaults'] ? {
|
|
4317
4327
|
[P in Exclude<Union['columns'] & keyof T['inputType'], keyof T['meta']['defaults']>]: CreateColumn<T, P>;
|
|
4318
4328
|
} & {
|
|
@@ -4344,10 +4354,10 @@ type InsertManyRawOrFromResult<T extends CreateSelf> = T['meta']['hasSelect'] ex
|
|
|
4344
4354
|
*/
|
|
4345
4355
|
type NarrowCreateResult<T extends CreateSelf, Bt> = EmptyObject extends T['relations'] ? T['result'] : [
|
|
4346
4356
|
{
|
|
4347
|
-
[K in keyof T['relations']]: T['relations'][K]['
|
|
4357
|
+
[K in keyof T['relations']]: T['relations'][K]['omitForeignKeyInCreate'];
|
|
4348
4358
|
}[keyof T['relations'] & keyof Bt]
|
|
4349
4359
|
] extends [never] ? T['result'] : {
|
|
4350
|
-
[K in keyof T['result']]: K extends T['relations'][keyof T['relations']]['
|
|
4360
|
+
[K in keyof T['result']]: K extends T['relations'][keyof T['relations']]['omitForeignKeyInCreate'] ? QueryColumn<Exclude<T['result'][K]['type'], null>, T['result'][K]['operators']> : T['result'][K];
|
|
4351
4361
|
};
|
|
4352
4362
|
type IgnoreResult<T extends CreateSelf> = T['returnType'] extends 'oneOrThrow' ? QueryTakeOptional<T> : T['returnType'] extends 'valueOrThrow' ? SetQueryReturnsColumnOptional<T, T['result']['value']> : T;
|
|
4353
4363
|
interface CreateRawData<T extends CreateSelf> {
|
|
@@ -5572,7 +5582,7 @@ interface SubQueryAddition<T extends SelectSelf> extends QueryMetaIsSubQuery {
|
|
|
5572
5582
|
}
|
|
5573
5583
|
interface SelectAsArg<T extends SelectSelf> {
|
|
5574
5584
|
[K: string]: keyof T['meta']['selectable'] | Expression | ((q: EmptyObject extends T['relations'] ? T : {
|
|
5575
|
-
[K in keyof T['relations'] | keyof T]: K extends keyof T['relations'] ? T['relations'][K]['
|
|
5585
|
+
[K in keyof T['relations'] | keyof T]: K extends keyof T['relations'] ? T['relations'][K]['maybeSingle'] & SubQueryAddition<T> : K extends keyof T ? T[K] : never;
|
|
5576
5586
|
}) => unknown);
|
|
5577
5587
|
}
|
|
5578
5588
|
type SelectAsFnReturnType = {
|
|
@@ -6236,10 +6246,10 @@ interface UpdateSelf extends PickQueryMetaResultRelationsWithDataReturnTypeShape
|
|
|
6236
6246
|
type UpdateData<T extends UpdateSelf> = EmptyObject extends T['relations'] ? {
|
|
6237
6247
|
[K in keyof T['inputType']]?: UpdateColumn<T, K>;
|
|
6238
6248
|
} : {
|
|
6239
|
-
[K in keyof T['inputType'] | keyof T['relations']]?: K extends keyof T['inputType'] ? UpdateColumn<T, K> : UpdateRelationData<T, T['relations'][K]
|
|
6249
|
+
[K in keyof T['inputType'] | keyof T['relations']]?: K extends keyof T['inputType'] ? UpdateColumn<T, K> : UpdateRelationData<T, T['relations'][K]>;
|
|
6240
6250
|
};
|
|
6241
6251
|
type UpdateColumn<T extends UpdateSelf, Key extends keyof T['inputType']> = T['inputType'][Key] | ((q: {
|
|
6242
|
-
[K in keyof T['relations'] | keyof T]: K extends keyof T['relations'] ? T['relations'][K] : K extends keyof T ? T[K] : never;
|
|
6252
|
+
[K in keyof T['relations'] | keyof T]: K extends keyof T['relations'] ? T['relations'][K]['query'] : K extends keyof T ? T[K] : never;
|
|
6243
6253
|
}) => QueryOrExpression<T['inputType'][Key]>);
|
|
6244
6254
|
type UpdateRelationData<T extends UpdateSelf, Rel extends RelationConfigBase> = T['returnType'] extends undefined | 'all' ? Rel['dataForUpdate'] : Rel['dataForUpdateOne'];
|
|
6245
6255
|
type UpdateArg<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? UpdateData<T> : never;
|
|
@@ -7866,16 +7876,16 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
7866
7876
|
if<T extends PickQueryMetaResultReturnType, R extends PickQueryResult>(this: T, condition: boolean | null | undefined, fn: (q: T) => R & {
|
|
7867
7877
|
returnType: T['returnType'];
|
|
7868
7878
|
}): QueryIfResult<T, R>;
|
|
7869
|
-
queryRelated<T extends PickQueryRelations, RelName extends keyof T['relations']>(this: T, relName: RelName, params: T['relations'][RelName]['
|
|
7879
|
+
queryRelated<T extends PickQueryRelations, RelName extends keyof T['relations']>(this: T, relName: RelName, params: T['relations'][RelName]['params']): T['relations'][RelName]['maybeSingle'];
|
|
7870
7880
|
chain<T extends PickQueryMetaShapeRelationsReturnType, RelName extends keyof T['relations']>(this: T, relName: RelName): [
|
|
7871
7881
|
T['meta']['subQuery'],
|
|
7872
7882
|
T['returnType'],
|
|
7873
|
-
T['relations'][RelName]['
|
|
7883
|
+
T['relations'][RelName]['returnsOne']
|
|
7874
7884
|
] extends [true, 'one' | 'oneOrThrow', true] ? {
|
|
7875
|
-
[K in keyof T['relations'][RelName]['
|
|
7876
|
-
[K in keyof T['relations'][RelName]['
|
|
7877
|
-
} : T['relations'][RelName]['
|
|
7878
|
-
} : JoinResultRequireMain<T['relations'][RelName]['
|
|
7885
|
+
[K in keyof T['relations'][RelName]['maybeSingle']]: K extends 'meta' ? {
|
|
7886
|
+
[K in keyof T['relations'][RelName]['maybeSingle']['meta']]: K extends 'selectable' ? T['relations'][RelName]['maybeSingle']['meta']['selectable'] & Omit<T['meta']['selectable'], keyof T['shape']> : K extends 'subQuery' ? true : T['relations'][RelName]['maybeSingle']['meta'][K];
|
|
7887
|
+
} : T['relations'][RelName]['maybeSingle'][K];
|
|
7888
|
+
} : JoinResultRequireMain<T['relations'][RelName]['query'], Omit<T['meta']['selectable'], keyof T['shape']>>;
|
|
7879
7889
|
}
|
|
7880
7890
|
|
|
7881
7891
|
declare const queryMethodByReturnType: {
|
|
@@ -7949,6 +7959,9 @@ interface WithDataItem {
|
|
|
7949
7959
|
interface WithDataItems {
|
|
7950
7960
|
[K: string]: WithDataItem;
|
|
7951
7961
|
}
|
|
7962
|
+
interface Queries {
|
|
7963
|
+
[K: string]: Query;
|
|
7964
|
+
}
|
|
7952
7965
|
interface Query extends QueryMethods<unknown> {
|
|
7953
7966
|
__isQuery: true;
|
|
7954
7967
|
result: QueryColumns;
|
|
@@ -7967,6 +7980,7 @@ interface Query extends QueryMethods<unknown> {
|
|
|
7967
7980
|
catch: QueryCatch;
|
|
7968
7981
|
windows: EmptyObject;
|
|
7969
7982
|
relations: RelationsBase;
|
|
7983
|
+
relationQueries: Queries;
|
|
7970
7984
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError;
|
|
7971
7985
|
columnNameToKey(name: string): string | undefined;
|
|
7972
7986
|
}
|
|
@@ -7979,6 +7993,9 @@ interface PickQueryWindows {
|
|
|
7979
7993
|
interface PickQueryRelations {
|
|
7980
7994
|
relations: RelationsBase;
|
|
7981
7995
|
}
|
|
7996
|
+
interface PickQueryRelationQueries {
|
|
7997
|
+
relationQueries: Queries;
|
|
7998
|
+
}
|
|
7982
7999
|
interface PickQueryQ {
|
|
7983
8000
|
q: QueryData;
|
|
7984
8001
|
}
|
|
@@ -8585,9 +8602,11 @@ declare class BooleanColumn<Schema extends ColumnSchemaConfig> extends ColumnTyp
|
|
|
8585
8602
|
}
|
|
8586
8603
|
|
|
8587
8604
|
declare class CustomTypeColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, unknown, ReturnType<Schema['unknown']>, OperatorsAny> {
|
|
8588
|
-
|
|
8605
|
+
typeName: string;
|
|
8606
|
+
typeSchema?: string | undefined;
|
|
8589
8607
|
operators: OperatorsAny;
|
|
8590
|
-
|
|
8608
|
+
dataType: string;
|
|
8609
|
+
constructor(schema: Schema, typeName: string, typeSchema?: string | undefined, extension?: string);
|
|
8591
8610
|
toCode(ctx: ColumnToCodeCtx, key: string): Code;
|
|
8592
8611
|
as<T extends {
|
|
8593
8612
|
inputType: unknown;
|
|
@@ -8953,4 +8972,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
8953
8972
|
*/
|
|
8954
8973
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
8955
8974
|
|
|
8956
|
-
export { Adapter, type AdapterConfig, type AdapterOptions, type AddQueryDefaults, AfterCommitError, type AfterCommitErrorFulfilledResult, type AfterCommitErrorHandler, type AfterCommitErrorRejectedResult, type AfterCommitErrorResult, type AfterHook, type AggregateArgTypes, AggregateMethods, type AggregateOptions, type AliasOrTable, ArrayColumn, type ArrayColumnValue, type ArrayData, AsMethods, type AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, type BooleanQueryColumn, BoxColumn, ByteaColumn, type ChangeCountArg, CidrColumn, CircleColumn, CitextColumn, Clear, type ClearStatement, type ColumnData, type ColumnDataGenerated, type ColumnFromDbParams, type ColumnInfoQueryData, ColumnRefExpression, ColumnType, type ColumnsByType, type ColumnsShape, type ColumnsShapeToNullableObject, type ColumnsShapeToObject, type ColumnsShapeToObjectArray, type ColumnsShapeToPluck, type CommonQueryData, ComputedColumn, type ComputedColumns, type ComputedColumnsFromOptions, type ComputedMethods, type ComputedOptionsConfig, type ComputedOptionsFactory, type CopyOptions, type CopyQueryData, Create, type CreateBelongsToData, type CreateColumn, type CreateCtx, type CreateData, type CreateKind, type CreateMethodsNames, type CreateRelationsData, type CreateRelationsDataOmittingFKeys, type CreateResult, type CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, type DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, type DbDomainArg, type DbDomainArgRecord, type DbExtension, type DbOptions, type DbResult, type DbSharedOptions, type DbStructureDomainsMap, type DbTableConstructor, type DbTableOptionScopes, type DbTableOptions, DecimalColumn, type DecimalColumnData, type DefaultColumnTypes, type DefaultSchemaConfig, Delete, type DeleteArgs, type DeleteMethodsNames, type DeleteQueryData, type DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, type ExpressionOutput, FnExpression, type FnExpressionArgs, type FnExpressionArgsPairs, type FnExpressionArgsValue, For, type FromArg, FromMethods, type FromQuerySelf, type FromResult, type GeneratedColumn, type GeneratorIgnore, type GetArg, type GetColumnInfo, type GetResult, type GetResultOptional, type GetStringArg, type GroupArgs, type HandleResult, Having, type HavingItem, type HookAction, type HookSelectArg, type IdentityColumn, InetColumn, type InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, type IsolationLevel, JSONColumn, JSONTextColumn, Join, type JoinArgToQuery, type JoinArgs, type JoinCallback, type JoinFirstArg, type JoinItem, type JoinItemArgs, type JoinLateralItem, type JoinLateralResult, type JoinQueryBuilder, type JoinQueryMethod, type JoinResult, type JoinResultRequireMain, type JoinedParsers, type JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, type MapTableScopesOption, type MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, type NoPrimaryKeyOption, type NonUniqDataItem, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, type NumberColumnData, type NumericColumns, type OnConflictMerge, OnConflictQueryBuilder, type OnConflictSet, type OnConflictTarget, OnMethods, type Operator, Operators, type OperatorsAny, type OperatorsArray, type OperatorsBoolean, type OperatorsDate, type OperatorsJson, type OperatorsNumber, type OperatorsText, type OperatorsTime, type OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, type OrderArg, type OrderArgSelf, type OrderArgs, type OrderItem, type OrderTsQueryConfig, type Over, PathColumn, type PickColumnData, type PickQueryBaseQuery, type PickQueryColumnTypes, type PickQueryDataShapeAndJoinedShapes, type PickQueryInternal, type PickQueryMetaColumnTypes, type PickQueryMetaRelations, type PickQueryMetaRelationsResult, type PickQueryMetaRelationsResultReturnType, type PickQueryMetaRelationsReturnType, type PickQueryMetaResultRelations, type PickQueryMetaResultRelationsWindows, type PickQueryMetaResultRelationsWindowsColumnTypes, type PickQueryMetaResultRelationsWithDataReturnType, type PickQueryMetaResultRelationsWithDataReturnTypeShape, type PickQueryMetaResultReturnTypeWithDataWindows, type PickQueryMetaResultReturnTypeWithDataWindowsThen, type PickQueryMetaShapeRelationsReturnType, type PickQueryMetaShapeRelationsWithData, type PickQueryMetaTable, type PickQueryMetaTableShape, type PickQueryMetaTableShapeReturnTypeWithData, type PickQueryMetaWithData, type PickQueryMetaWithDataColumnTypes, type PickQueryQ, type PickQueryQAndBaseQuery, type PickQueryQAndInternal, type PickQueryRelations, type PickQueryRelationsWithData, type PickQueryResultColumnTypes, type PickQueryShapeResultReturnTypeSinglePrimaryKey, type PickQueryShapeResultSinglePrimaryKey, type PickQueryShapeSinglePrimaryKey, type PickQuerySinglePrimaryKey, type PickQueryTableMetaResultReturnTypeWithDataWindowsThen, type PickQueryWindows, type PickQueryWithData, type PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, PostgisGeographyPointColumn, type PostgisPoint, type Query, type QueryAfterHook, type QueryArraysResult, type QueryBatchResult, type QueryBeforeHook, type QueryComputedArg, type QueryData, type QueryDataFromItem, type QueryDataJoinTo, type QueryDefaultReturnData, QueryError, type QueryErrorName, QueryGet, type QueryGetSelf, type QueryHelperResult, QueryHooks, type QueryIfResultThen, type QueryInternal, QueryLog, type QueryMetaHasSelect, type QueryMetaHasWhere, QueryMethods, type QueryOrExpression, type QueryOrExpressionBooleanOrNullResult, type QueryResult, type QueryScopeData, type QueryScopes, type QuerySourceItem, type QueryTake, type QueryTakeOptional, QueryUpsertOrCreate, RawSQL, RealColumn, type RecordOfColumnsShapeBase, RefExpression, type RelationConfigBase, type RelationConfigDataForCreate, type RelationJoinQuery, type RelationQueryBase, type RelationsBase, type ReturnsQueryOrExpression, type RuntimeComputedQueryColumn, type SearchArg, SearchMethods, type SearchWeight, type SearchWeightRecord, Select, type SelectArg, type SelectArgs, type SelectAs, type SelectAsValue, type SelectItem, type SelectQueryData, type SelectSubQueryResult, type SelectableFromShape, type SelectableOfType, type SelectableOrExpression, type SelectableOrExpressionOfType, type SelectableOrExpressions, SerialColumn, type SerialColumnData, type SetQueryKind, type SetQueryKindResult, type SetQueryReturnsAll, type SetQueryReturnsAllKind, type SetQueryReturnsAllKindResult, type SetQueryReturnsColumnInfo, type SetQueryReturnsColumnKind, type SetQueryReturnsColumnKindResult, type SetQueryReturnsColumnOptional, type SetQueryReturnsColumnOrThrow, type SetQueryReturnsOneKind, type SetQueryReturnsOneKindResult, type SetQueryReturnsPluck, type SetQueryReturnsPluckColumn, type SetQueryReturnsPluckColumnKind, type SetQueryReturnsPluckColumnKindResult, type SetQueryReturnsRowCount, type SetQueryReturnsRowCountMany, type SetQueryReturnsRows, type SetQueryReturnsValueOptional, type SetQueryReturnsValueOrThrow, type SetQueryReturnsVoid, type SetQueryReturnsVoidKind, type SetQueryTableAlias, type ShapeColumnPrimaryKeys, type ShapeUniqueColumns, type SimpleJoinItem, type SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, type SortDir, type SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, type TableDataFn, type TableDataInput, type TableDataItem, type TableDataItemsUniqueColumnTuples, type TableDataItemsUniqueColumns, type TableDataItemsUniqueConstraints, type TableDataMethods, TextBaseColumn, TextColumn, type TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, type ToSQLCtx, type ToSQLOptions, type ToSQLQuery, Transaction, TransactionAdapter, type TransactionOptions, TransformMethods, type TruncateQueryData, TsQueryColumn, TsVectorColumn, type TypeParsers, UUIDColumn, UnhandledTypeError, Union, type UnionArgs, type UnionItem, type UnionKind, type UnionSet, type UniqueConstraints, type UniqueQueryTypeOrExpression, type UniqueTableDataItem, UnknownColumn, Update, type UpdateArg, type UpdateCtx, type UpdateCtxCollect, type UpdateData, type UpdateQueryData, type UpdateQueryDataItem, type UpdateQueryDataObject, type UpdateSelf, type UpdatedAtDataInjector, type UpsertResult, type UpsertThis, VarCharColumn, VirtualColumn, Where, type WhereArg, type WhereArgs, type WhereInArg, type WhereInColumn, type WhereInItem, type WhereInValues, type WhereItem, type WhereJsonPathEqualsItem, type WhereNotArgs, type WhereOnItem, type WhereOnJoinItem, type WhereQueryBuilder, type WhereResult, type WhereSearchItem, type WhereSearchResult, type WindowArg, type WindowArgDeclaration, type WindowDeclaration, type WindowItem, type WithArgsOptions, type WithConfigs, type WithDataItem, type WithDataItems, type WithItem, WithMethods, type WithOptions, type WithQueryBuilder, type WithRecursiveOptions, type WithResult, type WithSqlResult, type WrapQueryArg, XMLColumn, _clone, _getSelectableColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryResolveAlias, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotOneOf, _queryWhereNotSql, _queryWhereOneOf, _queryWhereSql, _runAfterCommitHooks, addColumnParserToQuery, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, assignDbDataToColumn, checkIfASimpleQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnExcludesToCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, escapeForLog, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnBaseType, getColumnInfo, getColumnTypes, getFullColumnTable, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, isDefaultTimeStamp, isInUserTransaction, isQueryReturnsAll, isSelectingCount, joinSubQuery, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, parseRecord, parseTableData, parseTableDataInput, postgisTypmodToSql, primaryKeyInnerToCode, processComputedBatches, processComputedResult, processSelectArg, pushLimitSQL, pushQueryArrayImmutable, pushQueryOn, pushQueryOnForOuter, pushQueryOrOn, pushQueryValueImmutable, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, raw, referencesArgsToCode, resolveSubQueryCallbackV2, rollbackSql, saveSearchAlias, setColumnDefaultParse, setColumnEncode, setColumnParse, setColumnParseNull, setParserForSelectedString, setQueryObjectValueImmutable, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfJoinLateral, throwIfNoWhere, toSQL };
|
|
8975
|
+
export { Adapter, type AdapterConfig, type AdapterOptions, type AddQueryDefaults, AfterCommitError, type AfterCommitErrorFulfilledResult, type AfterCommitErrorHandler, type AfterCommitErrorRejectedResult, type AfterCommitErrorResult, type AfterHook, type AggregateArgTypes, AggregateMethods, type AggregateOptions, type AliasOrTable, ArrayColumn, type ArrayColumnValue, type ArrayData, AsMethods, type AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, type BooleanQueryColumn, BoxColumn, ByteaColumn, type ChangeCountArg, CidrColumn, CircleColumn, CitextColumn, Clear, type ClearStatement, type ColumnData, type ColumnDataGenerated, type ColumnFromDbParams, type ColumnInfoQueryData, ColumnRefExpression, ColumnType, type ColumnsByType, type ColumnsShape, type ColumnsShapeToNullableObject, type ColumnsShapeToObject, type ColumnsShapeToObjectArray, type ColumnsShapeToPluck, type CommonQueryData, ComputedColumn, type ComputedColumns, type ComputedColumnsFromOptions, type ComputedMethods, type ComputedOptionsConfig, type ComputedOptionsFactory, type CopyOptions, type CopyQueryData, Create, type CreateBelongsToData, type CreateColumn, type CreateCtx, type CreateData, type CreateKind, type CreateMethodsNames, type CreateRelationsData, type CreateRelationsDataOmittingFKeys, type CreateResult, type CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, type DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, type DbDomainArg, type DbDomainArgRecord, type DbExtension, type DbOptions, type DbResult, type DbSharedOptions, type DbStructureDomainsMap, type DbTableConstructor, type DbTableOptionScopes, type DbTableOptions, DecimalColumn, type DecimalColumnData, type DefaultColumnTypes, type DefaultSchemaConfig, Delete, type DeleteArgs, type DeleteMethodsNames, type DeleteQueryData, type DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, type ExpressionOutput, FnExpression, type FnExpressionArgs, type FnExpressionArgsPairs, type FnExpressionArgsValue, For, type FromArg, FromMethods, type FromQuerySelf, type FromResult, type GeneratedColumn, type GeneratorIgnore, type GetArg, type GetColumnInfo, type GetResult, type GetResultOptional, type GetStringArg, type GroupArgs, type HandleResult, Having, type HavingItem, type HookAction, type HookSelectArg, type IdentityColumn, InetColumn, type InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, type IsolationLevel, JSONColumn, JSONTextColumn, Join, type JoinArgToQuery, type JoinArgs, type JoinCallback, type JoinFirstArg, type JoinItem, type JoinItemArgs, type JoinLateralResult, type JoinQueryBuilder, type JoinQueryMethod, type JoinResult, type JoinResultRequireMain, type JoinedParsers, type JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, type MapTableScopesOption, type MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, type NoPrimaryKeyOption, type NonUniqDataItem, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, type NumberColumnData, type NumericColumns, type OnConflictMerge, OnConflictQueryBuilder, type OnConflictSet, type OnConflictTarget, OnMethods, type Operator, Operators, type OperatorsAny, type OperatorsArray, type OperatorsBoolean, type OperatorsDate, type OperatorsJson, type OperatorsNumber, type OperatorsText, type OperatorsTime, type OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, type OrderArg, type OrderArgSelf, type OrderArgs, type OrderItem, type OrderTsQueryConfig, type Over, PathColumn, type PickColumnData, type PickQueryBaseQuery, type PickQueryColumnTypes, type PickQueryDataShapeAndJoinedShapes, type PickQueryDataShapeAndJoinedShapesAndAliases, type PickQueryInternal, type PickQueryMetaColumnTypes, type PickQueryMetaRelations, type PickQueryMetaRelationsResult, type PickQueryMetaRelationsResultReturnType, type PickQueryMetaRelationsReturnType, type PickQueryMetaResultRelations, type PickQueryMetaResultRelationsWindows, type PickQueryMetaResultRelationsWindowsColumnTypes, type PickQueryMetaResultRelationsWithDataReturnType, type PickQueryMetaResultRelationsWithDataReturnTypeShape, type PickQueryMetaResultReturnTypeWithDataWindows, type PickQueryMetaResultReturnTypeWithDataWindowsThen, type PickQueryMetaShapeRelationsReturnType, type PickQueryMetaShapeRelationsWithData, type PickQueryMetaTable, type PickQueryMetaTableShape, type PickQueryMetaTableShapeReturnTypeWithData, type PickQueryMetaWithData, type PickQueryMetaWithDataColumnTypes, type PickQueryQ, type PickQueryQAndBaseQuery, type PickQueryQAndInternal, type PickQueryRelationQueries, type PickQueryRelations, type PickQueryRelationsWithData, type PickQueryResultColumnTypes, type PickQueryShapeResultReturnTypeSinglePrimaryKey, type PickQueryShapeResultSinglePrimaryKey, type PickQueryShapeSinglePrimaryKey, type PickQuerySinglePrimaryKey, type PickQueryTableMetaResultReturnTypeWithDataWindowsThen, type PickQueryWindows, type PickQueryWithData, type PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, PostgisGeographyPointColumn, type PostgisPoint, type Queries, type Query, type QueryAfterHook, type QueryArraysResult, type QueryBatchResult, type QueryBeforeHook, type QueryComputedArg, type QueryData, type QueryDataFromItem, type QueryDataJoinTo, type QueryDefaultReturnData, QueryError, type QueryErrorName, QueryGet, type QueryGetSelf, type QueryHelperResult, QueryHooks, type QueryIfResultThen, type QueryInternal, QueryLog, type QueryMetaHasSelect, type QueryMetaHasWhere, QueryMethods, type QueryOrExpression, type QueryOrExpressionBooleanOrNullResult, type QueryResult, type QueryScopeData, type QueryScopes, type QuerySourceItem, type QueryTake, type QueryTakeOptional, QueryUpsertOrCreate, RawSQL, RealColumn, type RecordOfColumnsShapeBase, RefExpression, type RelationConfigBase, type RelationConfigDataForCreate, type RelationConfigQuery, type RelationJoinQuery, type RelationsBase, type ReturnsQueryOrExpression, type RuntimeComputedQueryColumn, type SearchArg, SearchMethods, type SearchWeight, type SearchWeightRecord, Select, type SelectArg, type SelectArgs, type SelectAs, type SelectAsValue, type SelectItem, type SelectQueryData, type SelectSubQueryResult, type SelectableFromShape, type SelectableOfType, type SelectableOrExpression, type SelectableOrExpressionOfType, type SelectableOrExpressions, SerialColumn, type SerialColumnData, type SetQueryKind, type SetQueryKindResult, type SetQueryReturnsAll, type SetQueryReturnsAllKind, type SetQueryReturnsAllKindResult, type SetQueryReturnsColumnInfo, type SetQueryReturnsColumnKind, type SetQueryReturnsColumnKindResult, type SetQueryReturnsColumnOptional, type SetQueryReturnsColumnOrThrow, type SetQueryReturnsOneKind, type SetQueryReturnsOneKindResult, type SetQueryReturnsPluck, type SetQueryReturnsPluckColumn, type SetQueryReturnsPluckColumnKind, type SetQueryReturnsPluckColumnKindResult, type SetQueryReturnsRowCount, type SetQueryReturnsRowCountMany, type SetQueryReturnsRows, type SetQueryReturnsValueOptional, type SetQueryReturnsValueOrThrow, type SetQueryReturnsVoid, type SetQueryReturnsVoidKind, type SetQueryTableAlias, type ShapeColumnPrimaryKeys, type ShapeUniqueColumns, type SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, type SortDir, type SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, type TableDataFn, type TableDataInput, type TableDataItem, type TableDataItemsUniqueColumnTuples, type TableDataItemsUniqueColumns, type TableDataItemsUniqueConstraints, type TableDataMethods, TextBaseColumn, TextColumn, type TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, type ToSQLCtx, type ToSQLOptions, type ToSQLQuery, Transaction, TransactionAdapter, type TransactionOptions, TransformMethods, type TruncateQueryData, TsQueryColumn, TsVectorColumn, type TypeParsers, UUIDColumn, UnhandledTypeError, Union, type UnionArgs, type UnionItem, type UnionKind, type UnionSet, type UniqueConstraints, type UniqueQueryTypeOrExpression, type UniqueTableDataItem, UnknownColumn, Update, type UpdateArg, type UpdateCtx, type UpdateCtxCollect, type UpdateData, type UpdateQueryData, type UpdateQueryDataItem, type UpdateQueryDataObject, type UpdateSelf, type UpdatedAtDataInjector, type UpsertResult, type UpsertThis, VarCharColumn, VirtualColumn, Where, type WhereArg, type WhereArgs, type WhereInArg, type WhereInColumn, type WhereInItem, type WhereInValues, type WhereItem, type WhereJsonPathEqualsItem, type WhereNotArgs, type WhereOnItem, type WhereOnJoinItem, type WhereQueryBuilder, type WhereResult, type WhereSearchItem, type WhereSearchResult, type WindowArg, type WindowArgDeclaration, type WindowDeclaration, type WindowItem, type WithArgsOptions, type WithConfigs, type WithDataItem, type WithDataItems, type WithItem, WithMethods, type WithOptions, type WithQueryBuilder, type WithRecursiveOptions, type WithResult, type WithSqlResult, type WrapQueryArg, XMLColumn, _clone, _getSelectableColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryResolveAlias, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotOneOf, _queryWhereNotSql, _queryWhereOneOf, _queryWhereSql, _runAfterCommitHooks, addColumnParserToQuery, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, assignDbDataToColumn, checkIfASimpleQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnExcludesToCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, escapeForLog, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnBaseType, getColumnInfo, getColumnTypes, getFullColumnTable, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, isDefaultTimeStamp, isInUserTransaction, isQueryReturnsAll, isSelectingCount, joinSubQuery, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, parseRecord, parseTableData, parseTableDataInput, postgisTypmodToSql, primaryKeyInnerToCode, processComputedBatches, processComputedResult, processSelectArg, pushLimitSQL, pushQueryArrayImmutable, pushQueryOn, pushQueryOnForOuter, pushQueryOrOn, pushQueryValueImmutable, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, raw, referencesArgsToCode, resolveSubQueryCallbackV2, rollbackSql, saveSearchAlias, setColumnDefaultParse, setColumnEncode, setColumnParse, setColumnParseNull, setParserForSelectedString, setQueryObjectValueImmutable, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfJoinLateral, throwIfNoWhere, toSQL };
|
package/dist/index.js
CHANGED
|
@@ -495,7 +495,7 @@ const columnsShapeToCode = (ctx, shape) => {
|
|
|
495
495
|
if (name === key) column.data.name = void 0;
|
|
496
496
|
code.push(
|
|
497
497
|
...combineCodeElements([
|
|
498
|
-
`${orchidCore.quoteObjectKey(key)}: `,
|
|
498
|
+
`${orchidCore.quoteObjectKey(key, ctx.snakeCase)}: `,
|
|
499
499
|
...orchidCore.toArray(shape[key].toCode(ctx, key)),
|
|
500
500
|
","
|
|
501
501
|
])
|
|
@@ -927,20 +927,33 @@ const getSqlText = (sql) => {
|
|
|
927
927
|
};
|
|
928
928
|
|
|
929
929
|
class CustomTypeColumn extends ColumnType {
|
|
930
|
-
constructor(schema,
|
|
930
|
+
constructor(schema, typeName, typeSchema, extension) {
|
|
931
931
|
super(
|
|
932
932
|
schema,
|
|
933
933
|
schema.unknown(),
|
|
934
934
|
schema.unknown(),
|
|
935
935
|
schema.unknown()
|
|
936
936
|
);
|
|
937
|
-
this.
|
|
937
|
+
this.typeName = typeName;
|
|
938
|
+
this.typeSchema = typeSchema;
|
|
938
939
|
this.operators = Operators.any;
|
|
940
|
+
this.dataType = typeSchema ? typeSchema + "." + typeName : typeName;
|
|
939
941
|
this.data.isOfCustomType = true;
|
|
940
942
|
this.data.extension = extension;
|
|
941
943
|
}
|
|
942
944
|
toCode(ctx, key) {
|
|
943
|
-
|
|
945
|
+
const {
|
|
946
|
+
dataType,
|
|
947
|
+
data: { typmod }
|
|
948
|
+
} = this;
|
|
949
|
+
return columnCode(
|
|
950
|
+
this,
|
|
951
|
+
ctx,
|
|
952
|
+
key,
|
|
953
|
+
`type(${orchidCore.singleQuote(
|
|
954
|
+
(dataType.startsWith(ctx.currentSchema) ? dataType.slice(ctx.currentSchema.length + 1) : dataType) + (typmod !== void 0 && typmod !== -1 && !dataType.includes("(") ? `(${typmod})` : "")
|
|
955
|
+
)})`
|
|
956
|
+
);
|
|
944
957
|
}
|
|
945
958
|
as(column) {
|
|
946
959
|
const c = orchidCore.setColumnData(
|
|
@@ -2133,7 +2146,7 @@ class TsVectorColumn extends ColumnType {
|
|
|
2133
2146
|
const pairs = [];
|
|
2134
2147
|
for (const key in target) {
|
|
2135
2148
|
pairs.push(
|
|
2136
|
-
`${orchidCore.quoteObjectKey(key)}: '${target[key]}'`
|
|
2149
|
+
`${orchidCore.quoteObjectKey(key, false)}: '${target[key]}'`
|
|
2137
2150
|
);
|
|
2138
2151
|
}
|
|
2139
2152
|
code += `{ ${pairs.join(", ")} }`;
|
|
@@ -2645,8 +2658,8 @@ const _join = (query, require, type, first, args) => {
|
|
|
2645
2658
|
joinKey = first;
|
|
2646
2659
|
const relation = query.relations[joinKey];
|
|
2647
2660
|
if (relation) {
|
|
2648
|
-
shape = getShapeFromSelect(relation.
|
|
2649
|
-
const r = relation.
|
|
2661
|
+
shape = getShapeFromSelect(relation.query);
|
|
2662
|
+
const r = relation.query;
|
|
2650
2663
|
parsers = r.q.parsers;
|
|
2651
2664
|
batchParsers = r.q.batchParsers;
|
|
2652
2665
|
computeds = r.q.computeds;
|
|
@@ -2735,7 +2748,7 @@ const _joinLateralProcessArg = (q, arg, cb) => {
|
|
|
2735
2748
|
if (typeof arg === "string") {
|
|
2736
2749
|
relation = q.relations[arg];
|
|
2737
2750
|
if (relation) {
|
|
2738
|
-
arg = _clone(relation.
|
|
2751
|
+
arg = _clone(relation.query);
|
|
2739
2752
|
} else {
|
|
2740
2753
|
const w = q.q.withShapes?.[arg];
|
|
2741
2754
|
if (w) {
|
|
@@ -2757,14 +2770,14 @@ const _joinLateralProcessArg = (q, arg, cb) => {
|
|
|
2757
2770
|
cb
|
|
2758
2771
|
);
|
|
2759
2772
|
if (relation) {
|
|
2760
|
-
result = relation.
|
|
2773
|
+
result = relation.joinQuery(
|
|
2761
2774
|
result,
|
|
2762
2775
|
q
|
|
2763
2776
|
);
|
|
2764
2777
|
}
|
|
2765
2778
|
return result;
|
|
2766
2779
|
};
|
|
2767
|
-
const _joinLateral = (self, type, arg, as) => {
|
|
2780
|
+
const _joinLateral = (self, type, arg, as, innerJoinLateral) => {
|
|
2768
2781
|
const q = self;
|
|
2769
2782
|
arg.q.joinTo = q;
|
|
2770
2783
|
const joinedAs = getQueryAs(q);
|
|
@@ -2785,7 +2798,10 @@ const _joinLateral = (self, type, arg, as) => {
|
|
|
2785
2798
|
}
|
|
2786
2799
|
as || (as = getQueryAs(arg));
|
|
2787
2800
|
orchidCore.setObjectValueImmutable(q.q, "joinedComputeds", as, arg.q.computeds);
|
|
2788
|
-
pushQueryValueImmutable(q, "join",
|
|
2801
|
+
pushQueryValueImmutable(q, "join", {
|
|
2802
|
+
type: `${type} LATERAL`,
|
|
2803
|
+
args: { l: arg, a: as, i: innerJoinLateral }
|
|
2804
|
+
});
|
|
2789
2805
|
return q;
|
|
2790
2806
|
};
|
|
2791
2807
|
|
|
@@ -3559,7 +3575,7 @@ const then = async (q, adapter, trx, beforeHooks, afterHooks, afterCommitHooks,
|
|
|
3559
3575
|
if (query.transform) {
|
|
3560
3576
|
result = orchidCore.applyTransforms(query, returnType, query.transform, result);
|
|
3561
3577
|
}
|
|
3562
|
-
return resolve
|
|
3578
|
+
return resolve ? resolve(result) : result;
|
|
3563
3579
|
} catch (err) {
|
|
3564
3580
|
let error;
|
|
3565
3581
|
if (err instanceof pg.DatabaseError) {
|
|
@@ -4237,10 +4253,12 @@ const processSelectArg = (q, as, arg, columnAs) => {
|
|
|
4237
4253
|
joinQuery = true;
|
|
4238
4254
|
value = value.joinQuery(value, q);
|
|
4239
4255
|
let query;
|
|
4240
|
-
const returnType = value.q
|
|
4256
|
+
const { returnType, innerJoinLateral } = value.q;
|
|
4241
4257
|
if (!returnType || returnType === "all") {
|
|
4242
4258
|
query = value.json(false);
|
|
4243
|
-
|
|
4259
|
+
if (!innerJoinLateral) {
|
|
4260
|
+
value.q.coalesceValue = emptyArrSQL;
|
|
4261
|
+
}
|
|
4244
4262
|
} else if (returnType === "pluck") {
|
|
4245
4263
|
query = value.q.select ? value.wrap(cloneQueryBaseUnscoped(value)).jsonAgg(value.q.select[0]) : value.json(false);
|
|
4246
4264
|
value.q.coalesceValue = emptyArrSQL;
|
|
@@ -4267,9 +4285,12 @@ const processSelectArg = (q, as, arg, columnAs) => {
|
|
|
4267
4285
|
}
|
|
4268
4286
|
_joinLateral(
|
|
4269
4287
|
q,
|
|
4270
|
-
|
|
4288
|
+
innerJoinLateral ? "JOIN" : "LEFT JOIN",
|
|
4271
4289
|
query,
|
|
4272
|
-
key
|
|
4290
|
+
key,
|
|
4291
|
+
// no need for `ON p.r IS NOT NULL` check when joining a single record,
|
|
4292
|
+
// `JOIN` will handle it on itself.
|
|
4293
|
+
innerJoinLateral && returnType !== "one" && returnType !== "oneOrThrow"
|
|
4273
4294
|
);
|
|
4274
4295
|
}
|
|
4275
4296
|
}
|
|
@@ -6036,7 +6057,13 @@ const pushIn = (ctx, query, ands, quotedAs, arg) => {
|
|
|
6036
6057
|
const processJoinItem = (ctx, table, query, args, quotedAs) => {
|
|
6037
6058
|
let target;
|
|
6038
6059
|
let on;
|
|
6039
|
-
if ("
|
|
6060
|
+
if ("l" in args) {
|
|
6061
|
+
const { aliasValue } = ctx;
|
|
6062
|
+
ctx.aliasValue = true;
|
|
6063
|
+
target = `(${getSqlText(args.l.toSQL(ctx))}) "${query.aliases?.[args.a] || args.a}"`;
|
|
6064
|
+
on = `${args.i ? `"${args.a}".r IS NOT NULL` : "true"}`;
|
|
6065
|
+
ctx.aliasValue = aliasValue;
|
|
6066
|
+
} else if ("j" in args) {
|
|
6040
6067
|
const { j, s, r } = args;
|
|
6041
6068
|
const tableName = typeof j.q.from === "string" ? j.q.from : j.table;
|
|
6042
6069
|
const quotedTable = quoteSchemaAndTable(j.q.schema, tableName);
|
|
@@ -6206,24 +6233,14 @@ const getObjectOrRawConditions = (ctx, query, data, quotedAs, joinAs, joinShape)
|
|
|
6206
6233
|
const pushJoinSql = (ctx, table, query, quotedAs) => {
|
|
6207
6234
|
const joinSet = query.join.length > 1 ? /* @__PURE__ */ new Set() : null;
|
|
6208
6235
|
for (const item of query.join) {
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
} else {
|
|
6218
|
-
const { target, on = "true" } = processJoinItem(
|
|
6219
|
-
ctx,
|
|
6220
|
-
table,
|
|
6221
|
-
query,
|
|
6222
|
-
item.args,
|
|
6223
|
-
quotedAs
|
|
6224
|
-
);
|
|
6225
|
-
sql = `${item.type} ${target} ON ${on}`;
|
|
6226
|
-
}
|
|
6236
|
+
const { target, on = "true" } = processJoinItem(
|
|
6237
|
+
ctx,
|
|
6238
|
+
table,
|
|
6239
|
+
query,
|
|
6240
|
+
item.args,
|
|
6241
|
+
quotedAs
|
|
6242
|
+
);
|
|
6243
|
+
const sql = `${item.type} ${target} ON ${on}`;
|
|
6227
6244
|
if (joinSet) {
|
|
6228
6245
|
if (joinSet.has(sql)) continue;
|
|
6229
6246
|
joinSet.add(sql);
|
|
@@ -6261,7 +6278,7 @@ const getIsJoinSubQuery = (query) => {
|
|
|
6261
6278
|
const processJoinArgs = (joinTo, first, args, joinSubQuery, whereExists) => {
|
|
6262
6279
|
if (typeof first === "string") {
|
|
6263
6280
|
if (first in joinTo.relations) {
|
|
6264
|
-
const { query: toQuery, joinQuery } = joinTo.relations[first]
|
|
6281
|
+
const { query: toQuery, joinQuery } = joinTo.relations[first];
|
|
6265
6282
|
const j = joinQuery(toQuery, joinTo);
|
|
6266
6283
|
if (typeof args[0] === "function") {
|
|
6267
6284
|
const r = args[0](
|
|
@@ -6361,7 +6378,9 @@ const processJoinArgs = (joinTo, first, args, joinSubQuery, whereExists) => {
|
|
|
6361
6378
|
};
|
|
6362
6379
|
const preprocessJoinArg = (q, arg) => {
|
|
6363
6380
|
if (typeof arg !== "function") return arg;
|
|
6364
|
-
arg = arg(
|
|
6381
|
+
arg = arg(
|
|
6382
|
+
q.relationQueries
|
|
6383
|
+
);
|
|
6365
6384
|
arg.joinQueryAfterCallback = arg.joinQuery;
|
|
6366
6385
|
return arg;
|
|
6367
6386
|
};
|
|
@@ -7181,9 +7200,9 @@ const _chain = (fromQuery, toQuery, rel) => {
|
|
|
7181
7200
|
q.returnType = q.returnsOne = q.limit = void 0;
|
|
7182
7201
|
}
|
|
7183
7202
|
if (self.q.relChain) {
|
|
7184
|
-
q.relChain = [...self.q.relChain, self];
|
|
7203
|
+
q.relChain = [...self.q.relChain, { query: self, rel }];
|
|
7185
7204
|
} else {
|
|
7186
|
-
q.relChain = [self];
|
|
7205
|
+
q.relChain = [{ query: self, rel }];
|
|
7187
7206
|
}
|
|
7188
7207
|
const aliases = self.q.as ? { ...self.q.aliases } : { ...self.q.aliases, [self.table]: self.table };
|
|
7189
7208
|
const relAliases = q.aliases;
|
|
@@ -7220,7 +7239,7 @@ const resolveSubQueryCallbackV2 = (q, cb) => {
|
|
|
7220
7239
|
for (const key in relations) {
|
|
7221
7240
|
Object.defineProperty(base, key, {
|
|
7222
7241
|
get() {
|
|
7223
|
-
const rel = relations[key]
|
|
7242
|
+
const rel = relations[key];
|
|
7224
7243
|
const relQuery = _clone(rel.query);
|
|
7225
7244
|
relQuery.q.withShapes = this.q.withShapes;
|
|
7226
7245
|
return _chain(this, relQuery, rel);
|
|
@@ -7240,11 +7259,8 @@ const resolveSubQueryCallbackV2 = (q, cb) => {
|
|
|
7240
7259
|
return cb(arg);
|
|
7241
7260
|
};
|
|
7242
7261
|
const joinSubQuery = (q, sub) => {
|
|
7243
|
-
if (!("
|
|
7244
|
-
return sub.
|
|
7245
|
-
sub,
|
|
7246
|
-
q
|
|
7247
|
-
);
|
|
7262
|
+
if (!("joinQuery" in sub)) return sub;
|
|
7263
|
+
return sub.joinQuery(sub, q);
|
|
7248
7264
|
};
|
|
7249
7265
|
|
|
7250
7266
|
const defaultSrid = 4326;
|
|
@@ -12658,12 +12674,10 @@ class QueryMethods {
|
|
|
12658
12674
|
return condition ? fn(this) : this;
|
|
12659
12675
|
}
|
|
12660
12676
|
queryRelated(relName, params) {
|
|
12661
|
-
return this.relations[relName].
|
|
12662
|
-
params
|
|
12663
|
-
);
|
|
12677
|
+
return this.relations[relName].queryRelated(params);
|
|
12664
12678
|
}
|
|
12665
12679
|
chain(relName) {
|
|
12666
|
-
const rel = this.relations[relName]
|
|
12680
|
+
const rel = this.relations[relName];
|
|
12667
12681
|
return _chain(this, _clone(rel.query), rel);
|
|
12668
12682
|
}
|
|
12669
12683
|
}
|
|
@@ -12822,6 +12836,7 @@ class Db extends QueryMethods {
|
|
|
12822
12836
|
};
|
|
12823
12837
|
this.baseQuery = this;
|
|
12824
12838
|
this.relations = {};
|
|
12839
|
+
this.relationQueries = {};
|
|
12825
12840
|
const logger = options.logger || console;
|
|
12826
12841
|
const parsers = {};
|
|
12827
12842
|
let hasParsers = false;
|