@type32/tauri-sqlite-orm 0.1.18-13 → 0.1.18-14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -58,6 +58,7 @@ declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns exten
58
58
  private joins;
59
59
  private includeRelations;
60
60
  private selectedTableAlias;
61
+ private selectedColumns;
61
62
  constructor(db: Database, table: TTable, columns?: TSelectedColumns | undefined);
62
63
  distinct(): this;
63
64
  groupBy(...columns: AnySQLiteColumn[]): this;
package/dist/index.d.ts CHANGED
@@ -58,6 +58,7 @@ declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns exten
58
58
  private joins;
59
59
  private includeRelations;
60
60
  private selectedTableAlias;
61
+ private selectedColumns;
61
62
  constructor(db: Database, table: TTable, columns?: TSelectedColumns | undefined);
62
63
  distinct(): this;
63
64
  groupBy(...columns: AnySQLiteColumn[]): this;
package/dist/index.js CHANGED
@@ -186,8 +186,8 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
186
186
  this.table = table;
187
187
  this.columns = columns;
188
188
  this.selectedTableAlias = table._.name;
189
- const columnNames = columns ? columns.map((c) => `${this.selectedTableAlias}.${table._.columns[c]._.name}`) : [`${this.selectedTableAlias}.*`];
190
- this.query = `SELECT ${columnNames.join(", ")} FROM ${table._.name} ${this.selectedTableAlias}`;
189
+ this.selectedColumns = columns ? columns.map((c) => `${this.selectedTableAlias}.${table._.columns[c]._.name}`) : [`${this.selectedTableAlias}.*`];
190
+ this.query = `FROM ${table._.name} ${this.selectedTableAlias}`;
191
191
  }
192
192
  isDistinct = false;
193
193
  groupByColumns = [];
@@ -195,9 +195,9 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
195
195
  joins = [];
196
196
  includeRelations = {};
197
197
  selectedTableAlias;
198
+ selectedColumns = [];
198
199
  distinct() {
199
200
  this.isDistinct = true;
200
- this.query = this.query.replace("SELECT", "SELECT DISTINCT");
201
201
  return this;
202
202
  }
203
203
  groupBy(...columns) {
@@ -214,10 +214,12 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
214
214
  }
215
215
  leftJoin(table, condition, alias2) {
216
216
  this.joins.push({ type: "LEFT", table, condition, alias: alias2 });
217
+ this.selectedColumns.push(`${alias2}.*`);
217
218
  return this;
218
219
  }
219
220
  innerJoin(table, condition, alias2) {
220
221
  this.joins.push({ type: "INNER", table, condition, alias: alias2 });
222
+ this.selectedColumns.push(`${alias2}.*`);
221
223
  return this;
222
224
  }
223
225
  include(relations2) {
@@ -237,6 +239,7 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
237
239
  if (!relation) continue;
238
240
  const foreignTable = relation.foreignTable;
239
241
  const foreignAlias = `${this.selectedTableAlias}_${relationName}`;
242
+ this.selectedColumns.push(`${foreignAlias}.*`);
240
243
  if (relation.type === "one" && relation.fields && relation.references) {
241
244
  const conditions = relation.fields.map((field, i) => {
242
245
  const localColumn = `${this.selectedTableAlias}.${field._.name}`;
@@ -266,10 +269,6 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
266
269
  const condition = conditions.length > 1 ? and(...conditions) : conditions[0];
267
270
  sql2 += ` LEFT JOIN ${foreignTable._.name} ${foreignAlias} ON ${condition.sql}`;
268
271
  params.push(...condition.params);
269
- this.query = this.query.replace("SELECT ", `SELECT ${this.selectedTableAlias}.*, ${foreignAlias}.* `).replace(
270
- `SELECT ${this.selectedTableAlias}.*, `,
271
- `SELECT ${this.selectedTableAlias}.*, ${foreignAlias}.*, `
272
- );
273
272
  }
274
273
  }
275
274
  }
@@ -278,9 +277,12 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
278
277
  // Enhanced execute method that handles relation data mapping
279
278
  async execute() {
280
279
  const { sql: joinSql, params: joinParams } = this.buildJoins();
280
+ const distinct = this.isDistinct ? "DISTINCT " : "";
281
+ this.query = `SELECT ${distinct}${this.selectedColumns.join(", ")} ${this.query}`;
281
282
  this.query += joinSql;
282
283
  this.params.push(...joinParams);
283
284
  const { sql: sql2, params } = this.build();
285
+ console.log("Executing SQL:", sql2, "with params:", params);
284
286
  const rawResults = await this.db.select(sql2, params);
285
287
  if (Object.keys(this.includeRelations).some((key) => this.includeRelations[key])) {
286
288
  const processed = this.processRelationResults(rawResults);
package/dist/index.mjs CHANGED
@@ -119,8 +119,8 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
119
119
  this.table = table;
120
120
  this.columns = columns;
121
121
  this.selectedTableAlias = table._.name;
122
- const columnNames = columns ? columns.map((c) => `${this.selectedTableAlias}.${table._.columns[c]._.name}`) : [`${this.selectedTableAlias}.*`];
123
- this.query = `SELECT ${columnNames.join(", ")} FROM ${table._.name} ${this.selectedTableAlias}`;
122
+ this.selectedColumns = columns ? columns.map((c) => `${this.selectedTableAlias}.${table._.columns[c]._.name}`) : [`${this.selectedTableAlias}.*`];
123
+ this.query = `FROM ${table._.name} ${this.selectedTableAlias}`;
124
124
  }
125
125
  isDistinct = false;
126
126
  groupByColumns = [];
@@ -128,9 +128,9 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
128
128
  joins = [];
129
129
  includeRelations = {};
130
130
  selectedTableAlias;
131
+ selectedColumns = [];
131
132
  distinct() {
132
133
  this.isDistinct = true;
133
- this.query = this.query.replace("SELECT", "SELECT DISTINCT");
134
134
  return this;
135
135
  }
136
136
  groupBy(...columns) {
@@ -147,10 +147,12 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
147
147
  }
148
148
  leftJoin(table, condition, alias2) {
149
149
  this.joins.push({ type: "LEFT", table, condition, alias: alias2 });
150
+ this.selectedColumns.push(`${alias2}.*`);
150
151
  return this;
151
152
  }
152
153
  innerJoin(table, condition, alias2) {
153
154
  this.joins.push({ type: "INNER", table, condition, alias: alias2 });
155
+ this.selectedColumns.push(`${alias2}.*`);
154
156
  return this;
155
157
  }
156
158
  include(relations2) {
@@ -170,6 +172,7 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
170
172
  if (!relation) continue;
171
173
  const foreignTable = relation.foreignTable;
172
174
  const foreignAlias = `${this.selectedTableAlias}_${relationName}`;
175
+ this.selectedColumns.push(`${foreignAlias}.*`);
173
176
  if (relation.type === "one" && relation.fields && relation.references) {
174
177
  const conditions = relation.fields.map((field, i) => {
175
178
  const localColumn = `${this.selectedTableAlias}.${field._.name}`;
@@ -199,10 +202,6 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
199
202
  const condition = conditions.length > 1 ? and(...conditions) : conditions[0];
200
203
  sql2 += ` LEFT JOIN ${foreignTable._.name} ${foreignAlias} ON ${condition.sql}`;
201
204
  params.push(...condition.params);
202
- this.query = this.query.replace("SELECT ", `SELECT ${this.selectedTableAlias}.*, ${foreignAlias}.* `).replace(
203
- `SELECT ${this.selectedTableAlias}.*, `,
204
- `SELECT ${this.selectedTableAlias}.*, ${foreignAlias}.*, `
205
- );
206
205
  }
207
206
  }
208
207
  }
@@ -211,9 +210,12 @@ var SelectQueryBuilder = class extends BaseQueryBuilder {
211
210
  // Enhanced execute method that handles relation data mapping
212
211
  async execute() {
213
212
  const { sql: joinSql, params: joinParams } = this.buildJoins();
213
+ const distinct = this.isDistinct ? "DISTINCT " : "";
214
+ this.query = `SELECT ${distinct}${this.selectedColumns.join(", ")} ${this.query}`;
214
215
  this.query += joinSql;
215
216
  this.params.push(...joinParams);
216
217
  const { sql: sql2, params } = this.build();
218
+ console.log("Executing SQL:", sql2, "with params:", params);
217
219
  const rawResults = await this.db.select(sql2, params);
218
220
  if (Object.keys(this.includeRelations).some((key) => this.includeRelations[key])) {
219
221
  const processed = this.processRelationResults(rawResults);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@type32/tauri-sqlite-orm",
3
- "version": "0.1.18-13",
3
+ "version": "0.1.18-14",
4
4
  "description": "A Drizzle-like ORM for Tauri v2's SQL JS API plugin.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",