pqb 0.31.0 → 0.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +64 -14
- package/dist/index.js +65 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +65 -19
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
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, QueryMetaBase, QueryReturnType, QueryThen, Expression, QueryColumn, MaybeArray, SelectableBase, TemplateLiteralArgs, PickOutputTypeAndOperators, PickQueryResult, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, FnUnknownToUnknown, ExpressionChain, getValueKey, PickQueryShape, PickQueryTableMetaResult, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, PickQueryMetaShape, PickQueryTableMetaResultShape, PickQueryMetaResultWindows, QueryColumnBooleanOrNull, ExpressionData, ValExpression, PickOutputType, SQLQueryArgs, ColumnSchemaConfig, DateColumnData, Code, TimeInterval, ColumnTypeSchemaArg, ColumnDataBase, ArrayMethodsData, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, ForeignKeyTable, ColumnNameOfTable, BaseNumberData, PickColumnBaseData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ParseColumn, EncodeColumn, PickQueryMetaResult, QueryColumnsInit, DefaultSelectColumns, CoreQueryScopes, DbBase, QueryCatch, TransactionState, ColumnTypeBase, CoreBaseOperators, PickQueryUniqueProperties, IsQuery, PickQueryMetaShapeResultReturnType, MergeObjects, PickQueryResultUniqueColumns, QueryInternalBase, PickQueryReturnType, PickType, ColumnShapeOutput, OperatorsNullable, PickQueryMetaReturnType, UniqueColumn, TimestampHelpers, Codes, ColumnDataCheckBase, PickQueryTableMetaShape } from 'orchid-core';
|
|
2
|
+
import { QueryResultRow, AdapterConfigBase, AdapterBase, QueryInput, Sql, RecordUnknown, RecordKeyTrue, EmptyObject, QueryBaseCommon, QueryColumns, QueryMetaBase, QueryReturnType, QueryThen, Expression, QueryColumn, MaybeArray, SelectableBase, TemplateLiteralArgs, PickOutputTypeAndOperators, PickQueryResult, OperatorToSQL, ColumnsShapeBase, ColumnsParsers, RecordString, PickQueryTable, FnUnknownToUnknown, ExpressionChain, getValueKey, PickQueryShape, PickQueryTableMetaResult, EmptyTuple, PickQueryMeta, PickQueryMetaResultReturnType, QueryColumnToNullable, PickQueryMetaShape, PickQueryTableMetaResultShape, PickQueryMetaResultWindows, QueryColumnBooleanOrNull, ExpressionData, ValExpression, PickOutputType, SQLQueryArgs, ColumnSchemaConfig, DateColumnData, Code, TimeInterval, ColumnTypeSchemaArg, ColumnDataBase, ArrayMethodsData, RawSQLBase, RawSQLValues, ExpressionTypeMethod, DynamicSQLArg, StaticSQLArgs, ForeignKeyTable, ColumnNameOfTable, BaseNumberData, PickColumnBaseData, ColumnWithDefault, StringTypeData, PrimaryKeyColumn, ParseColumn, EncodeColumn, PickQueryMetaResult, QueryColumnsInit, DefaultSelectColumns, CoreQueryScopes, DbBase, QueryCatch, TransactionState, ColumnTypeBase, CoreBaseOperators, PickQueryUniqueProperties, IsQuery, PickQueryTableMetaResultInputType, PickQueryMetaShapeResultReturnType, MergeObjects, PickQueryResultUniqueColumns, QueryInternalBase, PickQueryReturnType, PickType, ColumnShapeOutput, OperatorsNullable, PickQueryMetaReturnType, UniqueColumn, TimestampHelpers, Codes, ColumnDataCheckBase, 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';
|
|
@@ -3930,6 +3930,22 @@ declare class Create {
|
|
|
3930
3930
|
* });
|
|
3931
3931
|
* ```
|
|
3932
3932
|
*
|
|
3933
|
+
* `create` and `insert` can be used in {@link WithMethods.with} expressions:
|
|
3934
|
+
*
|
|
3935
|
+
* ```ts
|
|
3936
|
+
* db.$queryBuilder
|
|
3937
|
+
* // create a record in one table
|
|
3938
|
+
* .with('a', db.table.select('id').create(data))
|
|
3939
|
+
* // create a record in other table using the first table record id
|
|
3940
|
+
* .with('b', (q) =>
|
|
3941
|
+
* db.otherTable.select('id').create({
|
|
3942
|
+
* ...otherData,
|
|
3943
|
+
* aId: () => q.from('a').get('id'),
|
|
3944
|
+
* }),
|
|
3945
|
+
* )
|
|
3946
|
+
* .from('b');
|
|
3947
|
+
* ```
|
|
3948
|
+
*
|
|
3933
3949
|
* @param data - data for the record, may have values, raw SQL, queries, relation operations.
|
|
3934
3950
|
*/
|
|
3935
3951
|
create<T extends CreateSelf, BT extends CreateBelongsToData<T>>(this: T, data: CreateData<T, BT>): CreateResult<T, BT>;
|
|
@@ -4386,6 +4402,19 @@ declare class Delete {
|
|
|
4386
4402
|
* // delete all users who have corresponding profile records:
|
|
4387
4403
|
* db.table.join(Profile, 'profile.userId', 'user.id').all().delete();
|
|
4388
4404
|
* ```
|
|
4405
|
+
*
|
|
4406
|
+
* `delete` can be used in {@link WithMethods.with} expressions:
|
|
4407
|
+
*
|
|
4408
|
+
* ```ts
|
|
4409
|
+
* db.$queryBuilder
|
|
4410
|
+
* // delete a record in one table
|
|
4411
|
+
* .with('a', db.table.find(1).select('id').delete())
|
|
4412
|
+
* // delete a record in other table using the first table record id
|
|
4413
|
+
* .with('b', (q) =>
|
|
4414
|
+
* db.otherTable.select('id').whereIn('aId', q.from('a').pluck('id')).delete(),
|
|
4415
|
+
* )
|
|
4416
|
+
* .from('b');
|
|
4417
|
+
* ```
|
|
4389
4418
|
*/
|
|
4390
4419
|
delete<T extends PickQueryMetaResult>(this: T, ..._args: DeleteArgs<T>): DeleteResult<T>;
|
|
4391
4420
|
}
|
|
@@ -4406,12 +4435,12 @@ type FromArg<T extends FromQuerySelf> = PickQueryTableMetaResult | Expression |
|
|
|
4406
4435
|
type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
|
|
4407
4436
|
type FromResult<T extends FromQuerySelf, Arg extends MaybeArray<FromArg<T>>> = Arg extends string ? T['withData'] extends WithDataItems ? {
|
|
4408
4437
|
[K in keyof T]: K extends 'meta' ? {
|
|
4409
|
-
[K in keyof T['meta']]: K extends 'as' ? string | undefined : K extends 'selectable' ? SelectableFromShape<T['withData'][Arg]['shape'], Arg> : T['meta'][K];
|
|
4438
|
+
[K in keyof T['meta']]: K extends 'as' ? string | undefined : K extends 'selectable' ? SelectableFromShape<T['withData'][Arg]['shape'], Arg> : K extends 'kind' ? 'select' : T['meta'][K];
|
|
4410
4439
|
} : K extends 'result' ? T['withData'][Arg]['shape'] : K extends 'then' ? QueryThen<GetQueryResult<T, T['withData'][Arg]['shape']>> : T[K];
|
|
4411
|
-
} : SetQueryTableAlias<T, Arg> : Arg extends
|
|
4440
|
+
} : SetQueryTableAlias<T, Arg> : Arg extends PickQueryTableMetaResultInputType ? {
|
|
4412
4441
|
[K in keyof T]: K extends 'meta' ? {
|
|
4413
|
-
[K in keyof T['meta']]: K extends 'as' ? AliasOrTable<Arg> : K extends 'selectable' ? SelectableFromShape<Arg['result'], AliasOrTable<Arg>> : T['meta'][K];
|
|
4414
|
-
} : K extends 'result' ? Arg['result'] : K extends 'shape' ? Arg['result'] : K extends 'then' ? QueryThen<GetQueryResult<T, Arg['result']>> : T[K];
|
|
4442
|
+
[K in keyof T['meta']]: K extends 'as' ? AliasOrTable<Arg> : K extends 'selectable' ? SelectableFromShape<Arg['result'], AliasOrTable<Arg>> : K extends 'kind' ? 'select' : T['meta'][K];
|
|
4443
|
+
} : K extends 'result' ? Arg['result'] : K extends 'shape' ? Arg['result'] : K extends 'inputType' ? Arg['inputType'] : K extends 'then' ? QueryThen<GetQueryResult<T, Arg['result']>> : T[K];
|
|
4415
4444
|
} : Arg extends (infer A)[] ? {
|
|
4416
4445
|
[K in keyof T]: K extends 'meta' ? {
|
|
4417
4446
|
[K in keyof T['meta']]: K extends 'selectable' ? UnionToIntersection<A extends string ? T['withData'] extends WithDataItems ? {
|
|
@@ -4461,7 +4490,7 @@ declare class FromMethods {
|
|
|
4461
4490
|
*
|
|
4462
4491
|
* @param arg - query or name of CTE table
|
|
4463
4492
|
*/
|
|
4464
|
-
from<T extends FromQuerySelf, Arg extends MaybeArray<FromArg<T>>>(this: T, arg: T['meta']['hasSelect'] extends true ? '`select` must be
|
|
4493
|
+
from<T extends FromQuerySelf, Arg extends MaybeArray<FromArg<T>>>(this: T, arg: T['meta']['hasSelect'] extends true ? '`select` must be placed after `from`' : Arg): FromResult<T, Arg>;
|
|
4465
4494
|
/**
|
|
4466
4495
|
* Set the `FROM` value with custom SQL:
|
|
4467
4496
|
*
|
|
@@ -5248,8 +5277,10 @@ interface WithRecursiveOptions extends WithArgsOptions {
|
|
|
5248
5277
|
type WithQueryBuilder<T extends PickQueryWithDataColumnTypes> = {
|
|
5249
5278
|
[K in keyof Query]: K extends 'sql' ? SqlMethod<T['columnTypes']>['sql'] : K extends 'relations' ? EmptyObject : K extends 'withData' ? T['withData'] : Query[K];
|
|
5250
5279
|
};
|
|
5251
|
-
type WithResult<T extends
|
|
5252
|
-
[K in keyof T]: K extends '
|
|
5280
|
+
type WithResult<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q extends PickQueryResult> = {
|
|
5281
|
+
[K in keyof T]: K extends 'meta' ? {
|
|
5282
|
+
[K in keyof T['meta']]: K extends 'kind' ? 'select' : T['meta'][K];
|
|
5283
|
+
} : K extends 'withData' ? {
|
|
5253
5284
|
[K in keyof T['withData'] | Name]: K extends Name ? {
|
|
5254
5285
|
table: Name;
|
|
5255
5286
|
shape: Q['result'];
|
|
@@ -5329,12 +5360,12 @@ declare class WithMethods {
|
|
|
5329
5360
|
* .select('alias.id');
|
|
5330
5361
|
* ```
|
|
5331
5362
|
*/
|
|
5332
|
-
with<T extends
|
|
5333
|
-
with<T extends
|
|
5334
|
-
withRecursive<T extends
|
|
5363
|
+
with<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q>(this: T, name: Name, query: Q | ((q: WithQueryBuilder<T>) => Q)): WithResult<T, Name, Q extends Query ? Q : never>;
|
|
5364
|
+
with<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q extends Query>(this: T, name: Name, options: WithArgsOptions, query: Q | ((qb: WithQueryBuilder<T>) => Q)): WithResult<T, Name, Q>;
|
|
5365
|
+
withRecursive<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q extends Query, Result = WithResult<T, Name, Q>>(this: T, name: Name, base: Q | ((qb: WithQueryBuilder<T>) => Q), recursive: (qb: {
|
|
5335
5366
|
[K in keyof Result]: K extends 'result' ? Q['result'] : Result[K];
|
|
5336
5367
|
}) => Query): Result;
|
|
5337
|
-
withRecursive<T extends
|
|
5368
|
+
withRecursive<T extends PickQueryMetaWithDataColumnTypes, Name extends string, Q extends Query, Result = WithResult<T, Name, Q>>(this: T, name: Name, options: WithRecursiveOptions, base: Q | ((qb: WithQueryBuilder<T>) => Q), recursive: (qb: {
|
|
5338
5369
|
[K in keyof Result]: K extends 'result' ? Q['result'] : Result[K];
|
|
5339
5370
|
}) => Query): Result;
|
|
5340
5371
|
withSql<T extends PickQueryWithDataColumnTypes, Name extends string, Shape extends ColumnsShapeBase>(this: T, name: Name, options: WithOptions, shape: (t: T['columnTypes']) => Shape, expr: (q: T) => Expression): WithSqlResult<T, Name, Shape>;
|
|
@@ -5598,7 +5629,24 @@ declare class Update {
|
|
|
5598
5629
|
* })
|
|
5599
5630
|
* ```
|
|
5600
5631
|
*
|
|
5601
|
-
*
|
|
5632
|
+
* `update` can be used in {@link WithMethods.with} expressions:
|
|
5633
|
+
*
|
|
5634
|
+
* ```ts
|
|
5635
|
+
* db.$queryBuilder
|
|
5636
|
+
* // update record in one table
|
|
5637
|
+
* .with('a', db.table.find(1).select('id').update(data))
|
|
5638
|
+
* // update record in other table using the first table record id
|
|
5639
|
+
* .with('b', (q) =>
|
|
5640
|
+
* db.otherTable
|
|
5641
|
+
* .find(1)
|
|
5642
|
+
* .select('id')
|
|
5643
|
+
* .update({
|
|
5644
|
+
* ...otherData,
|
|
5645
|
+
* aId: () => q.from('a').get('id'),
|
|
5646
|
+
* }),
|
|
5647
|
+
* )
|
|
5648
|
+
* .from('b');
|
|
5649
|
+
* ```
|
|
5602
5650
|
*
|
|
5603
5651
|
* ### null, undefined, unknown columns
|
|
5604
5652
|
*
|
|
@@ -6990,6 +7038,8 @@ interface PickQueryMetaResultRelationsWindowsColumnTypes extends PickQueryMetaRe
|
|
|
6990
7038
|
}
|
|
6991
7039
|
interface PickQueryWithDataColumnTypes extends PickQueryWithData, PickQueryColumnTypes {
|
|
6992
7040
|
}
|
|
7041
|
+
interface PickQueryMetaWithDataColumnTypes extends PickQueryMeta, PickQueryWithData, PickQueryColumnTypes {
|
|
7042
|
+
}
|
|
6993
7043
|
interface PickQueryMetaTable extends PickQueryMeta, PickQueryTable {
|
|
6994
7044
|
}
|
|
6995
7045
|
interface PickQueryMetaTableShape extends PickQueryMetaTable, PickQueryShape {
|
|
@@ -7836,4 +7886,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
7836
7886
|
*/
|
|
7837
7887
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
7838
7888
|
|
|
7839
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, 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, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbDomainArg, DbDomainArgRecord, DbExtension, DbOptions, DbResult, DbSharedOptions, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DecimalColumnData, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, FromArg, FromMethods, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictMerge, OnConflictQueryBuilder, OnConflictSet, OnConflictTarget, OnMethods, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryColumnTypes, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBeforeHook, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryInternal, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryKindResult, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsAllKindResult, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnKindResult, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneKindResult, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsPluckColumnKindResult, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, TableDataFn, TableDataInput, TableDataItem, TableDataItemsUniqueColumnTuples, TableDataItemsUniqueColumns, TableDataItemsUniqueConstraints, TableDataMethods, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, WithArgsOptions, WithDataBase, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, WrapQueryArg, XMLColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseResult, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|
|
7889
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, 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, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbDomainArg, DbDomainArgRecord, DbExtension, DbOptions, DbResult, DbSharedOptions, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DecimalColumnData, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, FromArg, FromMethods, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArg, Having, HavingItem, HookAction, HookSelect, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralCallback, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonItem, JsonMethods, JsonModifiers, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, OnConflictMerge, OnConflictQueryBuilder, OnConflictSet, OnConflictTarget, OnMethods, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryColumnTypes, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryMetaWithDataColumnTypes, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBeforeHook, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHookSelect, QueryHooks, QueryInternal, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryReturnsAll, QueryScopeData, QueryScopes, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectAs, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SerialColumn, SerialColumnData, SetQueryKind, SetQueryKindResult, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsAllKindResult, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnKindResult, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneKindResult, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsPluckColumnKindResult, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, TableDataFn, TableDataInput, TableDataItem, TableDataItemsUniqueColumnTuples, TableDataItemsUniqueColumns, TableDataItemsUniqueConstraints, TableDataMethods, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, WithArgsOptions, WithDataBase, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, WrapQueryArg, XMLColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotSql, _queryWhereSql, addComputedColumns, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseResult, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, quote, quoteString, raw, referencesArgsToCode, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|
package/dist/index.js
CHANGED
|
@@ -4405,12 +4405,6 @@ const mergeColumnsSql = (quotedColumns2) => {
|
|
|
4405
4405
|
};
|
|
4406
4406
|
const encodeRow = (ctx, q, QueryClass, row, runtimeDefaults, quotedAs) => {
|
|
4407
4407
|
const arr = row.map((value) => {
|
|
4408
|
-
if (typeof value === "function") {
|
|
4409
|
-
value = resolveSubQueryCallback(
|
|
4410
|
-
q,
|
|
4411
|
-
value
|
|
4412
|
-
);
|
|
4413
|
-
}
|
|
4414
4408
|
if (value && typeof value === "object") {
|
|
4415
4409
|
if (value instanceof orchidCore.Expression) {
|
|
4416
4410
|
return value.toSQL(ctx, quotedAs);
|
|
@@ -4713,6 +4707,7 @@ const toSQL = (table, options) => {
|
|
|
4713
4707
|
return !(options == null ? void 0 : options.clearCache) && table.q[toSQLCacheKey] || (table.q[toSQLCacheKey] = makeSQL(table, options));
|
|
4714
4708
|
};
|
|
4715
4709
|
const makeSQL = (table, options) => {
|
|
4710
|
+
var _a;
|
|
4716
4711
|
const query = table.q;
|
|
4717
4712
|
const sql = [];
|
|
4718
4713
|
const values = (options == null ? void 0 : options.values) || [];
|
|
@@ -4726,24 +4721,21 @@ const makeSQL = (table, options) => {
|
|
|
4726
4721
|
pushWithSql(ctx, query.with);
|
|
4727
4722
|
}
|
|
4728
4723
|
if (query.type) {
|
|
4724
|
+
const tableName = (_a = table.table) != null ? _a : query.as;
|
|
4725
|
+
if (!tableName)
|
|
4726
|
+
throw new Error(`Table is missing for ${query.type}`);
|
|
4729
4727
|
if (query.type === "truncate") {
|
|
4730
|
-
|
|
4731
|
-
throw new Error("Table is missing for truncate");
|
|
4732
|
-
pushTruncateSql(ctx, table.table, query);
|
|
4728
|
+
pushTruncateSql(ctx, tableName, query);
|
|
4733
4729
|
return { text: sql.join(" "), values };
|
|
4734
4730
|
}
|
|
4735
4731
|
if (query.type === "columnInfo") {
|
|
4736
|
-
if (!table.table)
|
|
4737
|
-
throw new Error("Table is missing for truncate");
|
|
4738
4732
|
pushColumnInfoSql(ctx, table, query);
|
|
4739
4733
|
return { text: sql.join(" "), values };
|
|
4740
4734
|
}
|
|
4741
|
-
|
|
4742
|
-
throw new Error(`Table is missing for ${query.type}`);
|
|
4743
|
-
const quotedAs2 = `"${query.as || table.table}"`;
|
|
4735
|
+
const quotedAs2 = `"${query.as || tableName}"`;
|
|
4744
4736
|
if (query.type === "insert") {
|
|
4745
4737
|
return {
|
|
4746
|
-
hookSelect: pushInsertSql(ctx, table, query, `"${
|
|
4738
|
+
hookSelect: pushInsertSql(ctx, table, query, `"${tableName}"`),
|
|
4747
4739
|
text: sql.join(" "),
|
|
4748
4740
|
values
|
|
4749
4741
|
};
|
|
@@ -6155,9 +6147,17 @@ const processCreateItem = (q, item, rowIndex, ctx, encoders) => {
|
|
|
6155
6147
|
item,
|
|
6156
6148
|
rowIndex
|
|
6157
6149
|
);
|
|
6158
|
-
} else
|
|
6159
|
-
|
|
6160
|
-
|
|
6150
|
+
} else {
|
|
6151
|
+
if (typeof item[key] === "function") {
|
|
6152
|
+
item[key] = resolveSubQueryCallback(
|
|
6153
|
+
q,
|
|
6154
|
+
item[key]
|
|
6155
|
+
);
|
|
6156
|
+
}
|
|
6157
|
+
if (!ctx.columns.has(key) && (shape[key] && !shape[key].data.computed || shape === anyShape)) {
|
|
6158
|
+
ctx.columns.set(key, ctx.columns.size);
|
|
6159
|
+
encoders[key] = (_c = shape[key]) == null ? void 0 : _c.encodeFn;
|
|
6160
|
+
}
|
|
6161
6161
|
}
|
|
6162
6162
|
}
|
|
6163
6163
|
};
|
|
@@ -6363,6 +6363,22 @@ class Create {
|
|
|
6363
6363
|
* });
|
|
6364
6364
|
* ```
|
|
6365
6365
|
*
|
|
6366
|
+
* `create` and `insert` can be used in {@link WithMethods.with} expressions:
|
|
6367
|
+
*
|
|
6368
|
+
* ```ts
|
|
6369
|
+
* db.$queryBuilder
|
|
6370
|
+
* // create a record in one table
|
|
6371
|
+
* .with('a', db.table.select('id').create(data))
|
|
6372
|
+
* // create a record in other table using the first table record id
|
|
6373
|
+
* .with('b', (q) =>
|
|
6374
|
+
* db.otherTable.select('id').create({
|
|
6375
|
+
* ...otherData,
|
|
6376
|
+
* aId: () => q.from('a').get('id'),
|
|
6377
|
+
* }),
|
|
6378
|
+
* )
|
|
6379
|
+
* .from('b');
|
|
6380
|
+
* ```
|
|
6381
|
+
*
|
|
6366
6382
|
* @param data - data for the record, may have values, raw SQL, queries, relation operations.
|
|
6367
6383
|
*/
|
|
6368
6384
|
create(data) {
|
|
@@ -6871,6 +6887,19 @@ class Delete {
|
|
|
6871
6887
|
* // delete all users who have corresponding profile records:
|
|
6872
6888
|
* db.table.join(Profile, 'profile.userId', 'user.id').all().delete();
|
|
6873
6889
|
* ```
|
|
6890
|
+
*
|
|
6891
|
+
* `delete` can be used in {@link WithMethods.with} expressions:
|
|
6892
|
+
*
|
|
6893
|
+
* ```ts
|
|
6894
|
+
* db.$queryBuilder
|
|
6895
|
+
* // delete a record in one table
|
|
6896
|
+
* .with('a', db.table.find(1).select('id').delete())
|
|
6897
|
+
* // delete a record in other table using the first table record id
|
|
6898
|
+
* .with('b', (q) =>
|
|
6899
|
+
* db.otherTable.select('id').whereIn('aId', q.from('a').pluck('id')).delete(),
|
|
6900
|
+
* )
|
|
6901
|
+
* .from('b');
|
|
6902
|
+
* ```
|
|
6874
6903
|
*/
|
|
6875
6904
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6876
6905
|
delete(..._args) {
|
|
@@ -9533,7 +9562,24 @@ class Update {
|
|
|
9533
9562
|
* })
|
|
9534
9563
|
* ```
|
|
9535
9564
|
*
|
|
9536
|
-
*
|
|
9565
|
+
* `update` can be used in {@link WithMethods.with} expressions:
|
|
9566
|
+
*
|
|
9567
|
+
* ```ts
|
|
9568
|
+
* db.$queryBuilder
|
|
9569
|
+
* // update record in one table
|
|
9570
|
+
* .with('a', db.table.find(1).select('id').update(data))
|
|
9571
|
+
* // update record in other table using the first table record id
|
|
9572
|
+
* .with('b', (q) =>
|
|
9573
|
+
* db.otherTable
|
|
9574
|
+
* .find(1)
|
|
9575
|
+
* .select('id')
|
|
9576
|
+
* .update({
|
|
9577
|
+
* ...otherData,
|
|
9578
|
+
* aId: () => q.from('a').get('id'),
|
|
9579
|
+
* }),
|
|
9580
|
+
* )
|
|
9581
|
+
* .from('b');
|
|
9582
|
+
* ```
|
|
9537
9583
|
*
|
|
9538
9584
|
* ### null, undefined, unknown columns
|
|
9539
9585
|
*
|