@mrnafisia/type-query 1.0.42 → 1.0.43

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/entity.d.ts CHANGED
@@ -45,6 +45,10 @@ declare const createEntity: <T extends Table>(table: T) => {
45
45
  ignoreInWhere?: boolean;
46
46
  ignoreInReturning?: boolean;
47
47
  ignoreInJoin?: boolean;
48
+ ignoreInGroupBy?: boolean;
49
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> extends infer T_4 extends {
50
+ [key: string]: Table;
51
+ } ? { [t_3 in keyof T_4]: Context<(Record<MainAlias, T> & Record<JAlias, JTable>)[t_3]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
48
52
  orders?: {
49
53
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable>>;
50
54
  direction: OrderDirection;
@@ -52,20 +56,24 @@ declare const createEntity: <T extends Table>(table: T) => {
52
56
  start?: bigint;
53
57
  step?: number;
54
58
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias>, R_4>;
55
- readonly join: <JTable_1 extends Table, JAlias_1 extends string>(joinType: JoinType, joinTable: JTable_1, joinAlias: JAlias_1, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> extends infer T_4 extends {
59
+ readonly join: <JTable_1 extends Table, JAlias_1 extends string>(joinType: JoinType, joinTable: JTable_1, joinAlias: JAlias_1, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> extends infer T_5 extends {
56
60
  [key: string]: Table;
57
- } ? { [t_3 in keyof T_4]: Context<(Record<MainAlias, T> & Record<JAlias, JTable>)[t_3]["columns"]>; } : never) & Record<JAlias_1, Context<JTable_1["columns"]>>) => Expression<boolean>)) => {
58
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_5 extends {
61
+ } ? { [t_4 in keyof T_5]: Context<(Record<MainAlias, T> & Record<JAlias, JTable>)[t_4]["columns"]>; } : never) & Record<JAlias_1, Context<JTable_1["columns"]>>) => Expression<boolean>)) => {
62
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_6 extends {
59
63
  [key: string]: Table;
60
- } ? { [t_4 in keyof T_5]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_4]["columns"]>; } : never;
61
- readonly select: <R_5 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>>)[]>(returning: R_5 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_6 extends {
64
+ } ? { [t_5 in keyof T_6]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_5]["columns"]>; } : never;
65
+ readonly select: <R_5 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>>)[]>(returning: R_5 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_7 extends {
62
66
  [key: string]: Table;
63
- } ? { [t_5 in keyof T_6]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_5]["columns"]>; } : never) => R_5), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_7 extends {
67
+ } ? { [t_6 in keyof T_7]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_6]["columns"]>; } : never) => R_5), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_8 extends {
64
68
  [key: string]: Table;
65
- } ? { [t_6 in keyof T_7]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_6]["columns"]>; } : never) => Expression<boolean>), options?: {
69
+ } ? { [t_7 in keyof T_8]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_7]["columns"]>; } : never) => Expression<boolean>), options?: {
66
70
  ignoreInWhere?: boolean;
67
71
  ignoreInReturning?: boolean;
68
72
  ignoreInJoin?: boolean;
73
+ ignoreInGroupBy?: boolean;
74
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_9 extends {
75
+ [key: string]: Table;
76
+ } ? { [t_8 in keyof T_9]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_8]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
69
77
  orders?: {
70
78
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>>;
71
79
  direction: OrderDirection;
@@ -73,20 +81,24 @@ declare const createEntity: <T extends Table>(table: T) => {
73
81
  start?: bigint;
74
82
  step?: number;
75
83
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1>, R_5>;
76
- readonly join: <JTable_2 extends Table, JAlias_2 extends string>(joinType: JoinType, joinTable: JTable_2, joinAlias: JAlias_2, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_8 extends {
84
+ readonly join: <JTable_2 extends Table, JAlias_2 extends string>(joinType: JoinType, joinTable: JTable_2, joinAlias: JAlias_2, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_10 extends {
77
85
  [key: string]: Table;
78
- } ? { [t_7 in keyof T_8]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_7]["columns"]>; } : never) & Record<JAlias_2, Context<JTable_2["columns"]>>) => Expression<boolean>)) => {
79
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_9 extends {
86
+ } ? { [t_9 in keyof T_10]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_9]["columns"]>; } : never) & Record<JAlias_2, Context<JTable_2["columns"]>>) => Expression<boolean>)) => {
87
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_11 extends {
80
88
  [key: string]: Table;
81
- } ? { [t_8 in keyof T_9]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_8]["columns"]>; } : never;
82
- readonly select: <R_6 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>>)[]>(returning: R_6 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_10 extends {
89
+ } ? { [t_10 in keyof T_11]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_10]["columns"]>; } : never;
90
+ readonly select: <R_6 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>>)[]>(returning: R_6 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_12 extends {
83
91
  [key: string]: Table;
84
- } ? { [t_9 in keyof T_10]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_9]["columns"]>; } : never) => R_6), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_11 extends {
92
+ } ? { [t_11 in keyof T_12]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_11]["columns"]>; } : never) => R_6), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_13 extends {
85
93
  [key: string]: Table;
86
- } ? { [t_10 in keyof T_11]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_10]["columns"]>; } : never) => Expression<boolean>), options?: {
94
+ } ? { [t_12 in keyof T_13]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_12]["columns"]>; } : never) => Expression<boolean>), options?: {
87
95
  ignoreInWhere?: boolean;
88
96
  ignoreInReturning?: boolean;
89
97
  ignoreInJoin?: boolean;
98
+ ignoreInGroupBy?: boolean;
99
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_14 extends {
100
+ [key: string]: Table;
101
+ } ? { [t_13 in keyof T_14]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_13]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
90
102
  orders?: {
91
103
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>>;
92
104
  direction: OrderDirection;
@@ -94,20 +106,24 @@ declare const createEntity: <T extends Table>(table: T) => {
94
106
  start?: bigint;
95
107
  step?: number;
96
108
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2>, R_6>;
97
- readonly join: <JTable_3 extends Table, JAlias_3 extends string>(joinType: JoinType, joinTable: JTable_3, joinAlias: JAlias_3, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_12 extends {
109
+ readonly join: <JTable_3 extends Table, JAlias_3 extends string>(joinType: JoinType, joinTable: JTable_3, joinAlias: JAlias_3, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_15 extends {
98
110
  [key: string]: Table;
99
- } ? { [t_11 in keyof T_12]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_11]["columns"]>; } : never) & Record<JAlias_3, Context<JTable_3["columns"]>>) => Expression<boolean>)) => {
100
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_13 extends {
111
+ } ? { [t_14 in keyof T_15]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_14]["columns"]>; } : never) & Record<JAlias_3, Context<JTable_3["columns"]>>) => Expression<boolean>)) => {
112
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_16 extends {
101
113
  [key: string]: Table;
102
- } ? { [t_12 in keyof T_13]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_12]["columns"]>; } : never;
103
- readonly select: <R_7 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>>)[]>(returning: R_7 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_14 extends {
114
+ } ? { [t_15 in keyof T_16]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_15]["columns"]>; } : never;
115
+ readonly select: <R_7 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>>)[]>(returning: R_7 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_17 extends {
104
116
  [key: string]: Table;
105
- } ? { [t_13 in keyof T_14]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_13]["columns"]>; } : never) => R_7), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_15 extends {
117
+ } ? { [t_16 in keyof T_17]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_16]["columns"]>; } : never) => R_7), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_18 extends {
106
118
  [key: string]: Table;
107
- } ? { [t_14 in keyof T_15]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_14]["columns"]>; } : never) => Expression<boolean>), options?: {
119
+ } ? { [t_17 in keyof T_18]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_17]["columns"]>; } : never) => Expression<boolean>), options?: {
108
120
  ignoreInWhere?: boolean;
109
121
  ignoreInReturning?: boolean;
110
122
  ignoreInJoin?: boolean;
123
+ ignoreInGroupBy?: boolean;
124
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_19 extends {
125
+ [key: string]: Table;
126
+ } ? { [t_18 in keyof T_19]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_18]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
111
127
  orders?: {
112
128
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>>;
113
129
  direction: OrderDirection;
@@ -115,20 +131,24 @@ declare const createEntity: <T extends Table>(table: T) => {
115
131
  start?: bigint;
116
132
  step?: number;
117
133
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3>, R_7>;
118
- readonly join: <JTable_4 extends Table, JAlias_4 extends string>(joinType: JoinType, joinTable: JTable_4, joinAlias: JAlias_4, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_16 extends {
134
+ readonly join: <JTable_4 extends Table, JAlias_4 extends string>(joinType: JoinType, joinTable: JTable_4, joinAlias: JAlias_4, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_20 extends {
119
135
  [key: string]: Table;
120
- } ? { [t_15 in keyof T_16]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_15]["columns"]>; } : never) & Record<JAlias_4, Context<JTable_4["columns"]>>) => Expression<boolean>)) => {
121
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_17 extends {
136
+ } ? { [t_19 in keyof T_20]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_19]["columns"]>; } : never) & Record<JAlias_4, Context<JTable_4["columns"]>>) => Expression<boolean>)) => {
137
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_21 extends {
122
138
  [key: string]: Table;
123
- } ? { [t_16 in keyof T_17]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_16]["columns"]>; } : never;
124
- readonly select: <R_8 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>>)[]>(returning: R_8 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_18 extends {
139
+ } ? { [t_20 in keyof T_21]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_20]["columns"]>; } : never;
140
+ readonly select: <R_8 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>>)[]>(returning: R_8 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_22 extends {
125
141
  [key: string]: Table;
126
- } ? { [t_17 in keyof T_18]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_17]["columns"]>; } : never) => R_8), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_19 extends {
142
+ } ? { [t_21 in keyof T_22]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_21]["columns"]>; } : never) => R_8), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_23 extends {
127
143
  [key: string]: Table;
128
- } ? { [t_18 in keyof T_19]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_18]["columns"]>; } : never) => Expression<boolean>), options?: {
144
+ } ? { [t_22 in keyof T_23]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_22]["columns"]>; } : never) => Expression<boolean>), options?: {
129
145
  ignoreInWhere?: boolean;
130
146
  ignoreInReturning?: boolean;
131
147
  ignoreInJoin?: boolean;
148
+ ignoreInGroupBy?: boolean;
149
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_24 extends {
150
+ [key: string]: Table;
151
+ } ? { [t_23 in keyof T_24]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_23]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
132
152
  orders?: {
133
153
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>>;
134
154
  direction: OrderDirection;
@@ -136,20 +156,24 @@ declare const createEntity: <T extends Table>(table: T) => {
136
156
  start?: bigint;
137
157
  step?: number;
138
158
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4>, R_8>;
139
- readonly join: <JTable_5 extends Table, JAlias_5 extends string>(joinType: JoinType, joinTable: JTable_5, joinAlias: JAlias_5, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_20 extends {
159
+ readonly join: <JTable_5 extends Table, JAlias_5 extends string>(joinType: JoinType, joinTable: JTable_5, joinAlias: JAlias_5, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_25 extends {
140
160
  [key: string]: Table;
141
- } ? { [t_19 in keyof T_20]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_19]["columns"]>; } : never) & Record<JAlias_5, Context<JTable_5["columns"]>>) => Expression<boolean>)) => {
142
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_21 extends {
161
+ } ? { [t_24 in keyof T_25]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_24]["columns"]>; } : never) & Record<JAlias_5, Context<JTable_5["columns"]>>) => Expression<boolean>)) => {
162
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_26 extends {
143
163
  [key: string]: Table;
144
- } ? { [t_20 in keyof T_21]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_20]["columns"]>; } : never;
145
- readonly select: <R_9 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>>)[]>(returning: R_9 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_22 extends {
164
+ } ? { [t_25 in keyof T_26]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_25]["columns"]>; } : never;
165
+ readonly select: <R_9 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>>)[]>(returning: R_9 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_27 extends {
146
166
  [key: string]: Table;
147
- } ? { [t_21 in keyof T_22]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_21]["columns"]>; } : never) => R_9), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_23 extends {
167
+ } ? { [t_26 in keyof T_27]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_26]["columns"]>; } : never) => R_9), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_28 extends {
148
168
  [key: string]: Table;
149
- } ? { [t_22 in keyof T_23]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_22]["columns"]>; } : never) => Expression<boolean>), options?: {
169
+ } ? { [t_27 in keyof T_28]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_27]["columns"]>; } : never) => Expression<boolean>), options?: {
150
170
  ignoreInWhere?: boolean;
151
171
  ignoreInReturning?: boolean;
152
172
  ignoreInJoin?: boolean;
173
+ ignoreInGroupBy?: boolean;
174
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_29 extends {
175
+ [key: string]: Table;
176
+ } ? { [t_28 in keyof T_29]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_28]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
153
177
  orders?: {
154
178
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>>;
155
179
  direction: OrderDirection;
@@ -157,20 +181,24 @@ declare const createEntity: <T extends Table>(table: T) => {
157
181
  start?: bigint;
158
182
  step?: number;
159
183
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5>, R_9>;
160
- readonly join: <JTable_6 extends Table, JAlias_6 extends string>(joinType: JoinType, joinTable: JTable_6, joinAlias: JAlias_6, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_24 extends {
184
+ readonly join: <JTable_6 extends Table, JAlias_6 extends string>(joinType: JoinType, joinTable: JTable_6, joinAlias: JAlias_6, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_30 extends {
161
185
  [key: string]: Table;
162
- } ? { [t_23 in keyof T_24]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_23]["columns"]>; } : never) & Record<JAlias_6, Context<JTable_6["columns"]>>) => Expression<boolean>)) => {
163
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_25 extends {
186
+ } ? { [t_29 in keyof T_30]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_29]["columns"]>; } : never) & Record<JAlias_6, Context<JTable_6["columns"]>>) => Expression<boolean>)) => {
187
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_31 extends {
164
188
  [key: string]: Table;
165
- } ? { [t_24 in keyof T_25]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_24]["columns"]>; } : never;
166
- readonly select: <R_10 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>>)[]>(returning: R_10 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_26 extends {
189
+ } ? { [t_30 in keyof T_31]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_30]["columns"]>; } : never;
190
+ readonly select: <R_10 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>>)[]>(returning: R_10 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_32 extends {
167
191
  [key: string]: Table;
168
- } ? { [t_25 in keyof T_26]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_25]["columns"]>; } : never) => R_10), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_27 extends {
192
+ } ? { [t_31 in keyof T_32]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_31]["columns"]>; } : never) => R_10), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_33 extends {
169
193
  [key: string]: Table;
170
- } ? { [t_26 in keyof T_27]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_26]["columns"]>; } : never) => Expression<boolean>), options?: {
194
+ } ? { [t_32 in keyof T_33]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_32]["columns"]>; } : never) => Expression<boolean>), options?: {
171
195
  ignoreInWhere?: boolean;
172
196
  ignoreInReturning?: boolean;
173
197
  ignoreInJoin?: boolean;
198
+ ignoreInGroupBy?: boolean;
199
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_34 extends {
200
+ [key: string]: Table;
201
+ } ? { [t_33 in keyof T_34]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_33]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
174
202
  orders?: {
175
203
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>>;
176
204
  direction: OrderDirection;
@@ -178,20 +206,24 @@ declare const createEntity: <T extends Table>(table: T) => {
178
206
  start?: bigint;
179
207
  step?: number;
180
208
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6>, R_10>;
181
- readonly join: <JTable_7 extends Table, JAlias_7 extends string>(joinType: JoinType, joinTable: JTable_7, joinAlias: JAlias_7, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_28 extends {
209
+ readonly join: <JTable_7 extends Table, JAlias_7 extends string>(joinType: JoinType, joinTable: JTable_7, joinAlias: JAlias_7, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_35 extends {
182
210
  [key: string]: Table;
183
- } ? { [t_27 in keyof T_28]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_27]["columns"]>; } : never) & Record<JAlias_7, Context<JTable_7["columns"]>>) => Expression<boolean>)) => {
184
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_29 extends {
211
+ } ? { [t_34 in keyof T_35]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_34]["columns"]>; } : never) & Record<JAlias_7, Context<JTable_7["columns"]>>) => Expression<boolean>)) => {
212
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_36 extends {
185
213
  [key: string]: Table;
186
- } ? { [t_28 in keyof T_29]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_28]["columns"]>; } : never;
187
- readonly select: <R_11 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>>)[]>(returning: R_11 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_30 extends {
214
+ } ? { [t_35 in keyof T_36]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_35]["columns"]>; } : never;
215
+ readonly select: <R_11 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>>)[]>(returning: R_11 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_37 extends {
188
216
  [key: string]: Table;
189
- } ? { [t_29 in keyof T_30]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_29]["columns"]>; } : never) => R_11), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_31 extends {
217
+ } ? { [t_36 in keyof T_37]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_36]["columns"]>; } : never) => R_11), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_38 extends {
190
218
  [key: string]: Table;
191
- } ? { [t_30 in keyof T_31]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_30]["columns"]>; } : never) => Expression<boolean>), options?: {
219
+ } ? { [t_37 in keyof T_38]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_37]["columns"]>; } : never) => Expression<boolean>), options?: {
192
220
  ignoreInWhere?: boolean;
193
221
  ignoreInReturning?: boolean;
194
222
  ignoreInJoin?: boolean;
223
+ ignoreInGroupBy?: boolean;
224
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_39 extends {
225
+ [key: string]: Table;
226
+ } ? { [t_38 in keyof T_39]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_38]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
195
227
  orders?: {
196
228
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>>;
197
229
  direction: OrderDirection;
@@ -199,20 +231,24 @@ declare const createEntity: <T extends Table>(table: T) => {
199
231
  start?: bigint;
200
232
  step?: number;
201
233
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6> & AliasedColumns<JTable_7["columns"], JAlias_7>, R_11>;
202
- readonly join: <JTable_8 extends Table, JAlias_8 extends string>(joinType: JoinType, joinTable: JTable_8, joinAlias: JAlias_8, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_32 extends {
234
+ readonly join: <JTable_8 extends Table, JAlias_8 extends string>(joinType: JoinType, joinTable: JTable_8, joinAlias: JAlias_8, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_40 extends {
203
235
  [key: string]: Table;
204
- } ? { [t_31 in keyof T_32]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_31]["columns"]>; } : never) & Record<JAlias_8, Context<JTable_8["columns"]>>) => Expression<boolean>)) => {
205
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_33 extends {
236
+ } ? { [t_39 in keyof T_40]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_39]["columns"]>; } : never) & Record<JAlias_8, Context<JTable_8["columns"]>>) => Expression<boolean>)) => {
237
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_41 extends {
206
238
  [key: string]: Table;
207
- } ? { [t_32 in keyof T_33]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_32]["columns"]>; } : never;
208
- readonly select: <R_12 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>>)[]>(returning: R_12 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_34 extends {
239
+ } ? { [t_40 in keyof T_41]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_40]["columns"]>; } : never;
240
+ readonly select: <R_12 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>>)[]>(returning: R_12 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_42 extends {
209
241
  [key: string]: Table;
210
- } ? { [t_33 in keyof T_34]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_33]["columns"]>; } : never) => R_12), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_35 extends {
242
+ } ? { [t_41 in keyof T_42]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_41]["columns"]>; } : never) => R_12), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_43 extends {
211
243
  [key: string]: Table;
212
- } ? { [t_34 in keyof T_35]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_34]["columns"]>; } : never) => Expression<boolean>), options?: {
244
+ } ? { [t_42 in keyof T_43]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_42]["columns"]>; } : never) => Expression<boolean>), options?: {
213
245
  ignoreInWhere?: boolean;
214
246
  ignoreInReturning?: boolean;
215
247
  ignoreInJoin?: boolean;
248
+ ignoreInGroupBy?: boolean;
249
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_44 extends {
250
+ [key: string]: Table;
251
+ } ? { [t_43 in keyof T_44]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_43]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
216
252
  orders?: {
217
253
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>>;
218
254
  direction: OrderDirection;
@@ -220,20 +256,24 @@ declare const createEntity: <T extends Table>(table: T) => {
220
256
  start?: bigint;
221
257
  step?: number;
222
258
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6> & AliasedColumns<JTable_7["columns"], JAlias_7> & AliasedColumns<JTable_8["columns"], JAlias_8>, R_12>;
223
- readonly join: <JTable_9 extends Table, JAlias_9 extends string>(joinType: JoinType, joinTable: JTable_9, joinAlias: JAlias_9, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_36 extends {
259
+ readonly join: <JTable_9 extends Table, JAlias_9 extends string>(joinType: JoinType, joinTable: JTable_9, joinAlias: JAlias_9, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_45 extends {
224
260
  [key: string]: Table;
225
- } ? { [t_35 in keyof T_36]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_35]["columns"]>; } : never) & Record<JAlias_9, Context<JTable_9["columns"]>>) => Expression<boolean>)) => {
226
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_37 extends {
261
+ } ? { [t_44 in keyof T_45]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_44]["columns"]>; } : never) & Record<JAlias_9, Context<JTable_9["columns"]>>) => Expression<boolean>)) => {
262
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_46 extends {
227
263
  [key: string]: Table;
228
- } ? { [t_36 in keyof T_37]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_36]["columns"]>; } : never;
229
- readonly select: <R_13 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>>)[]>(returning: R_13 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_38 extends {
264
+ } ? { [t_45 in keyof T_46]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_45]["columns"]>; } : never;
265
+ readonly select: <R_13 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>>)[]>(returning: R_13 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_47 extends {
230
266
  [key: string]: Table;
231
- } ? { [t_37 in keyof T_38]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_37]["columns"]>; } : never) => R_13), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_39 extends {
267
+ } ? { [t_46 in keyof T_47]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_46]["columns"]>; } : never) => R_13), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_48 extends {
232
268
  [key: string]: Table;
233
- } ? { [t_38 in keyof T_39]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_38]["columns"]>; } : never) => Expression<boolean>), options?: {
269
+ } ? { [t_47 in keyof T_48]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_47]["columns"]>; } : never) => Expression<boolean>), options?: {
234
270
  ignoreInWhere?: boolean;
235
271
  ignoreInReturning?: boolean;
236
272
  ignoreInJoin?: boolean;
273
+ ignoreInGroupBy?: boolean;
274
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_49 extends {
275
+ [key: string]: Table;
276
+ } ? { [t_48 in keyof T_49]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_48]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
237
277
  orders?: {
238
278
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>>;
239
279
  direction: OrderDirection;
@@ -241,20 +281,24 @@ declare const createEntity: <T extends Table>(table: T) => {
241
281
  start?: bigint;
242
282
  step?: number;
243
283
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6> & AliasedColumns<JTable_7["columns"], JAlias_7> & AliasedColumns<JTable_8["columns"], JAlias_8> & AliasedColumns<JTable_9["columns"], JAlias_9>, R_13>;
244
- readonly join: <JTable_10 extends Table, JAlias_10 extends string>(joinType: JoinType, joinTable: JTable_10, joinAlias: JAlias_10, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_40 extends {
284
+ readonly join: <JTable_10 extends Table, JAlias_10 extends string>(joinType: JoinType, joinTable: JTable_10, joinAlias: JAlias_10, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_50 extends {
245
285
  [key: string]: Table;
246
- } ? { [t_39 in keyof T_40]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_39]["columns"]>; } : never) & Record<JAlias_10, Context<JTable_10["columns"]>>) => Expression<boolean>)) => {
247
- readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_41 extends {
286
+ } ? { [t_49 in keyof T_50]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_49]["columns"]>; } : never) & Record<JAlias_10, Context<JTable_10["columns"]>>) => Expression<boolean>)) => {
287
+ readonly contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_51 extends {
248
288
  [key: string]: Table;
249
- } ? { [t_40 in keyof T_41]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_40]["columns"]>; } : never;
250
- readonly select: <R_14 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>>)[]>(returning: R_14 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_42 extends {
289
+ } ? { [t_50 in keyof T_51]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_50]["columns"]>; } : never;
290
+ readonly select: <R_14 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>>)[]>(returning: R_14 | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_52 extends {
251
291
  [key: string]: Table;
252
- } ? { [t_41 in keyof T_42]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_41]["columns"]>; } : never) => R_14), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_43 extends {
292
+ } ? { [t_51 in keyof T_52]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_51]["columns"]>; } : never) => R_14), where: Expression<boolean> | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_53 extends {
253
293
  [key: string]: Table;
254
- } ? { [t_42 in keyof T_43]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_42]["columns"]>; } : never) => Expression<boolean>), options?: {
294
+ } ? { [t_52 in keyof T_53]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_52]["columns"]>; } : never) => Expression<boolean>), options?: {
255
295
  ignoreInWhere?: boolean;
256
296
  ignoreInReturning?: boolean;
257
297
  ignoreInJoin?: boolean;
298
+ ignoreInGroupBy?: boolean;
299
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_54 extends {
300
+ [key: string]: Table;
301
+ } ? { [t_53 in keyof T_54]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_53]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
258
302
  orders?: {
259
303
  by: TablesColumnsKeys<Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>>;
260
304
  direction: OrderDirection;
@@ -262,9 +306,9 @@ declare const createEntity: <T extends Table>(table: T) => {
262
306
  start?: bigint;
263
307
  step?: number;
264
308
  } | undefined) => Query<AliasedColumns<T["columns"], MainAlias> & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6> & AliasedColumns<JTable_7["columns"], JAlias_7> & AliasedColumns<JTable_8["columns"], JAlias_8> & AliasedColumns<JTable_9["columns"], JAlias_9> & AliasedColumns<JTable_10["columns"], JAlias_10>, R_14>;
265
- readonly join: <JTable_11 extends Table, JAlias_11 extends string>(joinType: JoinType, joinTable: JTable_11, joinAlias: JAlias_11, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_44 extends {
309
+ readonly join: <JTable_11 extends Table, JAlias_11 extends string>(joinType: JoinType, joinTable: JTable_11, joinAlias: JAlias_11, on: Expression<boolean> | ((contexts: (Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10> extends infer T_55 extends {
266
310
  [key: string]: Table;
267
- } ? { [t_43 in keyof T_44]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_43]["columns"]>; } : never) & Record<JAlias_11, Context<JTable_11["columns"]>>) => Expression<boolean>)) => any;
311
+ } ? { [t_54 in keyof T_55]: Context<(Record<MainAlias, T> & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> & Record<JAlias_10, JTable_10>)[t_54]["columns"]>; } : never) & Record<JAlias_11, Context<JTable_11["columns"]>>) => Expression<boolean>)) => any;
268
312
  };
269
313
  };
270
314
  };
@@ -1267,6 +1311,8 @@ declare const createJoinSelectEntity: <TablesData extends {
1267
1311
  ignoreInWhere?: boolean;
1268
1312
  ignoreInReturning?: boolean;
1269
1313
  ignoreInJoin?: boolean;
1314
+ ignoreInGroupBy?: boolean;
1315
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: { [t_3 in keyof TablesData]: Context<TablesData[t_3]["columns"]>; }) => Expression<ExpressionTypes>[]);
1270
1316
  orders?: {
1271
1317
  by: TablesColumnsKeys<TablesData>;
1272
1318
  direction: OrderDirection;
@@ -1274,18 +1320,22 @@ declare const createJoinSelectEntity: <TablesData extends {
1274
1320
  start?: bigint;
1275
1321
  step?: number;
1276
1322
  } | undefined) => Query<AllColumns, R>;
1277
- readonly join: <JTable extends Table, JAlias extends string>(joinType: JoinType, joinTable: JTable, joinAlias: JAlias, on: Expression<boolean> | ((contexts: { [t_3 in keyof TablesData]: Context<TablesData[t_3]["columns"]>; } & Record<JAlias, Context<JTable["columns"]>>) => Expression<boolean>)) => {
1323
+ readonly join: <JTable extends Table, JAlias extends string>(joinType: JoinType, joinTable: JTable, joinAlias: JAlias, on: Expression<boolean> | ((contexts: { [t_4 in keyof TablesData]: Context<TablesData[t_4]["columns"]>; } & Record<JAlias, Context<JTable["columns"]>>) => Expression<boolean>)) => {
1278
1324
  readonly contexts: TablesData & Record<JAlias, JTable> extends infer T extends {
1279
1325
  [key: string]: Table;
1280
- } ? { [t_4 in keyof T]: Context<(TablesData & Record<JAlias, JTable>)[t_4]["columns"]>; } : never;
1326
+ } ? { [t_5 in keyof T]: Context<(TablesData & Record<JAlias, JTable>)[t_5]["columns"]>; } : never;
1281
1327
  readonly select: <R_1 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable>>)[]>(returning: R_1 | ((contexts: TablesData & Record<JAlias, JTable> extends infer T_1 extends {
1282
1328
  [key: string]: Table;
1283
- } ? { [t_5 in keyof T_1]: Context<(TablesData & Record<JAlias, JTable>)[t_5]["columns"]>; } : never) => R_1), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> extends infer T_2 extends {
1329
+ } ? { [t_6 in keyof T_1]: Context<(TablesData & Record<JAlias, JTable>)[t_6]["columns"]>; } : never) => R_1), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> extends infer T_2 extends {
1284
1330
  [key: string]: Table;
1285
- } ? { [t_6 in keyof T_2]: Context<(TablesData & Record<JAlias, JTable>)[t_6]["columns"]>; } : never) => Expression<boolean>), options?: {
1331
+ } ? { [t_7 in keyof T_2]: Context<(TablesData & Record<JAlias, JTable>)[t_7]["columns"]>; } : never) => Expression<boolean>), options?: {
1286
1332
  ignoreInWhere?: boolean;
1287
1333
  ignoreInReturning?: boolean;
1288
1334
  ignoreInJoin?: boolean;
1335
+ ignoreInGroupBy?: boolean;
1336
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> extends infer T_3 extends {
1337
+ [key: string]: Table;
1338
+ } ? { [t_8 in keyof T_3]: Context<(TablesData & Record<JAlias, JTable>)[t_8]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1289
1339
  orders?: {
1290
1340
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable>>;
1291
1341
  direction: OrderDirection;
@@ -1293,20 +1343,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1293
1343
  start?: bigint;
1294
1344
  step?: number;
1295
1345
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias>, R_1>;
1296
- readonly join: <JTable_1 extends Table, JAlias_1 extends string>(joinType: JoinType, joinTable: JTable_1, joinAlias: JAlias_1, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> extends infer T_3 extends {
1346
+ readonly join: <JTable_1 extends Table, JAlias_1 extends string>(joinType: JoinType, joinTable: JTable_1, joinAlias: JAlias_1, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> extends infer T_4 extends {
1297
1347
  [key: string]: Table;
1298
- } ? { [t_7 in keyof T_3]: Context<(TablesData & Record<JAlias, JTable>)[t_7]["columns"]>; } : never) & Record<JAlias_1, Context<JTable_1["columns"]>>) => Expression<boolean>)) => {
1299
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_4 extends {
1348
+ } ? { [t_9 in keyof T_4]: Context<(TablesData & Record<JAlias, JTable>)[t_9]["columns"]>; } : never) & Record<JAlias_1, Context<JTable_1["columns"]>>) => Expression<boolean>)) => {
1349
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_5 extends {
1300
1350
  [key: string]: Table;
1301
- } ? { [t_8 in keyof T_4]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_8]["columns"]>; } : never;
1302
- readonly select: <R_2 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>>)[]>(returning: R_2 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_5 extends {
1351
+ } ? { [t_10 in keyof T_5]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_10]["columns"]>; } : never;
1352
+ readonly select: <R_2 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>>)[]>(returning: R_2 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_6 extends {
1303
1353
  [key: string]: Table;
1304
- } ? { [t_9 in keyof T_5]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_9]["columns"]>; } : never) => R_2), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_6 extends {
1354
+ } ? { [t_11 in keyof T_6]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_11]["columns"]>; } : never) => R_2), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_7 extends {
1305
1355
  [key: string]: Table;
1306
- } ? { [t_10 in keyof T_6]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_10]["columns"]>; } : never) => Expression<boolean>), options?: {
1356
+ } ? { [t_12 in keyof T_7]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_12]["columns"]>; } : never) => Expression<boolean>), options?: {
1307
1357
  ignoreInWhere?: boolean;
1308
1358
  ignoreInReturning?: boolean;
1309
1359
  ignoreInJoin?: boolean;
1360
+ ignoreInGroupBy?: boolean;
1361
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_8 extends {
1362
+ [key: string]: Table;
1363
+ } ? { [t_13 in keyof T_8]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_13]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1310
1364
  orders?: {
1311
1365
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>>;
1312
1366
  direction: OrderDirection;
@@ -1314,20 +1368,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1314
1368
  start?: bigint;
1315
1369
  step?: number;
1316
1370
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1>, R_2>;
1317
- readonly join: <JTable_2 extends Table, JAlias_2 extends string>(joinType: JoinType, joinTable: JTable_2, joinAlias: JAlias_2, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_7 extends {
1371
+ readonly join: <JTable_2 extends Table, JAlias_2 extends string>(joinType: JoinType, joinTable: JTable_2, joinAlias: JAlias_2, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> extends infer T_9 extends {
1318
1372
  [key: string]: Table;
1319
- } ? { [t_11 in keyof T_7]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_11]["columns"]>; } : never) & Record<JAlias_2, Context<JTable_2["columns"]>>) => Expression<boolean>)) => {
1320
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_8 extends {
1373
+ } ? { [t_14 in keyof T_9]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1>)[t_14]["columns"]>; } : never) & Record<JAlias_2, Context<JTable_2["columns"]>>) => Expression<boolean>)) => {
1374
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_10 extends {
1321
1375
  [key: string]: Table;
1322
- } ? { [t_12 in keyof T_8]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_12]["columns"]>; } : never;
1323
- readonly select: <R_3 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>>)[]>(returning: R_3 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_9 extends {
1376
+ } ? { [t_15 in keyof T_10]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_15]["columns"]>; } : never;
1377
+ readonly select: <R_3 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>>)[]>(returning: R_3 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_11 extends {
1324
1378
  [key: string]: Table;
1325
- } ? { [t_13 in keyof T_9]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_13]["columns"]>; } : never) => R_3), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_10 extends {
1379
+ } ? { [t_16 in keyof T_11]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_16]["columns"]>; } : never) => R_3), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_12 extends {
1326
1380
  [key: string]: Table;
1327
- } ? { [t_14 in keyof T_10]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_14]["columns"]>; } : never) => Expression<boolean>), options?: {
1381
+ } ? { [t_17 in keyof T_12]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_17]["columns"]>; } : never) => Expression<boolean>), options?: {
1328
1382
  ignoreInWhere?: boolean;
1329
1383
  ignoreInReturning?: boolean;
1330
1384
  ignoreInJoin?: boolean;
1385
+ ignoreInGroupBy?: boolean;
1386
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_13 extends {
1387
+ [key: string]: Table;
1388
+ } ? { [t_18 in keyof T_13]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_18]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1331
1389
  orders?: {
1332
1390
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>>;
1333
1391
  direction: OrderDirection;
@@ -1335,20 +1393,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1335
1393
  start?: bigint;
1336
1394
  step?: number;
1337
1395
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2>, R_3>;
1338
- readonly join: <JTable_3 extends Table, JAlias_3 extends string>(joinType: JoinType, joinTable: JTable_3, joinAlias: JAlias_3, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_11 extends {
1396
+ readonly join: <JTable_3 extends Table, JAlias_3 extends string>(joinType: JoinType, joinTable: JTable_3, joinAlias: JAlias_3, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> extends infer T_14 extends {
1339
1397
  [key: string]: Table;
1340
- } ? { [t_15 in keyof T_11]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_15]["columns"]>; } : never) & Record<JAlias_3, Context<JTable_3["columns"]>>) => Expression<boolean>)) => {
1341
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_12 extends {
1398
+ } ? { [t_19 in keyof T_14]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2>)[t_19]["columns"]>; } : never) & Record<JAlias_3, Context<JTable_3["columns"]>>) => Expression<boolean>)) => {
1399
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_15 extends {
1342
1400
  [key: string]: Table;
1343
- } ? { [t_16 in keyof T_12]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_16]["columns"]>; } : never;
1344
- readonly select: <R_4 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>>)[]>(returning: R_4 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_13 extends {
1401
+ } ? { [t_20 in keyof T_15]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_20]["columns"]>; } : never;
1402
+ readonly select: <R_4 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>>)[]>(returning: R_4 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_16 extends {
1345
1403
  [key: string]: Table;
1346
- } ? { [t_17 in keyof T_13]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_17]["columns"]>; } : never) => R_4), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_14 extends {
1404
+ } ? { [t_21 in keyof T_16]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_21]["columns"]>; } : never) => R_4), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_17 extends {
1347
1405
  [key: string]: Table;
1348
- } ? { [t_18 in keyof T_14]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_18]["columns"]>; } : never) => Expression<boolean>), options?: {
1406
+ } ? { [t_22 in keyof T_17]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_22]["columns"]>; } : never) => Expression<boolean>), options?: {
1349
1407
  ignoreInWhere?: boolean;
1350
1408
  ignoreInReturning?: boolean;
1351
1409
  ignoreInJoin?: boolean;
1410
+ ignoreInGroupBy?: boolean;
1411
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_18 extends {
1412
+ [key: string]: Table;
1413
+ } ? { [t_23 in keyof T_18]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_23]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1352
1414
  orders?: {
1353
1415
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>>;
1354
1416
  direction: OrderDirection;
@@ -1356,20 +1418,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1356
1418
  start?: bigint;
1357
1419
  step?: number;
1358
1420
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3>, R_4>;
1359
- readonly join: <JTable_4 extends Table, JAlias_4 extends string>(joinType: JoinType, joinTable: JTable_4, joinAlias: JAlias_4, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_15 extends {
1421
+ readonly join: <JTable_4 extends Table, JAlias_4 extends string>(joinType: JoinType, joinTable: JTable_4, joinAlias: JAlias_4, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> extends infer T_19 extends {
1360
1422
  [key: string]: Table;
1361
- } ? { [t_19 in keyof T_15]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_19]["columns"]>; } : never) & Record<JAlias_4, Context<JTable_4["columns"]>>) => Expression<boolean>)) => {
1362
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_16 extends {
1423
+ } ? { [t_24 in keyof T_19]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3>)[t_24]["columns"]>; } : never) & Record<JAlias_4, Context<JTable_4["columns"]>>) => Expression<boolean>)) => {
1424
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_20 extends {
1363
1425
  [key: string]: Table;
1364
- } ? { [t_20 in keyof T_16]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_20]["columns"]>; } : never;
1365
- readonly select: <R_5 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>>)[]>(returning: R_5 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_17 extends {
1426
+ } ? { [t_25 in keyof T_20]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_25]["columns"]>; } : never;
1427
+ readonly select: <R_5 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>>)[]>(returning: R_5 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_21 extends {
1366
1428
  [key: string]: Table;
1367
- } ? { [t_21 in keyof T_17]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_21]["columns"]>; } : never) => R_5), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_18 extends {
1429
+ } ? { [t_26 in keyof T_21]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_26]["columns"]>; } : never) => R_5), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_22 extends {
1368
1430
  [key: string]: Table;
1369
- } ? { [t_22 in keyof T_18]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_22]["columns"]>; } : never) => Expression<boolean>), options?: {
1431
+ } ? { [t_27 in keyof T_22]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_27]["columns"]>; } : never) => Expression<boolean>), options?: {
1370
1432
  ignoreInWhere?: boolean;
1371
1433
  ignoreInReturning?: boolean;
1372
1434
  ignoreInJoin?: boolean;
1435
+ ignoreInGroupBy?: boolean;
1436
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_23 extends {
1437
+ [key: string]: Table;
1438
+ } ? { [t_28 in keyof T_23]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_28]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1373
1439
  orders?: {
1374
1440
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>>;
1375
1441
  direction: OrderDirection;
@@ -1377,20 +1443,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1377
1443
  start?: bigint;
1378
1444
  step?: number;
1379
1445
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4>, R_5>;
1380
- readonly join: <JTable_5 extends Table, JAlias_5 extends string>(joinType: JoinType, joinTable: JTable_5, joinAlias: JAlias_5, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_19 extends {
1446
+ readonly join: <JTable_5 extends Table, JAlias_5 extends string>(joinType: JoinType, joinTable: JTable_5, joinAlias: JAlias_5, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> extends infer T_24 extends {
1381
1447
  [key: string]: Table;
1382
- } ? { [t_23 in keyof T_19]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_23]["columns"]>; } : never) & Record<JAlias_5, Context<JTable_5["columns"]>>) => Expression<boolean>)) => {
1383
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_20 extends {
1448
+ } ? { [t_29 in keyof T_24]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4>)[t_29]["columns"]>; } : never) & Record<JAlias_5, Context<JTable_5["columns"]>>) => Expression<boolean>)) => {
1449
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_25 extends {
1384
1450
  [key: string]: Table;
1385
- } ? { [t_24 in keyof T_20]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_24]["columns"]>; } : never;
1386
- readonly select: <R_6 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>>)[]>(returning: R_6 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_21 extends {
1451
+ } ? { [t_30 in keyof T_25]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_30]["columns"]>; } : never;
1452
+ readonly select: <R_6 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>>)[]>(returning: R_6 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_26 extends {
1387
1453
  [key: string]: Table;
1388
- } ? { [t_25 in keyof T_21]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_25]["columns"]>; } : never) => R_6), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_22 extends {
1454
+ } ? { [t_31 in keyof T_26]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_31]["columns"]>; } : never) => R_6), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_27 extends {
1389
1455
  [key: string]: Table;
1390
- } ? { [t_26 in keyof T_22]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_26]["columns"]>; } : never) => Expression<boolean>), options?: {
1456
+ } ? { [t_32 in keyof T_27]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_32]["columns"]>; } : never) => Expression<boolean>), options?: {
1391
1457
  ignoreInWhere?: boolean;
1392
1458
  ignoreInReturning?: boolean;
1393
1459
  ignoreInJoin?: boolean;
1460
+ ignoreInGroupBy?: boolean;
1461
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_28 extends {
1462
+ [key: string]: Table;
1463
+ } ? { [t_33 in keyof T_28]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_33]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1394
1464
  orders?: {
1395
1465
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>>;
1396
1466
  direction: OrderDirection;
@@ -1398,20 +1468,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1398
1468
  start?: bigint;
1399
1469
  step?: number;
1400
1470
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5>, R_6>;
1401
- readonly join: <JTable_6 extends Table, JAlias_6 extends string>(joinType: JoinType, joinTable: JTable_6, joinAlias: JAlias_6, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_23 extends {
1471
+ readonly join: <JTable_6 extends Table, JAlias_6 extends string>(joinType: JoinType, joinTable: JTable_6, joinAlias: JAlias_6, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> extends infer T_29 extends {
1402
1472
  [key: string]: Table;
1403
- } ? { [t_27 in keyof T_23]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_27]["columns"]>; } : never) & Record<JAlias_6, Context<JTable_6["columns"]>>) => Expression<boolean>)) => {
1404
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_24 extends {
1473
+ } ? { [t_34 in keyof T_29]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5>)[t_34]["columns"]>; } : never) & Record<JAlias_6, Context<JTable_6["columns"]>>) => Expression<boolean>)) => {
1474
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_30 extends {
1405
1475
  [key: string]: Table;
1406
- } ? { [t_28 in keyof T_24]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_28]["columns"]>; } : never;
1407
- readonly select: <R_7 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>>)[]>(returning: R_7 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_25 extends {
1476
+ } ? { [t_35 in keyof T_30]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_35]["columns"]>; } : never;
1477
+ readonly select: <R_7 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>>)[]>(returning: R_7 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_31 extends {
1408
1478
  [key: string]: Table;
1409
- } ? { [t_29 in keyof T_25]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_29]["columns"]>; } : never) => R_7), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_26 extends {
1479
+ } ? { [t_36 in keyof T_31]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_36]["columns"]>; } : never) => R_7), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_32 extends {
1410
1480
  [key: string]: Table;
1411
- } ? { [t_30 in keyof T_26]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_30]["columns"]>; } : never) => Expression<boolean>), options?: {
1481
+ } ? { [t_37 in keyof T_32]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_37]["columns"]>; } : never) => Expression<boolean>), options?: {
1412
1482
  ignoreInWhere?: boolean;
1413
1483
  ignoreInReturning?: boolean;
1414
1484
  ignoreInJoin?: boolean;
1485
+ ignoreInGroupBy?: boolean;
1486
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_33 extends {
1487
+ [key: string]: Table;
1488
+ } ? { [t_38 in keyof T_33]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_38]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1415
1489
  orders?: {
1416
1490
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>>;
1417
1491
  direction: OrderDirection;
@@ -1419,20 +1493,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1419
1493
  start?: bigint;
1420
1494
  step?: number;
1421
1495
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6>, R_7>;
1422
- readonly join: <JTable_7 extends Table, JAlias_7 extends string>(joinType: JoinType, joinTable: JTable_7, joinAlias: JAlias_7, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_27 extends {
1496
+ readonly join: <JTable_7 extends Table, JAlias_7 extends string>(joinType: JoinType, joinTable: JTable_7, joinAlias: JAlias_7, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> extends infer T_34 extends {
1423
1497
  [key: string]: Table;
1424
- } ? { [t_31 in keyof T_27]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_31]["columns"]>; } : never) & Record<JAlias_7, Context<JTable_7["columns"]>>) => Expression<boolean>)) => {
1425
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_28 extends {
1498
+ } ? { [t_39 in keyof T_34]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6>)[t_39]["columns"]>; } : never) & Record<JAlias_7, Context<JTable_7["columns"]>>) => Expression<boolean>)) => {
1499
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_35 extends {
1426
1500
  [key: string]: Table;
1427
- } ? { [t_32 in keyof T_28]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_32]["columns"]>; } : never;
1428
- readonly select: <R_8 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>>)[]>(returning: R_8 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_29 extends {
1501
+ } ? { [t_40 in keyof T_35]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_40]["columns"]>; } : never;
1502
+ readonly select: <R_8 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>>)[]>(returning: R_8 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_36 extends {
1429
1503
  [key: string]: Table;
1430
- } ? { [t_33 in keyof T_29]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_33]["columns"]>; } : never) => R_8), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_30 extends {
1504
+ } ? { [t_41 in keyof T_36]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_41]["columns"]>; } : never) => R_8), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_37 extends {
1431
1505
  [key: string]: Table;
1432
- } ? { [t_34 in keyof T_30]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_34]["columns"]>; } : never) => Expression<boolean>), options?: {
1506
+ } ? { [t_42 in keyof T_37]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_42]["columns"]>; } : never) => Expression<boolean>), options?: {
1433
1507
  ignoreInWhere?: boolean;
1434
1508
  ignoreInReturning?: boolean;
1435
1509
  ignoreInJoin?: boolean;
1510
+ ignoreInGroupBy?: boolean;
1511
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_38 extends {
1512
+ [key: string]: Table;
1513
+ } ? { [t_43 in keyof T_38]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_43]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1436
1514
  orders?: {
1437
1515
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>>;
1438
1516
  direction: OrderDirection;
@@ -1440,20 +1518,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1440
1518
  start?: bigint;
1441
1519
  step?: number;
1442
1520
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6> & AliasedColumns<JTable_7["columns"], JAlias_7>, R_8>;
1443
- readonly join: <JTable_8 extends Table, JAlias_8 extends string>(joinType: JoinType, joinTable: JTable_8, joinAlias: JAlias_8, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_31 extends {
1521
+ readonly join: <JTable_8 extends Table, JAlias_8 extends string>(joinType: JoinType, joinTable: JTable_8, joinAlias: JAlias_8, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> extends infer T_39 extends {
1444
1522
  [key: string]: Table;
1445
- } ? { [t_35 in keyof T_31]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_35]["columns"]>; } : never) & Record<JAlias_8, Context<JTable_8["columns"]>>) => Expression<boolean>)) => {
1446
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_32 extends {
1523
+ } ? { [t_44 in keyof T_39]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7>)[t_44]["columns"]>; } : never) & Record<JAlias_8, Context<JTable_8["columns"]>>) => Expression<boolean>)) => {
1524
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_40 extends {
1447
1525
  [key: string]: Table;
1448
- } ? { [t_36 in keyof T_32]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_36]["columns"]>; } : never;
1449
- readonly select: <R_9 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>>)[]>(returning: R_9 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_33 extends {
1526
+ } ? { [t_45 in keyof T_40]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_45]["columns"]>; } : never;
1527
+ readonly select: <R_9 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>>)[]>(returning: R_9 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_41 extends {
1450
1528
  [key: string]: Table;
1451
- } ? { [t_37 in keyof T_33]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_37]["columns"]>; } : never) => R_9), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_34 extends {
1529
+ } ? { [t_46 in keyof T_41]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_46]["columns"]>; } : never) => R_9), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_42 extends {
1452
1530
  [key: string]: Table;
1453
- } ? { [t_38 in keyof T_34]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_38]["columns"]>; } : never) => Expression<boolean>), options?: {
1531
+ } ? { [t_47 in keyof T_42]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_47]["columns"]>; } : never) => Expression<boolean>), options?: {
1454
1532
  ignoreInWhere?: boolean;
1455
1533
  ignoreInReturning?: boolean;
1456
1534
  ignoreInJoin?: boolean;
1535
+ ignoreInGroupBy?: boolean;
1536
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_43 extends {
1537
+ [key: string]: Table;
1538
+ } ? { [t_48 in keyof T_43]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_48]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1457
1539
  orders?: {
1458
1540
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>>;
1459
1541
  direction: OrderDirection;
@@ -1461,20 +1543,24 @@ declare const createJoinSelectEntity: <TablesData extends {
1461
1543
  start?: bigint;
1462
1544
  step?: number;
1463
1545
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6> & AliasedColumns<JTable_7["columns"], JAlias_7> & AliasedColumns<JTable_8["columns"], JAlias_8>, R_9>;
1464
- readonly join: <JTable_9 extends Table, JAlias_9 extends string>(joinType: JoinType, joinTable: JTable_9, joinAlias: JAlias_9, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_35 extends {
1546
+ readonly join: <JTable_9 extends Table, JAlias_9 extends string>(joinType: JoinType, joinTable: JTable_9, joinAlias: JAlias_9, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> extends infer T_44 extends {
1465
1547
  [key: string]: Table;
1466
- } ? { [t_39 in keyof T_35]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_39]["columns"]>; } : never) & Record<JAlias_9, Context<JTable_9["columns"]>>) => Expression<boolean>)) => {
1467
- readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_36 extends {
1548
+ } ? { [t_49 in keyof T_44]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8>)[t_49]["columns"]>; } : never) & Record<JAlias_9, Context<JTable_9["columns"]>>) => Expression<boolean>)) => {
1549
+ readonly contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_45 extends {
1468
1550
  [key: string]: Table;
1469
- } ? { [t_40 in keyof T_36]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_40]["columns"]>; } : never;
1470
- readonly select: <R_10 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>>)[]>(returning: R_10 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_37 extends {
1551
+ } ? { [t_50 in keyof T_45]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_50]["columns"]>; } : never;
1552
+ readonly select: <R_10 extends readonly (CustomColumn<Expression<ExpressionTypes>, string> | TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>>)[]>(returning: R_10 | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_46 extends {
1471
1553
  [key: string]: Table;
1472
- } ? { [t_41 in keyof T_37]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_41]["columns"]>; } : never) => R_10), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_38 extends {
1554
+ } ? { [t_51 in keyof T_46]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_51]["columns"]>; } : never) => R_10), where: Expression<boolean> | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_47 extends {
1473
1555
  [key: string]: Table;
1474
- } ? { [t_42 in keyof T_38]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_42]["columns"]>; } : never) => Expression<boolean>), options?: {
1556
+ } ? { [t_52 in keyof T_47]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_52]["columns"]>; } : never) => Expression<boolean>), options?: {
1475
1557
  ignoreInWhere?: boolean;
1476
1558
  ignoreInReturning?: boolean;
1477
1559
  ignoreInJoin?: boolean;
1560
+ ignoreInGroupBy?: boolean;
1561
+ groupBy?: Expression<ExpressionTypes>[] | ((contexts: TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_48 extends {
1562
+ [key: string]: Table;
1563
+ } ? { [t_53 in keyof T_48]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_53]["columns"]>; } : never) => Expression<ExpressionTypes>[]);
1478
1564
  orders?: {
1479
1565
  by: TablesColumnsKeys<TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>>;
1480
1566
  direction: OrderDirection;
@@ -1482,9 +1568,9 @@ declare const createJoinSelectEntity: <TablesData extends {
1482
1568
  start?: bigint;
1483
1569
  step?: number;
1484
1570
  } | undefined) => Query<AllColumns & AliasedColumns<JTable["columns"], JAlias> & AliasedColumns<JTable_1["columns"], JAlias_1> & AliasedColumns<JTable_2["columns"], JAlias_2> & AliasedColumns<JTable_3["columns"], JAlias_3> & AliasedColumns<JTable_4["columns"], JAlias_4> & AliasedColumns<JTable_5["columns"], JAlias_5> & AliasedColumns<JTable_6["columns"], JAlias_6> & AliasedColumns<JTable_7["columns"], JAlias_7> & AliasedColumns<JTable_8["columns"], JAlias_8> & AliasedColumns<JTable_9["columns"], JAlias_9>, R_10>;
1485
- readonly join: <JTable_10 extends Table, JAlias_10 extends string>(joinType: JoinType, joinTable: JTable_10, joinAlias: JAlias_10, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_39 extends {
1571
+ readonly join: <JTable_10 extends Table, JAlias_10 extends string>(joinType: JoinType, joinTable: JTable_10, joinAlias: JAlias_10, on: Expression<boolean> | ((contexts: (TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9> extends infer T_49 extends {
1486
1572
  [key: string]: Table;
1487
- } ? { [t_43 in keyof T_39]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_43]["columns"]>; } : never) & Record<JAlias_10, Context<JTable_10["columns"]>>) => Expression<boolean>)) => any;
1573
+ } ? { [t_54 in keyof T_49]: Context<(TablesData & Record<JAlias, JTable> & Record<JAlias_1, JTable_1> & Record<JAlias_2, JTable_2> & Record<JAlias_3, JTable_3> & Record<JAlias_4, JTable_4> & Record<JAlias_5, JTable_5> & Record<JAlias_6, JTable_6> & Record<JAlias_7, JTable_7> & Record<JAlias_8, JTable_8> & Record<JAlias_9, JTable_9>)[t_54]["columns"]>; } : never) & Record<JAlias_10, Context<JTable_10["columns"]>>) => Expression<boolean>)) => any;
1488
1574
  };
1489
1575
  };
1490
1576
  };