pqb 0.40.10 → 0.40.11
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 +10 -2
- package/dist/index.js +91 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +91 -37
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -159,7 +159,7 @@ type QuerySourceItem = {
|
|
|
159
159
|
} | {
|
|
160
160
|
tsQuery: string | Expression;
|
|
161
161
|
});
|
|
162
|
-
type JoinItem = SimpleJoinItem
|
|
162
|
+
type JoinItem = SimpleJoinItem;
|
|
163
163
|
type SimpleJoinItemNonSubQueryArgs = [{
|
|
164
164
|
[K: string]: string | Expression;
|
|
165
165
|
} | Expression | true] | [leftColumn: string | Expression, rightColumn: string | Expression] | [
|
|
@@ -3457,6 +3457,11 @@ declare class Db<Table extends string | undefined = undefined, Shape extends Que
|
|
|
3457
3457
|
* @param args - SQL template literal, or an object { raw: string, values?: unknown[] }
|
|
3458
3458
|
*/
|
|
3459
3459
|
queryArrays<R extends any[] = any[]>(...args: SQLQueryArgs): Promise<QueryArraysResult<R>>;
|
|
3460
|
+
/**
|
|
3461
|
+
* In snake case mode, or when columns have custom names,
|
|
3462
|
+
* use this method to exchange a db column name to its runtime key.
|
|
3463
|
+
*/
|
|
3464
|
+
columnNameToKey(name: string): string | undefined;
|
|
3460
3465
|
}
|
|
3461
3466
|
interface DbTableConstructor<ColumnTypes> {
|
|
3462
3467
|
<Table extends string, Shape extends QueryColumnsInit, Data extends MaybeArray<TableDataItem>, Options extends DbTableOptions<ColumnTypes, Table, Shape>>(table: Table, shape?: ((t: ColumnTypes) => Shape) | Shape, tableData?: TableDataFn<Shape, Data>, options?: Options): Db<Table, Shape, keyof ShapeColumnPrimaryKeys<Shape> extends never ? never : ShapeColumnPrimaryKeys<Shape>, ShapeUniqueColumns<Shape> | TableDataItemsUniqueColumns<Shape, Data>, TableDataItemsUniqueColumnTuples<Shape, Data>, UniqueConstraints<Shape> | TableDataItemsUniqueConstraints<Data>, ColumnTypes, Shape & ComputedColumnsFromOptions<Options['computed']>, MapTableScopesOption<Options>>;
|
|
@@ -7589,6 +7594,7 @@ interface QueryInternal<SinglePrimaryKey = any, UniqueColumns = any, UniqueColum
|
|
|
7589
7594
|
tableData: TableData;
|
|
7590
7595
|
nowSQL?: string;
|
|
7591
7596
|
primaryKeys?: string[];
|
|
7597
|
+
columnNameToKeyMap?: Map<string, string>;
|
|
7592
7598
|
}
|
|
7593
7599
|
type SelectableFromShape<Shape extends QueryColumns, Table extends string | undefined> = {
|
|
7594
7600
|
[K in keyof Shape]: {
|
|
@@ -7619,6 +7625,7 @@ interface Query extends QueryBase, QueryMethods<unknown> {
|
|
|
7619
7625
|
windows: EmptyObject;
|
|
7620
7626
|
relations: RelationsBase;
|
|
7621
7627
|
error: new (message: string, length: number, name: QueryErrorName) => QueryError;
|
|
7628
|
+
columnNameToKey(name: string): string | undefined;
|
|
7622
7629
|
}
|
|
7623
7630
|
interface PickQueryWithData {
|
|
7624
7631
|
withData: WithDataItems;
|
|
@@ -8365,6 +8372,7 @@ declare const setQueryObjectValue: <T extends {
|
|
|
8365
8372
|
* @param method - 'update' or 'delete'
|
|
8366
8373
|
*/
|
|
8367
8374
|
declare const throwIfNoWhere: (q: PickQueryQ, method: string) => void;
|
|
8375
|
+
declare const throwIfJoinLateral: (q: PickQueryQ, method: string) => void;
|
|
8368
8376
|
declare const saveSearchAlias: (q: QueryBase, as: string, key: 'joinedShapes' | 'withShapes') => string;
|
|
8369
8377
|
/**
|
|
8370
8378
|
* Extend query prototype with new methods.
|
|
@@ -8498,4 +8506,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
8498
8506
|
*/
|
|
8499
8507
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
8500
8508
|
|
|
8501
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AfterCommitError, AfterCommitErrorFulfilledResult, AfterCommitErrorRejectedResult, AfterCommitErrorResult, AfterHook, AggregateArgTypes, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, ChangeCountArg, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumn, ComputedColumns, ComputedColumnsFromOptions, ComputedMethods, ComputedOptionsFactory, CopyOptions, CopyQueryData, Create, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateResult, 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, GeneratorIgnore, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArgs, HandleResult, Having, HavingItem, HookAction, HookSelectArg, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgToQuery, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NonUniqDataItem, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, NumericColumns, 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, PickQueryResultColumnTypes, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, PostgisGeographyPointColumn, PostgisPoint, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBatchResult, QueryBeforeHook, QueryComputedArg, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHooks, QueryInternal, QueryLog, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryScopeData, QueryScopes, QuerySourceItem, QueryUpsertOrCreate, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RuntimeComputedQueryColumn, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectArgs, SelectAs, SelectAsValue, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SelectableOrExpressions, 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, UnionArgs, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, 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, WithConfigs, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, WrapQueryArg, XMLColumn, _afterCommitError, _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, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotOneOf, _queryWhereNotSql, _queryWhereOneOf, _queryWhereSql, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, escapeForLog, escapeForMigration, escapeString, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseTableData, parseTableDataInput, postgisTypmodToSql, primaryKeyInnerToCode, processComputedBatches, processComputedResult, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOnForOuter, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, raw, referencesArgsToCode, resolveSubQueryCallback, rollbackSql, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|
|
8509
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AfterCommitError, AfterCommitErrorFulfilledResult, AfterCommitErrorRejectedResult, AfterCommitErrorResult, AfterHook, AggregateArgTypes, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, ChangeCountArg, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumn, ComputedColumns, ComputedColumnsFromOptions, ComputedMethods, ComputedOptionsFactory, CopyOptions, CopyQueryData, Create, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateResult, 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, GeneratorIgnore, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArgs, HandleResult, Having, HavingItem, HookAction, HookSelectArg, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgToQuery, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NonUniqDataItem, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, NumericColumns, 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, PickQueryResultColumnTypes, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, PostgisGeographyPointColumn, PostgisPoint, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBatchResult, QueryBeforeHook, QueryComputedArg, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHooks, QueryInternal, QueryLog, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryScopeData, QueryScopes, QuerySourceItem, QueryUpsertOrCreate, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RuntimeComputedQueryColumn, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectArgs, SelectAs, SelectAsValue, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SelectableOrExpressions, 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, UnionArgs, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, 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, WithConfigs, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, WrapQueryArg, XMLColumn, _afterCommitError, _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, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotOneOf, _queryWhereNotSql, _queryWhereOneOf, _queryWhereSql, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, escapeForLog, escapeForMigration, escapeString, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseTableData, parseTableDataInput, postgisTypmodToSql, primaryKeyInnerToCode, processComputedBatches, processComputedResult, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOnForOuter, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, raw, referencesArgsToCode, resolveSubQueryCallback, rollbackSql, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfJoinLateral, throwIfNoWhere, toSQL, toSQLCacheKey };
|
package/dist/index.js
CHANGED
|
@@ -1777,8 +1777,24 @@ const columnToSqlWithAs = (ctx, data, column, as, quotedAs, select) => {
|
|
|
1777
1777
|
const tableColumnToSqlWithAs = (ctx, data, column, table, key, as, quotedAs, select) => {
|
|
1778
1778
|
var _a, _b, _c;
|
|
1779
1779
|
if (key === "*") {
|
|
1780
|
-
|
|
1781
|
-
|
|
1780
|
+
const shape = (_a = data.joinedShapes) == null ? void 0 : _a[table];
|
|
1781
|
+
if (shape) {
|
|
1782
|
+
if (select) {
|
|
1783
|
+
let isSimple = true;
|
|
1784
|
+
const list = [];
|
|
1785
|
+
for (const key2 in shape) {
|
|
1786
|
+
const column2 = shape[key2];
|
|
1787
|
+
if (column2.data.explicitSelect || column2 instanceof VirtualColumn) {
|
|
1788
|
+
continue;
|
|
1789
|
+
}
|
|
1790
|
+
if (column2.data.name) {
|
|
1791
|
+
isSimple = false;
|
|
1792
|
+
}
|
|
1793
|
+
list.push(`'${key2}'`, `"${table}"."${column2.data.name || key2}"`);
|
|
1794
|
+
}
|
|
1795
|
+
return (isSimple ? `row_to_json("${table}".*)` : "json_build_object(" + list.join(", ") + ")") + ` "${as}"`;
|
|
1796
|
+
}
|
|
1797
|
+
return `"${table}".r "${as}"`;
|
|
1782
1798
|
}
|
|
1783
1799
|
return column;
|
|
1784
1800
|
}
|
|
@@ -1898,8 +1914,10 @@ class QueryError extends OrchidOrmInternalError {
|
|
|
1898
1914
|
const list = (_a = this.detail.match(/\((.*)\)=/)) == null ? void 0 : _a[1];
|
|
1899
1915
|
if (list) {
|
|
1900
1916
|
list.split(", ").forEach((item) => {
|
|
1917
|
+
var _a2;
|
|
1901
1918
|
const column = item.startsWith('"') ? item.slice(1, -1) : item;
|
|
1902
|
-
|
|
1919
|
+
const key = (_a2 = this.query.columnNameToKey(column)) != null ? _a2 : column;
|
|
1920
|
+
columns[key] = true;
|
|
1903
1921
|
});
|
|
1904
1922
|
}
|
|
1905
1923
|
}
|
|
@@ -1949,6 +1967,17 @@ const throwIfNoWhere = (q, method) => {
|
|
|
1949
1967
|
);
|
|
1950
1968
|
}
|
|
1951
1969
|
};
|
|
1970
|
+
const throwIfJoinLateral = (q, method) => {
|
|
1971
|
+
var _a;
|
|
1972
|
+
if ((_a = q.q.join) == null ? void 0 : _a.some(
|
|
1973
|
+
(x) => Array.isArray(x) || "s" in x.args && x.args.s
|
|
1974
|
+
)) {
|
|
1975
|
+
throw new OrchidOrmInternalError(
|
|
1976
|
+
q,
|
|
1977
|
+
`Cannot join a complex query in ${method}`
|
|
1978
|
+
);
|
|
1979
|
+
}
|
|
1980
|
+
};
|
|
1952
1981
|
const saveSearchAlias = (q, as, key) => {
|
|
1953
1982
|
const shapes = q.q[key];
|
|
1954
1983
|
if (shapes == null ? void 0 : shapes[as]) {
|
|
@@ -2652,16 +2681,16 @@ const _join = (query, require2, type, first, args) => {
|
|
|
2652
2681
|
if (require2 && isQueryNone(first)) {
|
|
2653
2682
|
return _queryNone(query);
|
|
2654
2683
|
}
|
|
2655
|
-
const
|
|
2656
|
-
joinSubQuery = getIsJoinSubQuery(
|
|
2657
|
-
joinKey =
|
|
2684
|
+
const q2 = first;
|
|
2685
|
+
joinSubQuery = getIsJoinSubQuery(q2);
|
|
2686
|
+
joinKey = q2.q.as || q2.table;
|
|
2658
2687
|
if (joinKey) {
|
|
2659
|
-
shape = getShapeFromSelect(
|
|
2660
|
-
parsers =
|
|
2661
|
-
batchParsers =
|
|
2662
|
-
computeds =
|
|
2688
|
+
shape = getShapeFromSelect(q2, joinSubQuery && !!q2.q.select);
|
|
2689
|
+
parsers = q2.q.parsers;
|
|
2690
|
+
batchParsers = q2.q.batchParsers;
|
|
2691
|
+
computeds = q2.q.computeds;
|
|
2663
2692
|
if (joinSubQuery) {
|
|
2664
|
-
first =
|
|
2693
|
+
first = q2.clone();
|
|
2665
2694
|
first.shape = shape;
|
|
2666
2695
|
}
|
|
2667
2696
|
}
|
|
@@ -2744,10 +2773,14 @@ const _join = (query, require2, type, first, args) => {
|
|
|
2744
2773
|
computeds
|
|
2745
2774
|
);
|
|
2746
2775
|
}
|
|
2747
|
-
|
|
2776
|
+
const q = pushQueryValue(query, "join", {
|
|
2748
2777
|
type,
|
|
2749
2778
|
args: joinArgs
|
|
2750
2779
|
});
|
|
2780
|
+
if (query.q.type === "delete") {
|
|
2781
|
+
throwIfJoinLateral(q, query.q.type);
|
|
2782
|
+
}
|
|
2783
|
+
return q;
|
|
2751
2784
|
};
|
|
2752
2785
|
const addAllShapesAndParsers = (query, joinKey, shape, parsers, batchParsers, computeds) => {
|
|
2753
2786
|
var _a, _b;
|
|
@@ -3551,7 +3584,9 @@ const applyComputedColumns = (q, fn) => {
|
|
|
3551
3584
|
if (item instanceof ComputedColumn) {
|
|
3552
3585
|
q.q.computeds = __spreadProps$5(__spreadValues$e({}, q.q.computeds), { [key]: item });
|
|
3553
3586
|
} else {
|
|
3554
|
-
(q.shape[key] = item.result.value || UnknownColumn.instance).data
|
|
3587
|
+
const data = (q.shape[key] = item.result.value || UnknownColumn.instance).data;
|
|
3588
|
+
data.computed = item;
|
|
3589
|
+
data.explicitSelect = true;
|
|
3555
3590
|
}
|
|
3556
3591
|
}
|
|
3557
3592
|
q.computeAtRuntime = q.computeBatchAtRuntime = void 0;
|
|
@@ -3966,6 +4001,16 @@ const then = async (q, adapter, trx, beforeHooks, afterHooks, afterCommitHooks,
|
|
|
3966
4001
|
error.cause = localError;
|
|
3967
4002
|
}
|
|
3968
4003
|
}
|
|
4004
|
+
const stack = localError.stack;
|
|
4005
|
+
if (stack) {
|
|
4006
|
+
const from = stack.indexOf("\n");
|
|
4007
|
+
if (from !== -1) {
|
|
4008
|
+
const to = stack.indexOf("\n", from + 1);
|
|
4009
|
+
if (to !== -1) {
|
|
4010
|
+
localError.stack = stack.slice(0, from) + stack.slice(to);
|
|
4011
|
+
}
|
|
4012
|
+
}
|
|
4013
|
+
}
|
|
3969
4014
|
if (log && sql) {
|
|
3970
4015
|
log.onError(error, sql, logData);
|
|
3971
4016
|
}
|
|
@@ -5777,7 +5822,7 @@ const processValue = (ctx, table, QueryClass, key, value, quotedAs) => {
|
|
|
5777
5822
|
};
|
|
5778
5823
|
|
|
5779
5824
|
const pushDeleteSql = (ctx, table, query, quotedAs) => {
|
|
5780
|
-
var _a, _b, _c
|
|
5825
|
+
var _a, _b, _c;
|
|
5781
5826
|
const from = `"${table.table}"`;
|
|
5782
5827
|
ctx.sql.push(`DELETE FROM ${from}`);
|
|
5783
5828
|
if (from !== quotedAs) {
|
|
@@ -5789,27 +5834,16 @@ const pushDeleteSql = (ctx, table, query, quotedAs) => {
|
|
|
5789
5834
|
const ons = [];
|
|
5790
5835
|
const joinSet = query.join.length > 1 ? /* @__PURE__ */ new Set() : null;
|
|
5791
5836
|
for (const item of query.join) {
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
`LATERAL (${getSqlText(q.toSQL(ctx))}) "${((_b = query.joinOverrides) == null ? void 0 : _b[as]) || as}"`
|
|
5799
|
-
);
|
|
5800
|
-
ctx.aliasValue = aliasValue;
|
|
5801
|
-
} else {
|
|
5802
|
-
const join = processJoinItem(ctx, table, query, item.args, quotedAs);
|
|
5803
|
-
const key = `${join.target}${join.on}`;
|
|
5804
|
-
if (joinSet) {
|
|
5805
|
-
if (joinSet.has(key))
|
|
5806
|
-
continue;
|
|
5807
|
-
joinSet.add(key);
|
|
5808
|
-
}
|
|
5809
|
-
targets.push(join.target);
|
|
5810
|
-
if (join.on)
|
|
5811
|
-
ons.push(join.on);
|
|
5837
|
+
const join = processJoinItem(ctx, table, query, item.args, quotedAs);
|
|
5838
|
+
const key = `${join.target}${join.on}`;
|
|
5839
|
+
if (joinSet) {
|
|
5840
|
+
if (joinSet.has(key))
|
|
5841
|
+
continue;
|
|
5842
|
+
joinSet.add(key);
|
|
5812
5843
|
}
|
|
5844
|
+
targets.push(join.target);
|
|
5845
|
+
if (join.on)
|
|
5846
|
+
ons.push(join.on);
|
|
5813
5847
|
}
|
|
5814
5848
|
if (targets.length) {
|
|
5815
5849
|
ctx.sql.push(`USING ${targets.join(", ")}`);
|
|
@@ -5818,7 +5852,7 @@ const pushDeleteSql = (ctx, table, query, quotedAs) => {
|
|
|
5818
5852
|
}
|
|
5819
5853
|
pushWhereStatementSql(ctx, table, query, quotedAs);
|
|
5820
5854
|
if (conditions) {
|
|
5821
|
-
if (((
|
|
5855
|
+
if (((_b = query.and) == null ? void 0 : _b.length) || ((_c = query.or) == null ? void 0 : _c.length) || query.scopes) {
|
|
5822
5856
|
ctx.sql.push("AND", conditions);
|
|
5823
5857
|
} else {
|
|
5824
5858
|
ctx.sql.push("WHERE", conditions);
|
|
@@ -8198,6 +8232,7 @@ const _queryDelete = (query) => {
|
|
|
8198
8232
|
q.returnType = "rowCount";
|
|
8199
8233
|
}
|
|
8200
8234
|
throwIfNoWhere(query, "delete");
|
|
8235
|
+
throwIfJoinLateral(query, "delete");
|
|
8201
8236
|
q.type = "delete";
|
|
8202
8237
|
return query;
|
|
8203
8238
|
};
|
|
@@ -12786,16 +12821,18 @@ class Db {
|
|
|
12786
12821
|
applyComputedColumns(this, options.computed);
|
|
12787
12822
|
if (prepareSelectAll) {
|
|
12788
12823
|
const list = [];
|
|
12824
|
+
const keys = {};
|
|
12789
12825
|
for (const key in shape) {
|
|
12790
12826
|
const column = shape[key];
|
|
12791
12827
|
if (!column.data.explicitSelect) {
|
|
12792
12828
|
list.push(
|
|
12793
12829
|
column.data.name ? `"${column.data.name}" AS "${key}"` : `"${key}"`
|
|
12794
12830
|
);
|
|
12831
|
+
keys[key] = column;
|
|
12795
12832
|
}
|
|
12796
12833
|
}
|
|
12797
12834
|
this.q.selectAllColumns = list;
|
|
12798
|
-
this.q.selectAllKeys =
|
|
12835
|
+
this.q.selectAllKeys = keys;
|
|
12799
12836
|
}
|
|
12800
12837
|
if (modifyQuery) {
|
|
12801
12838
|
for (const cb of modifyQuery) {
|
|
@@ -12888,6 +12925,23 @@ class Db {
|
|
|
12888
12925
|
queryArrays(...args) {
|
|
12889
12926
|
return performQuery(this, args, "arrays");
|
|
12890
12927
|
}
|
|
12928
|
+
/**
|
|
12929
|
+
* In snake case mode, or when columns have custom names,
|
|
12930
|
+
* use this method to exchange a db column name to its runtime key.
|
|
12931
|
+
*/
|
|
12932
|
+
columnNameToKey(name) {
|
|
12933
|
+
var _a;
|
|
12934
|
+
let map = this.internal.columnNameToKeyMap;
|
|
12935
|
+
if (!map) {
|
|
12936
|
+
this.internal.columnNameToKeyMap = map = /* @__PURE__ */ new Map();
|
|
12937
|
+
const { shape } = this;
|
|
12938
|
+
for (const key in this.shape) {
|
|
12939
|
+
const column = shape[key];
|
|
12940
|
+
map.set((_a = column.data.name) != null ? _a : key, key);
|
|
12941
|
+
}
|
|
12942
|
+
}
|
|
12943
|
+
return map.get(name);
|
|
12944
|
+
}
|
|
12891
12945
|
}
|
|
12892
12946
|
const performQuery = async (q, args, method) => {
|
|
12893
12947
|
var _a;
|
|
@@ -13394,6 +13448,7 @@ exports.sqlQueryArgsToExpression = sqlQueryArgsToExpression;
|
|
|
13394
13448
|
exports.tableDataMethods = tableDataMethods;
|
|
13395
13449
|
exports.templateLiteralToSQL = templateLiteralToSQL;
|
|
13396
13450
|
exports.testTransaction = testTransaction;
|
|
13451
|
+
exports.throwIfJoinLateral = throwIfJoinLateral;
|
|
13397
13452
|
exports.throwIfNoWhere = throwIfNoWhere;
|
|
13398
13453
|
exports.toSQL = toSQL;
|
|
13399
13454
|
exports.toSQLCacheKey = toSQLCacheKey;
|