pqb 0.23.2 → 0.23.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as orchid_core from 'orchid-core';
2
- import { QueryResultRow, AdapterBase, QueryInput, Sql, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryInternal, QueryMetaBase, Expression, QueryColumn, MaybeArray, TemplateLiteralArgs, ColumnSchemaConfig, Code, DateColumnData, TimeInterval, ColumnTypeBase, ArrayMethodsData, ParseColumn, EncodeColumn, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, getValueKey, EmptyTuple, QueryColumnToNullable, StringKey, QueryThen, QueryCatch, QueryColumnsInit, ColumnShapeOutput, DefaultSelectColumns, CoreQueryScopes, DbBase, TransactionState, SQLQueryArgs, BaseOperators as BaseOperators$1, SetOptional, MergeObjects, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, Spread, BaseNumberData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ForeignKeyTable, TimestampHelpers, ColumnNameOfTable, ColumnDataBase } from 'orchid-core';
2
+ import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, Sql, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryInternal, QueryMetaBase, Expression, QueryColumn, MaybeArray, TemplateLiteralArgs, ColumnSchemaConfig, Code, DateColumnData, TimeInterval, ColumnTypeBase, ArrayMethodsData, ParseColumn, EncodeColumn, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, getValueKey, EmptyTuple, QueryColumnToNullable, StringKey, QueryThen, QueryCatch, QueryColumnsInit, ColumnShapeOutput, DefaultSelectColumns, CoreQueryScopes, DbBase, TransactionState, SQLQueryArgs, BaseOperators as BaseOperators$1, SetOptional, MergeObjects, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, Spread, BaseNumberData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ForeignKeyTable, TimestampHelpers, ColumnNameOfTable, ColumnDataBase } 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';
@@ -19,10 +19,10 @@ type QueryArraysResult<R extends any[] = any[]> = {
19
19
  name: string;
20
20
  }[];
21
21
  };
22
- type AdapterConfig = Omit<PoolConfig, 'types' | 'connectionString'> & {
22
+ interface AdapterConfig extends AdapterConfigBase, Omit<PoolConfig, 'types' | 'connectionString'> {
23
23
  schema?: string;
24
24
  databaseURL?: string;
25
- };
25
+ }
26
26
  type AdapterOptions = AdapterConfig & {
27
27
  types?: TypeParsers;
28
28
  };
@@ -32,6 +32,7 @@ declare class Adapter implements AdapterBase {
32
32
  config: PoolConfig;
33
33
  schema?: string;
34
34
  constructor({ types, ...config }: AdapterOptions);
35
+ connect(): Promise<PoolClient>;
35
36
  query<T extends QueryResultRow = QueryResultRow>(query: QueryInput, types?: TypeParsers): Promise<QueryResult<T>>;
36
37
  arrays<R extends any[] = any[]>(query: QueryInput, types?: TypeParsers): Promise<QueryArraysResult<R>>;
37
38
  transaction<Result>(begin: Sql, cb: (adapter: TransactionAdapter) => Promise<Result>): Promise<Result>;
@@ -44,6 +45,7 @@ declare class TransactionAdapter implements Adapter {
44
45
  pool: Pool;
45
46
  config: PoolConfig;
46
47
  constructor(adapter: Adapter, client: PoolClient, types: TypeParsers);
48
+ connect(): Promise<PoolClient>;
47
49
  query<T extends QueryResultRow = any>(query: QueryInput, types?: TypeParsers): Promise<QueryResult<T>>;
48
50
  arrays<R extends any[] = any[]>(query: QueryInput, types?: TypeParsers): Promise<QueryArraysResult<R>>;
49
51
  transaction<Result>(_: Sql, cb: (adapter: TransactionAdapter) => Promise<Result>): Promise<Result>;
@@ -1475,65 +1477,12 @@ declare class OnQueryBuilder<S extends QueryBase = QueryBase, J extends Pick<Que
1475
1477
  onJsonPathEquals<T extends OnQueryBuilder>(this: T, ...args: OnJsonPathEqualsArgs<T>): T;
1476
1478
  }
1477
1479
 
1478
- type AggregateOptions<T extends Query> = {
1479
- distinct?: boolean;
1480
- order?: OrderArg<T> | OrderArg<T>[];
1481
- filter?: WhereArg<T>;
1482
- filterOr?: WhereArg<T>[];
1483
- withinGroup?: boolean;
1484
- over?: Over<T>;
1485
- };
1486
- type Over<T extends Query> = keyof T['windows'] | WindowArgDeclaration<T>;
1487
- type FnExpressionArgs<Q extends Query> = (SelectableOrExpression<Q> | {
1488
- pairs: Record<string, SelectableOrExpression<Q>>;
1489
- } | {
1490
- value: unknown;
1491
- })[];
1492
- declare class FnExpression<Q extends Query = Query, T extends QueryColumn = QueryColumn> extends Expression<T> {
1493
- q: Q;
1494
- fn: string;
1495
- args: FnExpressionArgs<Q>;
1496
- options: AggregateOptions<Q>;
1497
- _type: T;
1498
- /**
1499
- * @param q - query object.
1500
- * @param fn - SQL function name.
1501
- * @param args - arguments of the function.
1502
- * @param options - aggregate options.
1503
- * @param _type - column type of the function result.
1504
- */
1505
- constructor(q: Q, fn: string, args: FnExpressionArgs<Q>, options: AggregateOptions<Q>, _type: T);
1506
- makeSQL(ctx: ToSQLCtx, quotedAs?: string): string;
1507
- }
1508
- type ColumnExpression<C extends QueryColumn, Ops extends BaseOperators = C['operators']> = Expression<C> & {
1509
- [K in keyof Ops]: (arg: Ops[K]['_opType']) => ColumnExpression<QueryColumn<boolean | null>>;
1510
- };
1511
- declare const makeExpression: <T extends Query, C extends ColumnTypeBase<{
1512
- type: unknown;
1513
- nullable: <T_1 extends ColumnTypeBase<Pick, unknown, any, orchid_core.BaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>(this: T_1) => orchid_core.NullableColumn<T_1, unknown, unknown, unknown>;
1514
- encode: unknown;
1515
- parse: unknown;
1516
- asType: unknown;
1517
- errors?: (<T_2 extends ColumnTypeBase<Pick, unknown, any, orchid_core.BaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>(this: T_2, errors: orchid_core.ErrorMessages) => void) | undefined;
1518
- }, unknown, any, orchid_core.BaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>(self: T, expr: Expression) => Omit<T, "then" | "result" | "returnType" | "catch"> & {
1519
- meta: {
1520
- hasSelect: true;
1521
- };
1522
- result: {
1523
- value: C;
1524
- };
1525
- returnType: "valueOrThrow";
1526
- then: orchid_core.QueryThen<C["outputType"]>;
1527
- catch: orchid_core.QueryCatch<C["outputType"]>;
1528
- } & C["operators"];
1529
- declare function makeFnExpression<T extends Query, C extends QueryColumn>(self: T, type: C, fn: string, args: FnExpressionArgs<Query>, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, C> & C['operators'];
1530
-
1531
1480
  type WhereArg<T extends WhereQueryBase> = {
1532
1481
  [K in keyof T['selectable'] | 'NOT' | 'OR' | 'IN' | 'EXISTS']?: K extends 'NOT' ? MaybeArray<WhereArg<T>> : K extends 'OR' ? MaybeArray<WhereArg<T>>[] : K extends 'IN' ? MaybeArray<{
1533
1482
  columns: (keyof T['selectable'])[];
1534
1483
  values: unknown[][] | Query | Expression;
1535
1484
  }> : K extends keyof T['selectable'] ? T['selectable'][K]['column']['queryType'] | null | ColumnOperators<T['selectable'], K> | Expression | Query : never;
1536
- } | QueryBase | Expression | ((q: WhereQueryBuilder<T>) => QueryBase | ColumnExpression<QueryColumn<boolean | null>>);
1485
+ } | QueryBase | Expression<QueryColumn<boolean | null>> | ((q: WhereQueryBuilder<T>) => ExpressionOrQueryReturning<boolean | null> | WhereQueryBuilder<T>);
1537
1486
  /**
1538
1487
  * Callback argument of `where`.
1539
1488
  * It has `where` methods (`where`, `whereNot`, `whereExists`, etc.),
@@ -2573,6 +2522,9 @@ declare function pushLimitSQL(sql: string[], values: unknown[], q: SelectQueryDa
2573
2522
  type AliasOrTable<T extends Pick<Query, 'table' | 'meta'>> = T['meta']['as'] extends string ? T['meta']['as'] : T['table'] extends string ? T['table'] : never;
2574
2523
  type SelectableOrExpression<T extends Pick<QueryBase, 'selectable'> = QueryBase, C extends QueryColumn = QueryColumn> = '*' | StringKey<keyof T['selectable']> | Expression<C>;
2575
2524
  type ExpressionOutput<T extends QueryBase, Expr extends SelectableOrExpression<T>> = Expr extends keyof T['selectable'] ? T['selectable'][Expr]['column'] : Expr extends Expression ? Expr['_type'] : never;
2525
+ type ExpressionOrQueryReturning<T> = Expression<QueryColumn<T>> | (QueryBase & {
2526
+ then: QueryThen<T>;
2527
+ });
2576
2528
  declare const getClonedQueryData: (query: QueryData) => QueryData;
2577
2529
  declare const getQueryAs: (q: {
2578
2530
  table?: string | undefined;
@@ -2600,6 +2552,59 @@ declare const resolveSubQueryCallback: (q: ToSQLQuery, cb: (q: ToSQLQuery) => To
2600
2552
  */
2601
2553
  declare const joinSubQuery: (q: ToSQLQuery, sub: ToSQLQuery) => Query;
2602
2554
 
2555
+ type AggregateOptions<T extends Query> = {
2556
+ distinct?: boolean;
2557
+ order?: OrderArg<T> | OrderArg<T>[];
2558
+ filter?: WhereArg<T>;
2559
+ filterOr?: WhereArg<T>[];
2560
+ withinGroup?: boolean;
2561
+ over?: Over<T>;
2562
+ };
2563
+ type Over<T extends Query> = keyof T['windows'] | WindowArgDeclaration<T>;
2564
+ type FnExpressionArgs<Q extends Query> = (SelectableOrExpression<Q> | {
2565
+ pairs: Record<string, SelectableOrExpression<Q>>;
2566
+ } | {
2567
+ value: unknown;
2568
+ })[];
2569
+ declare class FnExpression<Q extends Query = Query, T extends QueryColumn = QueryColumn> extends Expression<T> {
2570
+ q: Q;
2571
+ fn: string;
2572
+ args: FnExpressionArgs<Q>;
2573
+ options: AggregateOptions<Q>;
2574
+ _type: T;
2575
+ /**
2576
+ * @param q - query object.
2577
+ * @param fn - SQL function name.
2578
+ * @param args - arguments of the function.
2579
+ * @param options - aggregate options.
2580
+ * @param _type - column type of the function result.
2581
+ */
2582
+ constructor(q: Q, fn: string, args: FnExpressionArgs<Q>, options: AggregateOptions<Q>, _type: T);
2583
+ makeSQL(ctx: ToSQLCtx, quotedAs?: string): string;
2584
+ }
2585
+ type ColumnExpression<C extends QueryColumn, Ops extends BaseOperators = C['operators']> = Expression<C> & {
2586
+ [K in keyof Ops]: (arg: Ops[K]['_opType']) => ColumnExpression<QueryColumn<boolean | null>>;
2587
+ };
2588
+ declare const makeExpression: <T extends Query, C extends ColumnTypeBase<{
2589
+ type: unknown;
2590
+ nullable: <T_1 extends ColumnTypeBase<Pick, unknown, any, orchid_core.BaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>(this: T_1) => orchid_core.NullableColumn<T_1, unknown, unknown, unknown>;
2591
+ encode: unknown;
2592
+ parse: unknown;
2593
+ asType: unknown;
2594
+ errors?: (<T_2 extends ColumnTypeBase<Pick, unknown, any, orchid_core.BaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>(this: T_2, errors: orchid_core.ErrorMessages) => void) | undefined;
2595
+ }, unknown, any, orchid_core.BaseOperators, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>(self: T, expr: Expression) => Omit<T, "then" | "result" | "returnType" | "catch"> & {
2596
+ meta: {
2597
+ hasSelect: true;
2598
+ };
2599
+ result: {
2600
+ value: C;
2601
+ };
2602
+ returnType: "valueOrThrow";
2603
+ then: orchid_core.QueryThen<C["outputType"]>;
2604
+ catch: orchid_core.QueryCatch<C["outputType"]>;
2605
+ } & C["operators"];
2606
+ declare function makeFnExpression<T extends Query, C extends QueryColumn>(self: T, type: C, fn: string, args: FnExpressionArgs<Query>, options?: AggregateOptions<T>): SetQueryReturnsColumn<T, C> & C['operators'];
2607
+
2603
2608
  type QueryGetSelf = Pick<Query, 'selectable' | 'q' | 'table' | 'baseQuery' | 'clone'>;
2604
2609
  type GetArg<T extends QueryGetSelf> = GetStringArg<T> | Expression;
2605
2610
  type GetStringArg<T extends Pick<Query, 'selectable'>> = StringKey<keyof T['selectable']>;
@@ -3614,7 +3619,7 @@ type UpdateColumn<T extends UpdateSelf, Key extends keyof T['inputType']> = T['i
3614
3619
  kind: 'select';
3615
3620
  };
3616
3621
  }));
3617
- type UpdateRelationData<T extends UpdateSelf, Rel extends RelationConfigBase> = Rel['one'] extends true ? Rel['dataForUpdate'] | (QueryReturnsAll<T['returnType']> extends true ? never : Rel['dataForUpdateOne']) : Rel['dataForUpdate'] & (QueryReturnsAll<T['returnType']> extends true ? EmptyObject : Rel['dataForUpdateOne']);
3622
+ 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'];
3618
3623
  type UpdateArg<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? UpdateData<T> : never;
3619
3624
  type UpdateRawArgs<T extends UpdateSelf> = T['meta']['hasWhere'] extends true ? [sql: Expression] | TemplateLiteralArgs : never;
3620
3625
  type UpdateResult<T extends UpdateSelf> = T['meta']['hasSelect'] extends true ? SetQueryKind<T, 'update'> : SetQueryReturnsRowCount<SetQueryKind<T, 'update'>>;
@@ -7069,4 +7074,4 @@ type CopyResult<T extends Query> = SetQueryKind<T, 'copy'>;
7069
7074
  */
7070
7075
  declare function copyTableData<T extends Query>(query: T, arg: CopyArg<T>): CopyResult<T>;
7071
7076
 
7072
- 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, 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, CreateRelationDataOmittingFKeys, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DeleteSelf, DomainColumn, DoublePrecisionColumn, DropMode, DynamicRawSQL, EnumColumn, ExpressionOutput, FnExpression, FnExpressionArgs, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromQueryArg, 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, 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, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBeforeHook, QueryData, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, 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, SelectableBase, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumn, SetQueryReturnsColumnInfo, SetQueryReturnsColumnOptional, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransactionSelf, 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, WithItem, WithOptions, WrapQueryArg, WrapQuerySelf, 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 };
7077
+ 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, 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, CreateRelationDataOmittingFKeys, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DeleteSelf, DomainColumn, DoublePrecisionColumn, DropMode, DynamicRawSQL, EnumColumn, ExpressionOrQueryReturning, ExpressionOutput, FnExpression, FnExpressionArgs, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromQueryArg, 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, 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, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBeforeHook, QueryData, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, 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, SelectableBase, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumn, SetQueryReturnsColumnInfo, SetQueryReturnsColumnOptional, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWith, SimpleJoinItem, SingleColumnIndexOptions, SmallIntColumn, SmallSerialColumn, SortDir, StringColumn, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransactionSelf, 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, WithItem, WithOptions, WrapQueryArg, WrapQuerySelf, 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 };
package/dist/index.js CHANGED
@@ -4521,27 +4521,26 @@ class Adapter {
4521
4521
  this.schema = schema === "public" ? void 0 : schema;
4522
4522
  this.config = config;
4523
4523
  this.pool = new pg.Pool(config);
4524
+ if (config.connectRetry) {
4525
+ orchidCore.setAdapterConnectRetry(
4526
+ this,
4527
+ () => this.pool.connect(),
4528
+ config.connectRetry === true ? orchidCore.emptyObject : config.connectRetry
4529
+ );
4530
+ }
4531
+ }
4532
+ connect() {
4533
+ return this.pool.connect();
4524
4534
  }
4525
4535
  query(query, types2) {
4526
- return performQuery$1(
4527
- this.pool,
4528
- query,
4529
- types2,
4530
- this.schema
4531
- );
4536
+ return performQuery$1(this, query, types2);
4532
4537
  }
4533
4538
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4534
4539
  arrays(query, types2) {
4535
- return performQuery$1(
4536
- this.pool,
4537
- query,
4538
- types2,
4539
- this.schema,
4540
- "array"
4541
- );
4540
+ return performQuery$1(this, query, types2, "array");
4542
4541
  }
4543
4542
  async transaction(begin, cb) {
4544
- const client = await this.pool.connect();
4543
+ const client = await this.connect();
4545
4544
  try {
4546
4545
  await setSearchPath(client, this.schema);
4547
4546
  await performQueryOnClient(client, begin, this.types);
@@ -4576,10 +4575,10 @@ const setSearchPath = (client, schema) => {
4576
4575
  }
4577
4576
  return;
4578
4577
  };
4579
- const performQuery$1 = async (pool, query, types2, schema, rowMode) => {
4580
- const client = await pool.connect();
4578
+ const performQuery$1 = async (adapter, query, types2, rowMode) => {
4579
+ const client = await adapter.connect();
4581
4580
  try {
4582
- await setSearchPath(client, schema);
4581
+ await setSearchPath(client, adapter.schema);
4583
4582
  return await performQueryOnClient(client, query, types2, rowMode);
4584
4583
  } finally {
4585
4584
  client.release();
@@ -4606,6 +4605,9 @@ class TransactionAdapter {
4606
4605
  this.pool = adapter.pool;
4607
4606
  this.config = adapter.config;
4608
4607
  }
4608
+ connect() {
4609
+ return Promise.resolve(this.client);
4610
+ }
4609
4611
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4610
4612
  async query(query, types2) {
4611
4613
  return await performQueryOnClient(this.client, query, types2);