pqb 0.18.27 → 0.18.29
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 +45 -8
- package/dist/index.js +24 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +24 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -5162,6 +5162,9 @@ type OrderArg<T extends Query, TsQuery extends PropertyKey = string | undefined
|
|
|
5162
5162
|
[K in Key]?: K extends TsQuery ? OrderTsQueryConfig : SortDir;
|
|
5163
5163
|
} | Expression;
|
|
5164
5164
|
type OrderArgs<T extends Query> = OrderArg<T>[] | TemplateLiteralArgs;
|
|
5165
|
+
type GroupArg<T extends Query> = {
|
|
5166
|
+
[K in keyof T['result']]: T['result'][K]['dataType'] extends 'array' | 'object' ? never : K;
|
|
5167
|
+
}[keyof T['result']] | Expression;
|
|
5165
5168
|
type FindArgs<T extends Query> = [T['shape'][T['singlePrimaryKey']]['queryType'] | Expression] | TemplateLiteralArgs;
|
|
5166
5169
|
type QueryHelper<T extends Query, Args extends unknown[], Result> = <Q extends {
|
|
5167
5170
|
[K in keyof T]: K extends 'then' ? QueryThen<unknown> : K extends 'result' ? ColumnsShapeBase : T[K];
|
|
@@ -5379,15 +5382,31 @@ declare class QueryMethods<ColumnTypes> {
|
|
|
5379
5382
|
*
|
|
5380
5383
|
* ```ts
|
|
5381
5384
|
* // Select the category and sum of prices grouped by the category
|
|
5382
|
-
* const results =
|
|
5385
|
+
* const results = db.product
|
|
5386
|
+
* .select('category')
|
|
5383
5387
|
* .selectSum('price', { as: 'sumPrice' })
|
|
5384
5388
|
* .group('category');
|
|
5385
5389
|
* ```
|
|
5386
5390
|
*
|
|
5391
|
+
* Also, it's possible to group by a selected value:
|
|
5392
|
+
*
|
|
5393
|
+
* ```ts
|
|
5394
|
+
* const results = db.product
|
|
5395
|
+
* .select({
|
|
5396
|
+
* month: db.product.sql`extract(month from "createdAt")`.type((t) =>
|
|
5397
|
+
* // month is returned as string, parse it to int
|
|
5398
|
+
* t.string().parse(parseInt),
|
|
5399
|
+
* ),
|
|
5400
|
+
* })
|
|
5401
|
+
* .selectSum('price', { as: 'sumPrice' })
|
|
5402
|
+
* // group by month extracted from "createdAt"
|
|
5403
|
+
* .group('month');
|
|
5404
|
+
* ```
|
|
5405
|
+
*
|
|
5387
5406
|
* @param columns - column names or a raw SQL
|
|
5388
5407
|
*/
|
|
5389
|
-
group<T extends Query>(this: T, ...columns:
|
|
5390
|
-
_group<T extends Query>(this: T, ...columns:
|
|
5408
|
+
group<T extends Query>(this: T, ...columns: GroupArg<T>[]): T;
|
|
5409
|
+
_group<T extends Query>(this: T, ...columns: GroupArg<T>[]): T;
|
|
5391
5410
|
/**
|
|
5392
5411
|
* Add a window with `window` and use it later by its name for aggregate or window functions:
|
|
5393
5412
|
*
|
|
@@ -5824,7 +5843,7 @@ declare const Operators: {
|
|
|
5824
5843
|
boolean: Bool;
|
|
5825
5844
|
number: Numeric;
|
|
5826
5845
|
date: Ord<Date | string>;
|
|
5827
|
-
time:
|
|
5846
|
+
time: Ord<string>;
|
|
5828
5847
|
text: Text;
|
|
5829
5848
|
json: Json;
|
|
5830
5849
|
array: Base<any>;
|
|
@@ -6376,7 +6395,7 @@ declare abstract class DateBaseColumn extends ColumnType<string, typeof Operator
|
|
|
6376
6395
|
gte: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Date | Query, BooleanColumn>;
|
|
6377
6396
|
between: Operator<[string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Date | Query, string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Date | Query], BooleanColumn>;
|
|
6378
6397
|
};
|
|
6379
|
-
encodeFn: (input: string | number | Date) => Date;
|
|
6398
|
+
encodeFn: (input: string | number | Date) => string | Date;
|
|
6380
6399
|
asNumber(): EncodeColumn<IntegerColumn, string | number | Date>;
|
|
6381
6400
|
asDate<T extends ColumnType>(this: T): ParseColumn<T, Date>;
|
|
6382
6401
|
}
|
|
@@ -6404,8 +6423,26 @@ declare class TimestampTZColumn<Precision extends number | undefined> extends Da
|
|
|
6404
6423
|
baseDataType: "timestamp";
|
|
6405
6424
|
toCode(t: string): Code;
|
|
6406
6425
|
}
|
|
6407
|
-
|
|
6426
|
+
interface TimeColumn extends ColumnType<string, typeof Operators.time>, DateTypeMethods {
|
|
6427
|
+
}
|
|
6428
|
+
declare class TimeColumn<Precision extends number | undefined = undefined> extends ColumnType<string, typeof Operators.time> {
|
|
6429
|
+
data: DateColumnData & {
|
|
6430
|
+
dateTimePrecision: Precision;
|
|
6431
|
+
};
|
|
6408
6432
|
dataType: "time";
|
|
6433
|
+
operators: {
|
|
6434
|
+
equals: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, BooleanColumn>;
|
|
6435
|
+
not: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, BooleanColumn>;
|
|
6436
|
+
in: Operator<string[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, BooleanColumn>;
|
|
6437
|
+
notIn: Operator<string[] | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, BooleanColumn>;
|
|
6438
|
+
} & {
|
|
6439
|
+
lt: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, BooleanColumn>;
|
|
6440
|
+
lte: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, BooleanColumn>;
|
|
6441
|
+
gt: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, BooleanColumn>;
|
|
6442
|
+
gte: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, BooleanColumn>;
|
|
6443
|
+
between: Operator<[string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query, string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Query], BooleanColumn>;
|
|
6444
|
+
};
|
|
6445
|
+
constructor(dateTimePrecision?: Precision);
|
|
6409
6446
|
toCode(t: string): Code;
|
|
6410
6447
|
}
|
|
6411
6448
|
type TimeInterval = {
|
|
@@ -6417,11 +6454,11 @@ type TimeInterval = {
|
|
|
6417
6454
|
seconds?: number;
|
|
6418
6455
|
};
|
|
6419
6456
|
declare class IntervalColumn<Fields extends string | undefined = undefined, Precision extends number | undefined = undefined> extends ColumnType<TimeInterval, typeof Operators.date> {
|
|
6420
|
-
dataType: "interval";
|
|
6421
6457
|
data: ColumnData & {
|
|
6422
6458
|
fields: Fields;
|
|
6423
6459
|
precision: Precision;
|
|
6424
6460
|
};
|
|
6461
|
+
dataType: "interval";
|
|
6425
6462
|
operators: {
|
|
6426
6463
|
equals: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Date | Query, BooleanColumn>;
|
|
6427
6464
|
not: Operator<string | orchid_core.Expression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, unknown, unknown, orchid_core.ColumnDataBase>> | Date | Query, BooleanColumn>;
|
|
@@ -7106,4 +7143,4 @@ declare module 'orchid-core' {
|
|
|
7106
7143
|
}
|
|
7107
7144
|
declare function addComputedColumns<T extends Query, Computed extends ComputedColumnsBase<T>>(q: T, computed: Computed): QueryWithComputed<T, Computed>;
|
|
7108
7145
|
|
|
7109
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, AsMethods, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanNullable, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnExpression, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsObject, ColumnsShape, CommonQueryData, ComputedColumnsBase, CopyMethods, CopyOptions, CopyQueryData, Create, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationDataOmittingFKeys, CreateRelationsData, CreateRelationsDataOmittingFKeys, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, DynamicRawSQL, EnumColumn, ExpressionOutput, FnExpression, FnExpressionArgs, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromResult, GetArg, GetQueryResult, GetStringArg, 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, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operator, Operators, OrCreateArg, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBeforeHook, QueryData, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RelationConfigBase, RelationConfigDataForCreate, RelationQuery, RelationQueryBase, RelationsBase, 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, TimeInterval, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereOnItem, WhereOnJoinItem, WhereQueryBase, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addComputedColumns, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addQueryOn, addWhere, addWhereIn, addWhereNot, anyShape, checkIfASimpleQuery, cloneQueryArrays, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, columnsByType, columnsShapeToCode, constraintPropsToCode, constraintToCode, countSelect, createDb, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnTypes, getConstraintKind, getQueryAs, getShapeFromSelect, getTableData, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeExpression, makeFnExpression, makeRegexToFindInSql, makeSQL, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteString, raw, referencesArgsToCode, resetTableData, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|
|
7146
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AddQuerySelect, AddQueryWith, AfterHook, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, AsMethods, BaseOperators, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanNullable, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnExpression, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnOperators, ColumnRefExpression, ColumnType, ColumnsObject, ColumnsShape, CommonQueryData, ComputedColumnsBase, CopyMethods, CopyOptions, CopyQueryData, Create, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationDataOmittingFKeys, CreateRelationsData, CreateRelationsDataOmittingFKeys, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, DynamicRawSQL, EnumColumn, ExpressionOutput, FnExpression, FnExpressionArgs, For, ForeignKey, ForeignKeyAction, ForeignKeyMatch, ForeignKeyOptions, From, FromArgs, FromResult, GetArg, GetQueryResult, 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, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operator, Operators, OrCreateArg, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBeforeHook, QueryData, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryHookSelect, QueryHooks, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll, QuerySourceItem, QueryTransform, QueryTransformFn, QueryUpsertOrCreate, QueryWithComputed, QueryWithTable, RawSQL, RawSqlMethods, RealColumn, RelationConfigBase, RelationConfigDataForCreate, RelationQuery, RelationQueryBase, RelationsBase, 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, TimeInterval, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdatedAtDataInjector, UpsertArg, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereOnItem, WhereOnJoinItem, WhereQueryBase, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addComputedColumns, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addQueryOn, addWhere, addWhereIn, addWhereNot, anyShape, checkIfASimpleQuery, cloneQueryArrays, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, columnsByType, columnsShapeToCode, constraintPropsToCode, constraintToCode, countSelect, createDb, extendQuery, foreignKeyArgumentToCode, getClonedQueryData, getColumnTypes, getConstraintKind, getQueryAs, getShapeFromSelect, getTableData, handleResult, identityToCode, indexToCode, instantiateColumn, isQueryReturnsAll, isSelectingCount, joinSubQuery, logColors, logParamToLogObject, makeExpression, makeFnExpression, makeRegexToFindInSql, makeSQL, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteString, raw, referencesArgsToCode, resetTableData, resolveSubQueryCallback, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|
package/dist/index.js
CHANGED
|
@@ -3194,7 +3194,7 @@ class CitextColumn extends TextBaseColumn {
|
|
|
3194
3194
|
}
|
|
3195
3195
|
|
|
3196
3196
|
const dateTimeEncode = (input) => {
|
|
3197
|
-
return typeof input === "
|
|
3197
|
+
return typeof input === "number" ? new Date(input) : input;
|
|
3198
3198
|
};
|
|
3199
3199
|
const skipDateMethodsFromToCode = { encodeFn: dateTimeEncode };
|
|
3200
3200
|
const parseToNumber = (value) => value ? Date.parse(value) : value;
|
|
@@ -3280,10 +3280,12 @@ class TimestampTZColumn extends DateTimeTzBaseClass {
|
|
|
3280
3280
|
return timestampToCode(this, t);
|
|
3281
3281
|
}
|
|
3282
3282
|
}
|
|
3283
|
-
class TimeColumn extends
|
|
3284
|
-
constructor() {
|
|
3285
|
-
super(
|
|
3283
|
+
class TimeColumn extends ColumnType {
|
|
3284
|
+
constructor(dateTimePrecision) {
|
|
3285
|
+
super();
|
|
3286
3286
|
this.dataType = "time";
|
|
3287
|
+
this.operators = Operators.time;
|
|
3288
|
+
this.data.dateTimePrecision = dateTimePrecision;
|
|
3287
3289
|
}
|
|
3288
3290
|
toCode(t) {
|
|
3289
3291
|
const { dateTimePrecision } = this.data;
|
|
@@ -3296,6 +3298,7 @@ class TimeColumn extends DateTimeBaseClass {
|
|
|
3296
3298
|
);
|
|
3297
3299
|
}
|
|
3298
3300
|
}
|
|
3301
|
+
orchidCore.assignMethodsToClass(TimeColumn, orchidCore.dateTypeMethods);
|
|
3299
3302
|
class IntervalColumn extends ColumnType {
|
|
3300
3303
|
constructor(fields, precision) {
|
|
3301
3304
|
super();
|
|
@@ -9590,11 +9593,27 @@ class QueryMethods {
|
|
|
9590
9593
|
*
|
|
9591
9594
|
* ```ts
|
|
9592
9595
|
* // Select the category and sum of prices grouped by the category
|
|
9593
|
-
* const results =
|
|
9596
|
+
* const results = db.product
|
|
9597
|
+
* .select('category')
|
|
9594
9598
|
* .selectSum('price', { as: 'sumPrice' })
|
|
9595
9599
|
* .group('category');
|
|
9596
9600
|
* ```
|
|
9597
9601
|
*
|
|
9602
|
+
* Also, it's possible to group by a selected value:
|
|
9603
|
+
*
|
|
9604
|
+
* ```ts
|
|
9605
|
+
* const results = db.product
|
|
9606
|
+
* .select({
|
|
9607
|
+
* month: db.product.sql`extract(month from "createdAt")`.type((t) =>
|
|
9608
|
+
* // month is returned as string, parse it to int
|
|
9609
|
+
* t.string().parse(parseInt),
|
|
9610
|
+
* ),
|
|
9611
|
+
* })
|
|
9612
|
+
* .selectSum('price', { as: 'sumPrice' })
|
|
9613
|
+
* // group by month extracted from "createdAt"
|
|
9614
|
+
* .group('month');
|
|
9615
|
+
* ```
|
|
9616
|
+
*
|
|
9598
9617
|
* @param columns - column names or a raw SQL
|
|
9599
9618
|
*/
|
|
9600
9619
|
group(...columns) {
|