drizzle-orm 0.22.0 → 0.22.1-73da00f

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.
Files changed (66) hide show
  1. package/mysql-core/db.js +1 -1
  2. package/mysql-core/db.js.map +1 -1
  3. package/mysql-core/dialect.d.ts +1 -1
  4. package/mysql-core/dialect.d.ts.map +1 -1
  5. package/mysql-core/dialect.js +14 -13
  6. package/mysql-core/dialect.js.map +1 -1
  7. package/mysql-core/query-builders/select.d.ts +28 -28
  8. package/mysql-core/query-builders/select.d.ts.map +1 -1
  9. package/mysql-core/query-builders/select.js +54 -36
  10. package/mysql-core/query-builders/select.js.map +1 -1
  11. package/mysql-core/query-builders/select.types.d.ts +32 -14
  12. package/mysql-core/query-builders/select.types.d.ts.map +1 -1
  13. package/mysql-core/session.d.ts.map +1 -1
  14. package/mysql-core/session.js +0 -1
  15. package/mysql-core/session.js.map +1 -1
  16. package/mysql-core/table.d.ts +1 -0
  17. package/mysql-core/table.d.ts.map +1 -1
  18. package/mysql-core/table.js +8 -1
  19. package/mysql-core/table.js.map +1 -1
  20. package/operations.js +0 -7
  21. package/operations.js.map +1 -1
  22. package/package.json +13 -3
  23. package/pg-core/db.js +1 -1
  24. package/pg-core/db.js.map +1 -1
  25. package/pg-core/dialect.d.ts +1 -1
  26. package/pg-core/dialect.d.ts.map +1 -1
  27. package/pg-core/dialect.js +12 -12
  28. package/pg-core/dialect.js.map +1 -1
  29. package/pg-core/query-builders/select.d.ts +28 -28
  30. package/pg-core/query-builders/select.d.ts.map +1 -1
  31. package/pg-core/query-builders/select.js +54 -36
  32. package/pg-core/query-builders/select.js.map +1 -1
  33. package/pg-core/query-builders/select.types.d.ts +32 -14
  34. package/pg-core/query-builders/select.types.d.ts.map +1 -1
  35. package/pg-core/table.d.ts +1 -0
  36. package/pg-core/table.d.ts.map +1 -1
  37. package/pg-core/table.js +8 -1
  38. package/pg-core/table.js.map +1 -1
  39. package/planetscale-serverless/session.d.ts.map +1 -1
  40. package/planetscale-serverless/session.js +0 -1
  41. package/planetscale-serverless/session.js.map +1 -1
  42. package/sql/expressions/conditions.d.ts +2 -3
  43. package/sql/expressions/conditions.d.ts.map +1 -1
  44. package/sql/expressions/conditions.js +36 -36
  45. package/sql/expressions/conditions.js.map +1 -1
  46. package/sqlite-core/db.js +1 -1
  47. package/sqlite-core/db.js.map +1 -1
  48. package/sqlite-core/dialect.d.ts +1 -1
  49. package/sqlite-core/dialect.d.ts.map +1 -1
  50. package/sqlite-core/dialect.js +12 -12
  51. package/sqlite-core/dialect.js.map +1 -1
  52. package/sqlite-core/query-builders/select.d.ts +27 -27
  53. package/sqlite-core/query-builders/select.d.ts.map +1 -1
  54. package/sqlite-core/query-builders/select.js +63 -45
  55. package/sqlite-core/query-builders/select.js.map +1 -1
  56. package/sqlite-core/query-builders/select.types.d.ts +37 -15
  57. package/sqlite-core/query-builders/select.types.d.ts.map +1 -1
  58. package/sqlite-core/table.d.ts +1 -0
  59. package/sqlite-core/table.d.ts.map +1 -1
  60. package/sqlite-core/table.js +8 -1
  61. package/sqlite-core/table.js.map +1 -1
  62. package/subquery.d.ts.map +1 -1
  63. package/subquery.js +2 -1
  64. package/subquery.js.map +1 -1
  65. package/utils.d.ts +2 -0
  66. package/utils.d.ts.map +1 -1
package/mysql-core/db.js CHANGED
@@ -18,7 +18,7 @@ class MySqlDatabase {
18
18
  if (typeof qb === 'function') {
19
19
  qb = qb(query_builders_1.queryBuilder);
20
20
  }
21
- return new Proxy(new subquery_1.WithSubquery(qb.getSQL(), qb.getSelection(), alias, true), new subquery_1.SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }));
21
+ return new Proxy(new subquery_1.WithSubquery(qb.getSQL(), qb.getSelection(), alias, true), new subquery_1.SelectionProxyHandler({ alias, sqlAliasedBehavior: 'subquery_selection', sqlBehavior: 'error' }));
22
22
  },
23
23
  };
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/mysql-core/db.ts"],"names":[],"mappings":";;;AAEA,yCAAiE;AAGjE,qDAM0B;AAM1B,MAAa,aAAa;IACzB;IACC,gBAAgB;IACP,OAAqB;IAC9B,gBAAgB;IACP,OAAiB;QAFjB,YAAO,GAAP,OAAO,CAAc;QAErB,YAAO,GAAP,OAAO,CAAU;IACxB,CAAC;IAEJ,KAAK,CAAwB,KAAa;QACzC,OAAO;YACN,EAAE,CACD,EAAuF;gBAEvF,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;oBAC7B,EAAE,GAAG,EAAE,CAAC,6BAAY,CAAC,CAAC;iBACtB;gBAED,OAAO,IAAI,KAAK,CACf,IAAI,uBAAY,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,EAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,EAC7E,IAAI,gCAAqB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CACtC,CAAC;YACpD,CAAC;SACD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,OAAuB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC;QAIlB,SAAS,MAAM,CAAC,MAAqB;YACpC,OAAO,IAAI,mCAAkB,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC;IAID,MAAM,CAAC,MAAqB;QAC3B,OAAO,IAAI,mCAAkB,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,mCAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,mCAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,4BAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CACN,KAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;CACD;AA5DD,sCA4DC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/mysql-core/db.ts"],"names":[],"mappings":";;;AAEA,yCAAiE;AAGjE,qDAM0B;AAM1B,MAAa,aAAa;IACzB;IACC,gBAAgB;IACP,OAAqB;IAC9B,gBAAgB;IACP,OAAiB;QAFjB,YAAO,GAAP,OAAO,CAAc;QAErB,YAAO,GAAP,OAAO,CAAU;IACxB,CAAC;IAEJ,KAAK,CAAwB,KAAa;QACzC,OAAO;YACN,EAAE,CACD,EAAuF;gBAEvF,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;oBAC7B,EAAE,GAAG,EAAE,CAAC,6BAAY,CAAC,CAAC;iBACtB;gBAED,OAAO,IAAI,KAAK,CACf,IAAI,uBAAY,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,EAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,EAC7E,IAAI,gCAAqB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CACnD,CAAC;YACpD,CAAC;SACD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,OAAuB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC;QAIlB,SAAS,MAAM,CAAC,MAAqB;YACpC,OAAO,IAAI,mCAAkB,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC;IAID,MAAM,CAAC,MAAqB;QAC3B,OAAO,IAAI,mCAAkB,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,mCAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,mCAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAA+B,KAAa;QACjD,OAAO,IAAI,4BAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CACN,KAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;CACD;AA5DD,sCA4DC"}
@@ -28,7 +28,7 @@ export declare class MySqlDialect {
28
28
  * If `isSingleTable` is true, then columns won't be prefixed with table name
29
29
  */
30
30
  private buildSelection;
31
- buildSelectQuery({ withList, fieldsList: fields, where, having, table, joins, orderBy, groupBy, limit, offset, lockingClause }: MySqlSelectConfig): SQL;
31
+ buildSelectQuery({ withList, fieldsList, where, having, table, joins, orderBy, groupBy, limit, offset, lockingClause }: MySqlSelectConfig): SQL;
32
32
  buildInsertQuery({ table, values, onConflict, returning }: MySqlInsertConfig): SQL;
33
33
  sqlToQuery(sql: SQL): Query;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../src/mysql-core/dialect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,EAAQ,GAAG,EAAO,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAW7C,qBAAa,YAAY;IAClB,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmChF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIhC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIhC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIjC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAUrE,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,GAAG;IAkBzD,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAY1E;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAoDtB,gBAAgB,CACf,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAC5G,iBAAiB,GAChB,GAAG;IAkHN,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAoClF,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK;CAO3B"}
1
+ {"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../src/mysql-core/dialect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,EAAQ,GAAG,EAAO,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAY7C,qBAAa,YAAY;IAClB,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmChF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIhC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIhC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIjC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAUrE,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,GAAG;IAkBzD,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAY1E;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAoDtB,gBAAgB,CACf,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EACpG,iBAAiB,GAChB,GAAG;IAkHN,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,GAAG;IAoClF,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK;CAO3B"}
@@ -24,6 +24,7 @@ const table_1 = require("../table");
24
24
  const view_1 = require("../view");
25
25
  const common_1 = require("./columns/common");
26
26
  const table_2 = require("./table");
27
+ const view_2 = require("./view");
27
28
  // TODO find out how to use all/values. Seems like I need those functions
28
29
  // Build project
29
30
  // copy runtime tests to be sure it's working
@@ -159,22 +160,23 @@ class MySqlDialect {
159
160
  .flat(1);
160
161
  return sql_1.sql.fromList(chunks);
161
162
  }
162
- buildSelectQuery({ withList, fieldsList: fields, where, having, table, joins, orderBy, groupBy, limit, offset, lockingClause }) {
163
- fields.forEach((f) => {
164
- let tableName;
163
+ buildSelectQuery({ withList, fieldsList, where, having, table, joins, orderBy, groupBy, limit, offset, lockingClause }) {
164
+ fieldsList.forEach((f) => {
165
165
  if (f.field instanceof column_1.Column
166
166
  && (0, table_1.getTableName)(f.field.table)
167
167
  !== (table instanceof subquery_1.Subquery
168
168
  ? table[subquery_1.SubqueryConfig].alias
169
- : table instanceof view_1.View
169
+ : table instanceof view_2.MySqlViewBase
170
170
  ? table[view_1.ViewBaseConfig].name
171
- : (0, table_1.getTableName)(table))
172
- && !((tableName = (0, table_1.getTableName)(f.field.table)) in joins)) {
171
+ : table instanceof sql_1.SQL
172
+ ? undefined
173
+ : (0, table_1.getTableName)(table))
174
+ && !((table) => joins.some(({ alias }) => alias === (0, table_1.getTableName)(table)))(f.field.table)) {
175
+ const tableName = (0, table_1.getTableName)(f.field.table);
173
176
  throw new Error(`Your "${f.path.join('->')}" field references a column "${tableName}"."${f.field.name}", but the table "${tableName}" is not part of the query! Did you forget to join it?`);
174
177
  }
175
178
  });
176
- const joinKeys = Object.keys(joins);
177
- const isSingleTable = joinKeys.length === 0;
179
+ const isSingleTable = joins.length === 0;
178
180
  let withSql;
179
181
  if (withList.length) {
180
182
  const withSqlChunks = [(0, sql_1.sql) `with `];
@@ -187,25 +189,24 @@ class MySqlDialect {
187
189
  withSqlChunks.push((0, sql_1.sql) ` `);
188
190
  withSql = sql_1.sql.fromList(withSqlChunks);
189
191
  }
190
- const selection = this.buildSelection(fields, { isSingleTable });
192
+ const selection = this.buildSelection(fieldsList, { isSingleTable });
191
193
  const joinsArray = [];
192
- joinKeys.forEach((tableAlias, index) => {
194
+ joins.forEach((joinMeta, index) => {
193
195
  if (index === 0) {
194
196
  joinsArray.push((0, sql_1.sql) ` `);
195
197
  }
196
- const joinMeta = joins[tableAlias];
197
198
  const table = joinMeta.table;
198
199
  if (table instanceof table_2.MySqlTable) {
199
200
  const tableName = table[table_2.MySqlTable.Symbol.Name];
200
201
  const tableSchema = table[table_2.MySqlTable.Symbol.Schema];
201
202
  const origTableName = table[table_2.MySqlTable.Symbol.OriginalName];
202
- const alias = tableName === origTableName ? undefined : tableAlias;
203
+ const alias = tableName === origTableName ? undefined : joinMeta.alias;
203
204
  joinsArray.push((0, sql_1.sql) `${sql_1.sql.raw(joinMeta.joinType)} join ${tableSchema ? (0, sql_1.sql) `${new sql_1.Name(tableSchema)}.` : undefined}${new sql_1.Name(origTableName)} ${alias && new sql_1.Name(alias)} on ${joinMeta.on}`);
204
205
  }
205
206
  else {
206
207
  joinsArray.push((0, sql_1.sql) `${sql_1.sql.raw(joinMeta.joinType)} join ${table} on ${joinMeta.on}`);
207
208
  }
208
- if (index < joinKeys.length - 1) {
209
+ if (index < joins.length - 1) {
209
210
  joinsArray.push((0, sql_1.sql) ` `);
210
211
  }
211
212
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../src/mysql-core/dialect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialect.js","sourceRoot":"","sources":["../../src/mysql-core/dialect.ts"],"names":[],"mappings":"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"}
@@ -5,56 +5,56 @@ import type { SubqueryWithSelection } from '../subquery';
5
5
  import type { AnyMySqlTable } from '../table';
6
6
  import { MySqlViewBase } from '../view';
7
7
  import { QueryPromise } from '../../query-promise';
8
- import type { Query, SQL } from '../../sql';
8
+ import { type Query, SQL } from '../../sql';
9
9
  import { Subquery } from '../../subquery';
10
10
  import { type Simplify, type ValueOrArray } from '../../utils';
11
11
  import { QueryBuilder } from './query-builder';
12
- import type { AnyMySqlSelect, BuildSubquerySelection, GetSelectTableName, GetSelectTableSelection, JoinFn, JoinNullability, JoinType, LockConfig, LockStrength, MySqlSelectConfig, MySqlSelectWithFilteredMethods, SelectFields, SelectMode, SelectResult } from './select.types';
13
- declare type CreateMySqlSelectFromBuilderMode<T extends AnyMySqlSelect, TBuilderMode extends 'db' | 'qb'> = TBuilderMode extends 'db' ? T : MySqlSelectWithFilteredMethods<T, (keyof QueryPromise<any> & string) | 'prepare'>;
12
+ import type { BuildSubquerySelection, GetSelectTableName, GetSelectTableSelection, JoinFn, JoinNullability, LockConfig, LockStrength, MySqlSelectConfig, MySqlSelectHKT, MySqlSelectHKTBase, MySqlSelectQueryBuilderHKT, SelectFields, SelectMode, SelectResult } from './select.types';
13
+ declare type CreateMySqlSelectFromBuilderMode<TBuilderMode extends 'db' | 'qb', TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode> = TBuilderMode extends 'db' ? MySqlSelect<TTableName, TSelection, TSelectMode> : MySqlSelectQueryBuilder<MySqlSelectQueryBuilderHKT, TTableName, TSelection, TSelectMode>;
14
14
  export declare class MySqlSelectBuilder<TSelection extends SelectFields | undefined, TBuilderMode extends 'db' | 'qb' = 'db'> {
15
15
  private fields;
16
16
  private session;
17
17
  private dialect;
18
18
  private withList;
19
19
  constructor(fields: TSelection, session: MySqlSession | undefined, dialect: MySqlDialect, withList?: Subquery[]);
20
- from<TFrom extends AnyMySqlTable | Subquery | MySqlViewBase>(source: TFrom): CreateMySqlSelectFromBuilderMode<MySqlSelect<GetSelectTableName<TFrom>, TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, TSelection extends undefined ? 'single' : 'partial'>, TBuilderMode>;
20
+ from<TFrom extends AnyMySqlTable | Subquery | MySqlViewBase | SQL>(source: TFrom): CreateMySqlSelectFromBuilderMode<TBuilderMode, GetSelectTableName<TFrom>, TSelection extends undefined ? GetSelectTableSelection<TFrom> : TSelection, TSelection extends undefined ? 'single' : 'partial'>;
21
21
  }
22
- export declare abstract class MySqlSelectCore<TTableName extends string, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = Record<TTableName, 'not-null'>> extends QueryBuilder<BuildSubquerySelection<TSelection, TNullabilityMap>> {
22
+ export declare abstract class MySqlSelectQueryBuilder<THKT extends MySqlSelectHKTBase, TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends QueryBuilder<BuildSubquerySelection<TSelection, TNullabilityMap>> {
23
+ private isPartialSelect;
24
+ protected session: MySqlSession | undefined;
25
+ protected dialect: MySqlDialect;
23
26
  protected $selectMode: TSelectMode;
24
27
  protected $selection: TSelection;
25
28
  protected $subquerySelection: BuildSubquerySelection<TSelection, TNullabilityMap>;
26
- }
27
- export interface MySqlSelect<TTableName extends string, TSelection, TSelectMode extends SelectMode, TExcludedMethods extends string = never, TNullabilityMap extends Record<string, JoinNullability> = Record<TTableName, 'not-null'>> extends MySqlSelectCore<TTableName, TSelection, TSelectMode, TNullabilityMap>, QueryPromise<SelectResult<TSelection, TSelectMode, TNullabilityMap>[]> {
28
- }
29
- export declare class MySqlSelect<TTableName extends string, TSelection, TSelectMode extends SelectMode, TExcludedMethods extends string = never, TNullabilityMap extends Record<string, JoinNullability> = Record<TTableName, 'not-null'>> extends MySqlSelectCore<TTableName, TSelection, TSelectMode, TNullabilityMap> {
30
- private isPartialSelect;
31
- private session;
32
- private dialect;
33
- private config;
34
- private joinsNotNullableMap;
29
+ protected config: MySqlSelectConfig;
30
+ protected joinsNotNullableMap: Record<string, boolean>;
35
31
  private tableName;
36
32
  constructor(table: MySqlSelectConfig['table'], fields: MySqlSelectConfig['fields'], fieldsList: MySqlSelectConfig['fieldsList'], isPartialSelect: boolean, session: MySqlSession | undefined, dialect: MySqlDialect, withList: Subquery[]);
37
33
  private createJoin;
38
- leftJoin: JoinFn<TTableName, TSelectMode, "left", TSelection, TExcludedMethods, TNullabilityMap>;
39
- rightJoin: JoinFn<TTableName, TSelectMode, "right", TSelection, TExcludedMethods, TNullabilityMap>;
40
- innerJoin: JoinFn<TTableName, TSelectMode, "inner", TSelection, TExcludedMethods, TNullabilityMap>;
41
- fullJoin: JoinFn<TTableName, TSelectMode, "full", TSelection, TExcludedMethods, TNullabilityMap>;
42
- where(where: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): MySqlSelectWithFilteredMethods<this, 'where' | `${JoinType}Join`>;
43
- having(having: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): MySqlSelectWithFilteredMethods<this, 'where' | `${JoinType}Join` | 'having'>;
44
- groupBy(builder: (aliases: TSelection) => ValueOrArray<AnyMySqlColumn | SQL | SQL.Aliased>): MySqlSelectWithFilteredMethods<this, 'where' | `${JoinType}Join` | 'groupBy'>;
45
- groupBy(...columns: (AnyMySqlColumn | SQL)[]): MySqlSelectWithFilteredMethods<this, 'where' | `${JoinType}Join` | 'groupBy'>;
46
- orderBy(builder: (aliases: TSelection) => ValueOrArray<AnyMySqlColumn | SQL | SQL.Aliased>): MySqlSelectWithFilteredMethods<this, 'where' | `${JoinType}Join` | 'orderBy'>;
47
- orderBy(...columns: (AnyMySqlColumn | SQL)[]): MySqlSelectWithFilteredMethods<this, 'where' | `${JoinType}Join` | 'orderBy'>;
48
- limit(limit: number): MySqlSelectWithFilteredMethods<this, 'where' | `${JoinType}Join` | 'limit'>;
49
- offset(offset: number): MySqlSelectWithFilteredMethods<this, 'where' | `${JoinType}Join` | 'offset'>;
50
- for(strength: LockStrength, config?: LockConfig): MySqlSelectWithFilteredMethods<this>;
34
+ leftJoin: JoinFn<THKT, TTableName, TSelectMode, "left", TSelection, TNullabilityMap>;
35
+ rightJoin: JoinFn<THKT, TTableName, TSelectMode, "right", TSelection, TNullabilityMap>;
36
+ innerJoin: JoinFn<THKT, TTableName, TSelectMode, "inner", TSelection, TNullabilityMap>;
37
+ fullJoin: JoinFn<THKT, TTableName, TSelectMode, "full", TSelection, TNullabilityMap>;
38
+ where(where: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): this;
39
+ having(having: ((aliases: TSelection) => SQL | undefined) | SQL | undefined): this;
40
+ groupBy(builder: (aliases: TSelection) => ValueOrArray<AnyMySqlColumn | SQL | SQL.Aliased>): this;
41
+ groupBy(...columns: (AnyMySqlColumn | SQL | SQL.Aliased)[]): this;
42
+ orderBy(builder: (aliases: TSelection) => ValueOrArray<AnyMySqlColumn | SQL | SQL.Aliased>): this;
43
+ orderBy(...columns: (AnyMySqlColumn | SQL | SQL.Aliased)[]): this;
44
+ limit(limit: number): this;
45
+ offset(offset: number): this;
46
+ for(strength: LockStrength, config?: LockConfig): this;
51
47
  toSQL(): Simplify<Omit<Query, 'typings'>>;
48
+ as<TAlias extends string>(alias: TAlias): SubqueryWithSelection<BuildSubquerySelection<TSelection, TNullabilityMap>, TAlias>;
49
+ }
50
+ export interface MySqlSelect<TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends MySqlSelectQueryBuilder<MySqlSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap>, QueryPromise<SelectResult<TSelection, TSelectMode, TNullabilityMap>[]> {
51
+ }
52
+ export declare class MySqlSelect<TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability> = TTableName extends string ? Record<TTableName, 'not-null'> : {}> extends MySqlSelectQueryBuilder<MySqlSelectHKT, TTableName, TSelection, TSelectMode, TNullabilityMap> {
52
53
  private _prepare;
53
54
  prepare(name: string): PreparedQuery<PreparedQueryConfig & {
54
55
  execute: SelectResult<TSelection, TSelectMode, TNullabilityMap>[];
55
56
  }>;
56
57
  execute: ReturnType<this['prepare']>['execute'];
57
- as<TAlias extends string>(alias: TAlias): SubqueryWithSelection<BuildSubquerySelection<TSelection, TNullabilityMap>, TAlias>;
58
58
  }
59
59
  export {};
60
60
  //# sourceMappingURL=select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,11 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.MySqlSelect = exports.MySqlSelectCore = exports.MySqlSelectBuilder = void 0;
14
+ exports.MySqlSelect = exports.MySqlSelectQueryBuilder = exports.MySqlSelectBuilder = void 0;
15
15
  const utils_1 = require("../utils");
16
16
  const view_1 = require("../view");
17
17
  const query_promise_1 = require("../../query-promise");
18
+ const sql_1 = require("../../sql");
18
19
  const subquery_1 = require("../../subquery");
19
20
  const table_1 = require("../../table");
20
21
  const utils_2 = require("../../utils");
@@ -41,6 +42,9 @@ class MySqlSelectBuilder {
41
42
  else if (source instanceof view_1.MySqlViewBase) {
42
43
  fields = source[view_2.ViewBaseConfig].selection;
43
44
  }
45
+ else if (source instanceof sql_1.SQL) {
46
+ fields = {};
47
+ }
44
48
  else {
45
49
  fields = (0, utils_1.getTableColumns)(source);
46
50
  }
@@ -49,10 +53,7 @@ class MySqlSelectBuilder {
49
53
  }
50
54
  }
51
55
  exports.MySqlSelectBuilder = MySqlSelectBuilder;
52
- class MySqlSelectCore extends query_builder_1.QueryBuilder {
53
- }
54
- exports.MySqlSelectCore = MySqlSelectCore;
55
- class MySqlSelect extends MySqlSelectCore {
56
+ class MySqlSelectQueryBuilder extends query_builder_1.QueryBuilder {
56
57
  constructor(table, fields, fieldsList, isPartialSelect, session, dialect, withList) {
57
58
  super();
58
59
  this.isPartialSelect = isPartialSelect;
@@ -62,15 +63,12 @@ class MySqlSelect extends MySqlSelectCore {
62
63
  this.rightJoin = this.createJoin('right');
63
64
  this.innerJoin = this.createJoin('inner');
64
65
  this.fullJoin = this.createJoin('full');
65
- this.execute = (placeholderValues) => {
66
- return this._prepare().execute(placeholderValues);
67
- };
68
66
  this.config = {
69
67
  withList,
70
68
  table,
71
69
  fields,
72
70
  fieldsList,
73
- joins: {},
71
+ joins: [],
74
72
  orderBy: [],
75
73
  groupBy: [],
76
74
  };
@@ -79,41 +77,52 @@ class MySqlSelect extends MySqlSelectCore {
79
77
  ? table[subquery_1.SubqueryConfig].alias
80
78
  : table instanceof view_1.MySqlViewBase
81
79
  ? table[view_2.ViewBaseConfig].name
82
- : table[table_1.Table.Symbol.Name];
83
- this.joinsNotNullableMap = { [this.tableName]: true };
80
+ : table instanceof sql_1.SQL
81
+ ? undefined
82
+ : table[table_1.Table.Symbol.Name];
83
+ this.joinsNotNullableMap = typeof this.tableName === 'string' ? { [this.tableName]: true } : {};
84
84
  }
85
85
  createJoin(joinType) {
86
86
  return (table, on) => {
87
- const tableName = table instanceof subquery_1.Subquery ? table[subquery_1.SubqueryConfig].alias : table[table_1.Table.Symbol.Name];
88
- if (this.config.joins[tableName]) {
87
+ const baseTableName = this.tableName;
88
+ const tableName = table instanceof subquery_1.Subquery
89
+ ? table[subquery_1.SubqueryConfig].alias
90
+ : table instanceof sql_1.SQL
91
+ ? undefined
92
+ : table[table_1.Table.Symbol.Name];
93
+ if (typeof tableName === 'string' && this.config.joins.some((join) => join.alias === tableName)) {
89
94
  throw new Error(`Alias "${tableName}" is already used in this query`);
90
95
  }
91
96
  if (!this.isPartialSelect) {
92
- // If this is the first join and this is not a partial select, "move" the fields from the main table to the nested object
93
- if (Object.keys(this.joinsNotNullableMap).length === 1) {
94
- this.config.fieldsList = this.config.fieldsList.map((field) => (Object.assign(Object.assign({}, field), { path: [this.tableName, ...field.path] })));
97
+ // If this is the first join and this is not a partial select and we're not selecting from raw SQL, "move" the fields from the main table to the nested object
98
+ if (Object.keys(this.joinsNotNullableMap).length === 1 && typeof baseTableName === 'string') {
99
+ this.config.fieldsList = this.config.fieldsList.map((field) => (Object.assign(Object.assign({}, field), { path: [baseTableName, ...field.path] })));
100
+ }
101
+ if (typeof tableName === 'string' && !(table instanceof sql_1.SQL)) {
102
+ this.config.fieldsList.push(...(0, utils_3.orderSelectedFields)(table instanceof subquery_1.Subquery ? table[subquery_1.SubqueryConfig].selection : table[table_1.Table.Symbol.Columns], [tableName]));
95
103
  }
96
- this.config.fieldsList.push(...(0, utils_3.orderSelectedFields)(table instanceof subquery_1.Subquery ? table[subquery_1.SubqueryConfig].selection : table[table_1.Table.Symbol.Columns], [tableName]));
97
104
  }
98
105
  if (typeof on === 'function') {
99
106
  on = on(new Proxy(this.config.fields, new subquery_1.SelectionProxyHandler({ sqlAliasedBehavior: 'alias', sqlBehavior: 'sql' })));
100
107
  }
101
- this.config.joins[tableName] = { on, table, joinType };
102
- switch (joinType) {
103
- case 'left':
104
- this.joinsNotNullableMap[tableName] = false;
105
- break;
106
- case 'right':
107
- this.joinsNotNullableMap = Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false]));
108
- this.joinsNotNullableMap[tableName] = true;
109
- break;
110
- case 'inner':
111
- this.joinsNotNullableMap[tableName] = true;
112
- break;
113
- case 'full':
114
- this.joinsNotNullableMap = Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false]));
115
- this.joinsNotNullableMap[tableName] = false;
116
- break;
108
+ this.config.joins.push({ on, table, joinType, alias: tableName });
109
+ if (typeof tableName === 'string') {
110
+ switch (joinType) {
111
+ case 'left':
112
+ this.joinsNotNullableMap[tableName] = false;
113
+ break;
114
+ case 'right':
115
+ this.joinsNotNullableMap = Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false]));
116
+ this.joinsNotNullableMap[tableName] = true;
117
+ break;
118
+ case 'inner':
119
+ this.joinsNotNullableMap[tableName] = true;
120
+ break;
121
+ case 'full':
122
+ this.joinsNotNullableMap = Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([key]) => [key, false]));
123
+ this.joinsNotNullableMap[tableName] = false;
124
+ break;
125
+ }
117
126
  }
118
127
  return this;
119
128
  };
@@ -172,6 +181,18 @@ class MySqlSelect extends MySqlSelectCore {
172
181
  const _a = this.dialect.sqlToQuery(this.getSQL()), { typings } = _a, rest = __rest(_a, ["typings"]);
173
182
  return rest;
174
183
  }
184
+ as(alias) {
185
+ return new Proxy(new subquery_1.Subquery(this.getSQL(), this.config.fields, alias), new subquery_1.SelectionProxyHandler({ alias, sqlAliasedBehavior: 'subquery_selection', sqlBehavior: 'error' }));
186
+ }
187
+ }
188
+ exports.MySqlSelectQueryBuilder = MySqlSelectQueryBuilder;
189
+ class MySqlSelect extends MySqlSelectQueryBuilder {
190
+ constructor() {
191
+ super(...arguments);
192
+ this.execute = (placeholderValues) => {
193
+ return this._prepare().execute(placeholderValues);
194
+ };
195
+ }
175
196
  _prepare(name) {
176
197
  if (!this.session) {
177
198
  throw new Error('Cannot execute a query on a query builder. Please use a database instance instead.');
@@ -183,9 +204,6 @@ class MySqlSelect extends MySqlSelectCore {
183
204
  prepare(name) {
184
205
  return this._prepare(name);
185
206
  }
186
- as(alias) {
187
- return new Proxy(new subquery_1.Subquery(this.getSQL(), this.config.fields, alias), new subquery_1.SelectionProxyHandler({ alias, sqlAliasedBehavior: 'alias', sqlBehavior: 'error' }));
188
- }
189
207
  }
190
208
  exports.MySqlSelect = MySqlSelect;
191
209
  (0, utils_2.applyMixins)(MySqlSelect, [query_promise_1.QueryPromise]);
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,14 @@ import type { MySqlViewBase, MySqlViewWithSelection } from '../view';
6
6
  import type { SelectFields as SelectFieldsBase, SelectFieldsFlat as SelectFieldsFlatBase, SelectFieldsOrdered as SelectFieldsOrderedBase } from '../../operations';
7
7
  import type { Placeholder, SQL } from '../../sql';
8
8
  import type { GetSubquerySelection, Subquery } from '../../subquery';
9
- import type { Assume, DrizzleTypeError, Simplify } from '../../utils';
10
- import type { MySqlSelect, MySqlSelectCore } from './select';
9
+ import type { Assume, DrizzleTypeError, Equal, Simplify } from '../../utils';
10
+ import type { MySqlSelect, MySqlSelectQueryBuilder } from './select';
11
11
  export declare type JoinType = 'inner' | 'left' | 'right' | 'full';
12
12
  export declare type SelectMode = 'partial' | 'single' | 'multiple';
13
13
  export interface JoinsValue {
14
14
  on: SQL | undefined;
15
- table: AnyMySqlTable | Subquery;
15
+ table: AnyMySqlTable | Subquery | SQL;
16
+ alias: string | undefined;
16
17
  joinType: JoinType;
17
18
  }
18
19
  export declare type JoinNullability = 'nullable' | 'not-null';
@@ -39,17 +40,17 @@ export declare type BuildAliasTable<TTable extends AnyMySqlTable, TAlias extends
39
40
  export declare type MapColumnsToTableAlias<TColumns extends Record<string, AnyMySqlColumn | SQL | SQL.Aliased>, TAlias extends string> = Simplify<{
40
41
  [Key in keyof TColumns]: TColumns[Key] extends AnyMySqlColumn ? ChangeColumnTableName<TColumns[Key], TAlias> : TColumns[Key];
41
42
  }>;
42
- export declare type AddAliasToSelection<TSelection, TAlias extends string> = Simplify<{
43
+ export declare type AddAliasToSelection<TSelection, TAlias extends string> = Equal<TSelection, any> extends true ? any : Simplify<{
43
44
  [Key in keyof TSelection]: TSelection[Key] extends AnyMySqlColumn ? ChangeColumnTableName<TSelection[Key], TAlias> : TSelection[Key] extends SQL | SQL.Aliased ? TSelection[Key] : TSelection[Key] extends Record<string, AnyMySqlColumn | SQL | SQL.Aliased> ? MapColumnsToTableAlias<TSelection[Key], TAlias> : never;
44
45
  }>;
45
46
  export declare type BuildSubquerySelection<TSelection, TNullability extends Record<string, JoinNullability>> = TSelection extends never ? any : Simplify<{
46
47
  [Key in keyof TSelection]: TSelection[Key] extends SQL ? DrizzleTypeError<'You cannot reference this field without assigning it an alias first - use `.as(<alias>)`'> : TSelection[Key] extends SQL.Aliased ? TSelection[Key] : TSelection[Key] extends AnyMySqlColumn ? ApplyNullabilityToColumn<TSelection[Key], TNullability[GetColumnConfig<TSelection[Key], 'tableName'>]> : TSelection[Key] extends Record<string, AnyMySqlColumn | SQL | SQL.Aliased> ? BuildSubquerySelection<TSelection[Key], TNullability> : never;
47
48
  }>;
48
- export declare type AppendToResult<TTableName extends string, TResult, TJoinedName extends string, TSelectedFields extends SelectFields, TOldSelectMode extends SelectMode> = TOldSelectMode extends 'partial' ? TResult : TOldSelectMode extends 'single' ? Record<TTableName, TResult> & Record<TJoinedName, TSelectedFields> : TResult & Record<TJoinedName, TSelectedFields>;
49
+ export declare type AppendToResult<TTableName extends string | undefined, TResult, TJoinedName extends string | undefined, TSelectedFields extends SelectFields, TOldSelectMode extends SelectMode> = TOldSelectMode extends 'partial' ? TResult : TOldSelectMode extends 'single' ? (TTableName extends string ? Record<TTableName, TResult> : TResult) & (TJoinedName extends string ? Record<TJoinedName, TSelectedFields> : TSelectedFields) : TResult & (TJoinedName extends string ? Record<TJoinedName, TSelectedFields> : TSelectedFields);
49
50
  declare type SetJoinsNullability<TNullabilityMap extends Record<string, JoinNullability>, TValue extends JoinNullability> = {
50
51
  [Key in keyof TNullabilityMap]: TValue;
51
52
  };
52
- export declare type AppendToNullabilityMap<TJoinsNotNull extends Record<string, JoinNullability>, TJoinedName extends string, TJoinType extends JoinType> = 'left' extends TJoinType ? TJoinsNotNull & {
53
+ export declare type AppendToNullabilityMap<TJoinsNotNull extends Record<string, JoinNullability>, TJoinedName extends string | undefined, TJoinType extends JoinType> = TJoinedName extends string ? 'left' extends TJoinType ? TJoinsNotNull & {
53
54
  [name in TJoinedName]: 'nullable';
54
55
  } : 'right' extends TJoinType ? SetJoinsNullability<TJoinsNotNull, 'nullable'> & {
55
56
  [name in TJoinedName]: 'not-null';
@@ -57,17 +58,17 @@ export declare type AppendToNullabilityMap<TJoinsNotNull extends Record<string,
57
58
  [name in TJoinedName]: 'not-null';
58
59
  } : 'full' extends TJoinType ? SetJoinsNullability<TJoinsNotNull, 'nullable'> & {
59
60
  [name in TJoinedName]: 'nullable';
60
- } : never;
61
+ } : never : TJoinsNotNull;
61
62
  export interface MySqlSelectConfig {
62
63
  withList: Subquery[];
63
64
  fields: SelectFields;
64
65
  fieldsList: SelectFieldsOrdered;
65
66
  where?: SQL;
66
67
  having?: SQL;
67
- table: AnyMySqlTable | Subquery | MySqlViewBase;
68
+ table: AnyMySqlTable | Subquery | MySqlViewBase | SQL;
68
69
  limit?: number | Placeholder;
69
70
  offset?: number | Placeholder;
70
- joins: Record<string, JoinsValue>;
71
+ joins: JoinsValue[];
71
72
  orderBy: (AnyMySqlColumn | SQL | SQL.Aliased)[];
72
73
  groupBy: (AnyMySqlColumn | SQL | SQL.Aliased)[];
73
74
  lockingClause?: {
@@ -75,9 +76,9 @@ export interface MySqlSelectConfig {
75
76
  config: LockConfig;
76
77
  };
77
78
  }
78
- export declare type JoinFn<TTableName extends string, TSelectMode extends SelectMode, TJoinType extends JoinType, TSelection, TExcludedMethods extends string, TNullabilityMap extends Record<string, JoinNullability>> = <TJoinedTable extends AnyMySqlTable | Subquery, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: SQL | undefined) => MySqlSelectWithFilteredMethodsFromParams<TTableName, AppendToResult<TTableName, TSelection, TJoinedName, TJoinedTable extends AnyMySqlTable ? GetTableConfig<TJoinedTable, 'columns'> : TJoinedName extends Subquery ? Assume<GetSubquerySelection<TJoinedName>, SelectFields> : never, TSelectMode>, TSelectMode extends 'partial' ? TSelectMode : 'multiple', TExcludedMethods, AppendToNullabilityMap<TNullabilityMap, TJoinedName, TJoinType>, never>;
79
- export declare type GetSelectTableName<TTable extends AnyMySqlTable | Subquery | MySqlViewBase> = TTable extends AnyMySqlTable ? GetTableConfig<TTable, 'name'> : TTable extends Subquery<infer TAlias> ? TAlias : TTable extends MySqlViewBase<infer TAlias> ? TAlias : never;
80
- export declare type GetSelectTableSelection<TTable extends AnyMySqlTable | Subquery | MySqlViewBase> = TTable extends AnyMySqlTable ? GetTableConfig<TTable, 'columns'> : TTable extends Subquery<string, infer TSelection> ? TSelection : TTable extends MySqlViewWithSelection<any, any, infer TSelection> ? TSelection : never;
79
+ export declare type JoinFn<THKT extends MySqlSelectHKTBase, TTableName extends string | undefined, TSelectMode extends SelectMode, TJoinType extends JoinType, TSelection, TNullabilityMap extends Record<string, JoinNullability>> = <TJoinedTable extends AnyMySqlTable | Subquery | SQL, TJoinedName extends GetSelectTableName<TJoinedTable> = GetSelectTableName<TJoinedTable>>(table: TJoinedTable, on: ((aliases: TSelection) => SQL | undefined) | SQL | undefined) => MySqlSelectKind<THKT, TTableName, AppendToResult<TTableName, TSelection, TJoinedName, TJoinedTable extends AnyMySqlTable ? GetTableConfig<TJoinedTable, 'columns'> : TJoinedName extends Subquery ? Assume<GetSubquerySelection<TJoinedName>, SelectFields> : never, TSelectMode>, TSelectMode extends 'partial' ? TSelectMode : 'multiple', AppendToNullabilityMap<TNullabilityMap, TJoinedName, TJoinType>>;
80
+ export declare type GetSelectTableName<TTable extends AnyMySqlTable | Subquery | MySqlViewBase | SQL> = TTable extends AnyMySqlTable ? GetTableConfig<TTable, 'name'> : TTable extends Subquery<infer TAlias> ? TAlias : TTable extends MySqlViewBase<infer TAlias> ? TAlias : TTable extends SQL ? undefined : never;
81
+ export declare type GetSelectTableSelection<TTable extends AnyMySqlTable | Subquery | MySqlViewBase | SQL> = TTable extends AnyMySqlTable ? GetTableConfig<TTable, 'columns'> : TTable extends Subquery<string, infer TSelection> ? TSelection : TTable extends MySqlViewWithSelection<any, any, infer TSelection> ? TSelection : TTable extends SQL ? {} : never;
81
82
  export declare type SelectFieldsFlat = SelectFieldsFlatBase<AnyMySqlColumn>;
82
83
  export declare type SelectFields = SelectFieldsBase<AnyMySqlColumn, AnyMySqlTable>;
83
84
  export declare type SelectFieldsOrdered = SelectFieldsOrderedBase<AnyMySqlColumn>;
@@ -96,7 +97,24 @@ export declare type LockConfig = {
96
97
  noWait?: undefined;
97
98
  skipLocked?: undefined;
98
99
  };
99
- export declare type MySqlSelectWithFilteredMethodsFromParams<TTableName extends string, TSelection, TSelectMode extends SelectMode, TExcludedMethods extends string, TNullabilityMap extends Record<string, JoinNullability>, TNewExcludedMethods extends string> = MySqlSelectCore<TTableName, TSelection, TSelectMode, TNullabilityMap> & Omit<MySqlSelect<TTableName, TSelection, TSelectMode, TExcludedMethods | TNewExcludedMethods, TNullabilityMap>, TExcludedMethods | TNewExcludedMethods>;
100
- export declare type MySqlSelectWithFilteredMethods<T extends AnyMySqlSelect, TNewExcludedMethods extends string = never> = T extends MySqlSelect<infer TTableName, infer TSelection, infer TSelectMode, infer TExcludedMethods, infer TNullabilityMap> ? MySqlSelectWithFilteredMethodsFromParams<TTableName, TSelection, TSelectMode, TExcludedMethods, TNullabilityMap, TNewExcludedMethods> : never;
100
+ export interface MySqlSelectHKTBase {
101
+ tableName: string | undefined;
102
+ selection: unknown;
103
+ selectMode: SelectMode;
104
+ nullabilityMap: unknown;
105
+ $type: unknown;
106
+ }
107
+ export declare type MySqlSelectKind<T extends MySqlSelectHKTBase, TTableName extends string | undefined, TSelection, TSelectMode extends SelectMode, TNullabilityMap extends Record<string, JoinNullability>> = (T & {
108
+ tableName: TTableName;
109
+ selection: TSelection;
110
+ selectMode: TSelectMode;
111
+ nullabilityMap: TNullabilityMap;
112
+ })['$type'];
113
+ export interface MySqlSelectQueryBuilderHKT extends MySqlSelectHKTBase {
114
+ $type: MySqlSelectQueryBuilder<this, this['tableName'], this['selection'], this['selectMode'], Assume<this['nullabilityMap'], Record<string, JoinNullability>>>;
115
+ }
116
+ export interface MySqlSelectHKT extends MySqlSelectHKTBase {
117
+ $type: MySqlSelect<this['tableName'], this['selection'], this['selectMode'], Assume<this['nullabilityMap'], Record<string, JoinNullability>>>;
118
+ }
101
119
  export {};
102
120
  //# sourceMappingURL=select.types.d.ts.map