@@ -37,11 +37,10 @@ import {
3737} from '../parser/insert-values-parser.js'
3838import { QueryBuilderWithReturning } from '../parser/returning-parser.js'
3939import {
40- parseReferenceExpressionOrList ,
4140 ReferenceExpression ,
41+ ReferenceExpressionOrList ,
4242} from '../parser/reference-parser.js'
4343import { ValueExpressionOrList } from '../parser/value-parser.js'
44- import { OrderByItemNode } from '../operation-node/order-by-item-node.js'
4544import { SelectQueryNode } from '../operation-node/select-query-node.js'
4645import { InsertQueryNode } from '../operation-node/insert-query-node.js'
4746import {
@@ -58,10 +57,8 @@ import {
5857import {
5958 OrderByDirectionExpression ,
6059 OrderByExpression ,
61- parseOrderByDirectionExpression ,
62- parseOrderByExpression ,
60+ parseOrderBy ,
6361} from '../parser/order-by-parser.js'
64- import { GroupByItemNode } from '../operation-node/group-by-item-node.js'
6562import { UpdateQueryNode } from '../operation-node/update-query-node.js'
6663import {
6764 MutationObject ,
@@ -83,6 +80,7 @@ import { freeze } from '../util/object-utils.js'
8380import { ParseContext } from '../parser/parse-context.js'
8481import { DeleteQueryNode } from '../operation-node/delete-query-node.js'
8582import { OnDuplicateKeyNode } from '../operation-node/on-duplicate-key-node.js'
83+ import { parseGroupBy } from '../parser/group-by-parser.js'
8684
8785/**
8886 * The main query builder class.
@@ -2062,10 +2060,7 @@ export class QueryBuilder<DB, TB extends keyof DB, O = {}>
20622060 ...this . #props,
20632061 queryNode : SelectQueryNode . cloneWithOrderByItem (
20642062 this . #props. queryNode ,
2065- OrderByItemNode . create (
2066- parseOrderByExpression ( this . #props. parseContext , orderBy ) ,
2067- parseOrderByDirectionExpression ( direction )
2068- )
2063+ parseOrderBy ( this . #props. parseContext , orderBy , direction )
20692064 ) ,
20702065 } )
20712066 }
@@ -2174,16 +2169,14 @@ export class QueryBuilder<DB, TB extends keyof DB, O = {}>
21742169
21752170 groupBy ( orderBy : ReferenceExpression < DB , TB > ) : QueryBuilder < DB , TB , O >
21762171
2177- groupBy ( orderBy : any ) : QueryBuilder < DB , TB , O > {
2172+ groupBy ( orderBy : ReferenceExpressionOrList < DB , TB > ) : any {
21782173 assertCanHaveGroupByClause ( this . #props. queryNode )
21792174
21802175 return new QueryBuilder ( {
21812176 ...this . #props,
21822177 queryNode : SelectQueryNode . cloneWithGroupByItems (
21832178 this . #props. queryNode ,
2184- parseReferenceExpressionOrList ( this . #props. parseContext , orderBy ) . map (
2185- GroupByItemNode . create
2186- )
2179+ parseGroupBy ( this . #props. parseContext , orderBy )
21872180 ) ,
21882181 } )
21892182 }
@@ -2516,7 +2509,7 @@ function assertCanHaveReturningClause(
25162509) : asserts node is MutatingQueryNode {
25172510 if ( ! QueryNode . isMutating ( node ) ) {
25182511 throw new Error (
2519- 'only an insert, delete and update queries can have a returning clause'
2512+ 'only insert, delete and update queries can have a returning clause'
25202513 )
25212514 }
25222515}
0 commit comments