@peerbit/indexer-sqlite3 3.0.6 → 3.0.7

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 (41) hide show
  1. package/dist/assets/sqlite3/sqlite3.worker.min.js +6 -1
  2. package/dist/benchmark/query-planner.d.ts +2 -0
  3. package/dist/benchmark/query-planner.d.ts.map +1 -0
  4. package/dist/benchmark/query-planner.js +97 -0
  5. package/dist/benchmark/query-planner.js.map +1 -0
  6. package/dist/index.min.js +535 -183
  7. package/dist/index.min.js.map +3 -3
  8. package/dist/src/engine.d.ts +15 -4
  9. package/dist/src/engine.d.ts.map +1 -1
  10. package/dist/src/engine.js +364 -179
  11. package/dist/src/engine.js.map +1 -1
  12. package/dist/src/query-planner.d.ts +20 -0
  13. package/dist/src/query-planner.d.ts.map +1 -1
  14. package/dist/src/query-planner.js +191 -21
  15. package/dist/src/query-planner.js.map +1 -1
  16. package/dist/src/schema.d.ts +6 -2
  17. package/dist/src/schema.d.ts.map +1 -1
  18. package/dist/src/schema.js +11 -8
  19. package/dist/src/schema.js.map +1 -1
  20. package/dist/src/sqlite3-messages.worker.d.ts +8 -1
  21. package/dist/src/sqlite3-messages.worker.d.ts.map +1 -1
  22. package/dist/src/sqlite3-messages.worker.js.map +1 -1
  23. package/dist/src/sqlite3.browser.d.ts.map +1 -1
  24. package/dist/src/sqlite3.browser.js +21 -0
  25. package/dist/src/sqlite3.browser.js.map +1 -1
  26. package/dist/src/sqlite3.wasm.d.ts.map +1 -1
  27. package/dist/src/sqlite3.wasm.js +4 -1
  28. package/dist/src/sqlite3.wasm.js.map +1 -1
  29. package/dist/src/sqlite3.worker.js +6 -0
  30. package/dist/src/sqlite3.worker.js.map +1 -1
  31. package/dist/src/types.d.ts +4 -0
  32. package/dist/src/types.d.ts.map +1 -1
  33. package/package.json +6 -5
  34. package/src/engine.ts +464 -235
  35. package/src/query-planner.ts +247 -22
  36. package/src/schema.ts +21 -4
  37. package/src/sqlite3-messages.worker.ts +6 -0
  38. package/src/sqlite3.browser.ts +33 -0
  39. package/src/sqlite3.wasm.ts +4 -1
  40. package/src/sqlite3.worker.ts +6 -0
  41. package/src/types.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { Query, Sort } from "@peerbit/indexer-interface";
2
2
  import { type DeferredPromise } from "p-defer";
3
+ type IndexColumn = {
4
+ name: string;
5
+ collation?: "NOCASE";
6
+ };
3
7
  export interface QueryIndexPlanner {
4
8
  columnsToIndexes: Map<string, {
5
9
  results: {
@@ -7,6 +11,7 @@ export interface QueryIndexPlanner {
7
11
  avg: number;
8
12
  times: number[];
9
13
  indexKey: string;
14
+ columns: IndexColumn[];
10
15
  created: () => boolean;
11
16
  creationPromiseDeferred: DeferredPromise<void>;
12
17
  }[];
@@ -33,14 +38,29 @@ export type PlanningSession = ReturnType<QueryPlanner["scope"]>;
33
38
  export declare class QueryPlanner {
34
39
  readonly props: {
35
40
  exec: (query: string) => Promise<any> | any;
41
+ /**
42
+ * INDEXED BY is a hard SQLite requirement, not a hint. Keep the legacy
43
+ * forced-index behavior by default and allow callers to disable it once
44
+ * their query shapes have been verified against SQLite's own planner.
45
+ */
46
+ forceIndexes?: boolean;
47
+ optimizeAfterCreate?: boolean;
36
48
  };
37
49
  stats: StmtStats;
38
50
  pendingIndexCreation: Map<string, Promise<void>>;
39
51
  constructor(props: {
40
52
  exec: (query: string) => Promise<any> | any;
53
+ /**
54
+ * INDEXED BY is a hard SQLite requirement, not a hint. Keep the legacy
55
+ * forced-index behavior by default and allow callers to disable it once
56
+ * their query shapes have been verified against SQLite's own planner.
57
+ */
58
+ forceIndexes?: boolean;
59
+ optimizeAfterCreate?: boolean;
41
60
  });
42
61
  stop(): Promise<void>;
43
62
  scope(query: PlannableQuery): {
63
+ readonly forceIndex: boolean;
44
64
  beforePrepare: () => Promise<void>;
45
65
  resolveIndex: (tableName: string, columns: string[]) => string;
46
66
  perform: <T>(fn: () => Promise<T>) => Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"query-planner.d.ts","sourceRoot":"","sources":["../../src/query-planner.ts"],"names":[],"mappings":"AAGA,OAAO,EAYN,KAAK,EACL,IAAI,EAGJ,MAAM,4BAA4B,CAAC;AAEpC,OAAe,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAGjC,gBAAgB,EAAE,GAAG,CACpB,MAAM,EACN;QACC,OAAO,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,OAAO,CAAC;YACvB,uBAAuB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;SAC/C,EAAE,CAAC;KACJ,CACD,CAAC;CACF;AAED,KAAK,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAUhD,eAAO,MAAM,YAAY,GAAc,QAAQ;IAC9C,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACrB,KAAG,SAAS,CAAC;IAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,CA4CjE,CAAC;AAgEF,qBAAa,cAAc;IAE1B,KAAK,EAAE,KAAK,EAAE,CAAC;IAGf,IAAI,EAAE,IAAI,EAAE,CAAC;gBAED,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;KAAE;IAS3D,IAAI,GAAG,IAAI,MAAM,CAOhB;CACD;AACD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAEhE,qBAAa,YAAY;IAMvB,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;KAAE;IALhE,KAAK,EAAE,SAAS,CAAa;IAE7B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAa;gBAGnD,KAAK,EAAE;QAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;KAAE;IAG1D,IAAI;IAOV,KAAK,CAAC,KAAK,EAAE,cAAc;;kCA6CC,MAAM,WAAW,MAAM,EAAE,KAAG,MAAM;kBAsD5C,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;;CAgCtD"}
1
+ {"version":3,"file":"query-planner.d.ts","sourceRoot":"","sources":["../../src/query-planner.ts"],"names":[],"mappings":"AAGA,OAAO,EAYN,KAAK,EACL,IAAI,EAIJ,MAAM,4BAA4B,CAAC;AAEpC,OAAe,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAGvD,KAAK,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAGjC,gBAAgB,EAAE,GAAG,CACpB,MAAM,EACN;QACC,OAAO,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,EAAE,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,WAAW,EAAE,CAAC;YACvB,OAAO,EAAE,MAAM,OAAO,CAAC;YACvB,uBAAuB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;SAC/C,EAAE,CAAC;KACJ,CACD,CAAC;CACF;AAED,KAAK,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAgBhD,eAAO,MAAM,YAAY,GAAc,QAAQ;IAC9C,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACrB,KAAG,SAAS,CAAC;IAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,CA4CjE,CAAC;AAgEF,qBAAa,cAAc;IAE1B,KAAK,EAAE,KAAK,EAAE,CAAC;IAGf,IAAI,EAAE,IAAI,EAAE,CAAC;gBAED,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;KAAE;IAS3D,IAAI,GAAG,IAAI,MAAM,CAOhB;CACD;AACD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAEhE,qBAAa,YAAY;IAMvB,QAAQ,CAAC,KAAK,EAAE;QACf,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC5C;;;;WAIG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC9B;IAdF,KAAK,EAAE,SAAS,CAAa;IAE7B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAa;gBAGnD,KAAK,EAAE;QACf,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC5C;;;;WAIG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC9B;IAGI,IAAI;IAOV,KAAK,CAAC,KAAK,EAAE,cAAc;;;kCAqEC,MAAM,WAAW,MAAM,EAAE,KAAG,MAAM;kBAsE5C,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;;CAgCtD"}
@@ -35,14 +35,18 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
35
35
  // track timing for optimal index selection
36
36
  import { field, serialize, vec } from "@dao-xyz/borsh";
37
37
  import { sha256Base64Sync } from "@peerbit/crypto";
38
- import { And, BigUnsignedIntegerValue, BoolQuery, ByteMatchQuery, Compare, IntegerCompare, IntegerValue, IsNull, Nested, Not, Or, Query, Sort, StringMatch, UnsignedIntegerValue, } from "@peerbit/indexer-interface";
38
+ import { And, BigUnsignedIntegerValue, BoolQuery, ByteMatchQuery, Compare, IntegerCompare, IntegerValue, IsNull, Nested, Not, Or, Query, Sort, StringMatch, StringMatchMethod, UnsignedIntegerValue, } from "@peerbit/indexer-interface";
39
39
  import { hrtime } from "@peerbit/time";
40
40
  import pDefer, {} from "p-defer";
41
41
  import { escapeColumnName } from "./schema.js";
42
- const getSortedNameKey = (tableName, names) => [tableName, ...names.sort()].join(",");
43
- const createIndexKey = (tableName, fields) => `${tableName}_index_${fields.map((x) => x).join("_")}`;
42
+ const getSortedNameKey = (tableName, names) => [tableName, ...[...names].sort()].join(",");
43
+ const getIndexColumnKey = (field) => `${field.name}${field.collation ? `_collate_${field.collation.toLowerCase()}` : ""}`;
44
+ const createIndexKey = (tableName, fields) => `${tableName}_index_${fields.map((x) => getIndexColumnKey(x).replace(/[^a-zA-Z0-9_]/g, "_")).join("_")}`;
45
+ const createIndexColumnSQL = (field) => `${escapeColumnName(field.name)}${field.collation ? ` COLLATE ${field.collation}` : ""}`;
44
46
  const HALF_MAX_U32 = 2147483647; // rounded down
45
47
  const HALF_MAX_U64 = 9223372036854775807n; // rounded down
48
+ const PARENT_TABLE_ID = "__parent_id";
49
+ const AMBIGUOUS_CHILD_FORCE_AFTER_USES = 6_000;
46
50
  export const flattenQuery = function* (props) {
47
51
  if (!props) {
48
52
  return yield props;
@@ -216,24 +220,45 @@ export class QueryPlanner {
216
220
  let indexCreateCommands = undefined;
217
221
  let pickedIndexKeys = new Map(); // index key to column names key
218
222
  let indexCreationPromiseToAwait = [];
223
+ let forceIndex = this.props.forceIndexes !== false;
219
224
  return {
225
+ get forceIndex() {
226
+ return forceIndex;
227
+ },
220
228
  beforePrepare: async () => {
221
229
  // create missing indices
222
230
  if (indexCreateCommands != null) {
223
- for (const { key, cmd, deferred } of indexCreateCommands) {
231
+ const commandsToCreate = [];
232
+ for (const command of indexCreateCommands) {
233
+ if (this.pendingIndexCreation.has(command.key)) {
234
+ // TODO is this kind of debouncing needed? how do we end up here?
235
+ await this.pendingIndexCreation.get(command.key);
236
+ continue;
237
+ }
238
+ commandsToCreate.push(command);
239
+ }
240
+ if (commandsToCreate.length > 0) {
241
+ const creationPromise = Promise.resolve(this.props.exec([
242
+ ...commandsToCreate.map((command) => command.cmd),
243
+ ...(this.props.optimizeAfterCreate === false
244
+ ? []
245
+ : ["PRAGMA optimize"]),
246
+ ].join(";")));
247
+ for (const { key } of commandsToCreate) {
248
+ this.pendingIndexCreation.set(key, creationPromise);
249
+ }
224
250
  try {
225
- if (this.pendingIndexCreation.has(key)) {
226
- // TODO is this kind of debouncing needed? how do we end up here?
227
- await this.pendingIndexCreation.get(key);
251
+ await creationPromise;
252
+ for (const { key, deferred } of commandsToCreate) {
253
+ this.pendingIndexCreation.delete(key);
254
+ deferred.resolve();
228
255
  }
229
- const promise = this.props.exec(cmd);
230
- this.pendingIndexCreation.set(key, promise);
231
- await promise;
232
- this.pendingIndexCreation.delete(key);
233
- deferred.resolve();
234
256
  }
235
257
  catch (error) {
236
- deferred.reject(error);
258
+ for (const { key, deferred } of commandsToCreate) {
259
+ this.pendingIndexCreation.delete(key);
260
+ deferred.reject(error);
261
+ }
237
262
  }
238
263
  }
239
264
  }
@@ -245,6 +270,7 @@ export class QueryPlanner {
245
270
  await Promise.all(indexCreationPromiseToAwait);
246
271
  },
247
272
  resolveIndex: (tableName, columns) => {
273
+ forceIndex = this.props.forceIndexes !== false;
248
274
  // first we figure out whether we want to reuse the fastest index or try a new one
249
275
  // only assume we either do forward or backward column order for now (not all n! permutations)
250
276
  const sortedNameKey = getSortedNameKey(tableName, columns);
@@ -256,11 +282,10 @@ export class QueryPlanner {
256
282
  obj.columnsToIndexes.set(sortedNameKey, indexStats);
257
283
  }
258
284
  if (indexStats.results.length === 0) {
259
- // create both forward and backward permutations
260
- const permutations = generatePermutations(columns);
261
- for (const columns of permutations) {
285
+ const candidates = generateIndexCandidates(query, columns);
286
+ for (const columns of candidates) {
262
287
  const indexKey = createIndexKey(tableName, columns);
263
- const command = `create index if not exists ${indexKey} on ${tableName} (${columns.map((n) => escapeColumnName(n)).join(", ")})`;
288
+ const command = `create index if not exists ${indexKey} on ${tableName} (${columns.map((n) => createIndexColumnSQL(n)).join(", ")})`;
264
289
  let deferred = pDefer();
265
290
  (indexCreateCommands || (indexCreateCommands = [])).push({
266
291
  cmd: command,
@@ -276,11 +301,21 @@ export class QueryPlanner {
276
301
  times: [],
277
302
  avg: -1, // setting -1 will force the first time to be the fastest (i.e. new indices are always tested once)
278
303
  indexKey,
304
+ columns,
279
305
  created: () => created,
280
306
  creationPromiseDeferred: deferred,
281
307
  });
282
308
  }
283
309
  }
310
+ const isAmbiguousChildPredicate = query.sort.length === 0 &&
311
+ columns.includes(PARENT_TABLE_ID) &&
312
+ columns.length > 1;
313
+ if (isAmbiguousChildPredicate) {
314
+ const totalUses = indexStats.results.reduce((sum, result) => sum + result.used, 0);
315
+ forceIndex =
316
+ this.props.forceIndexes !== false &&
317
+ totalUses >= AMBIGUOUS_CHILD_FORCE_AFTER_USES;
318
+ }
284
319
  // find the fastest index
285
320
  let fastestIndex = indexStats.results[0];
286
321
  fastestIndex.used++;
@@ -319,10 +354,145 @@ export class QueryPlanner {
319
354
  };
320
355
  }
321
356
  }
322
- const generatePermutations = (list) => {
323
- if (list.length === 1)
324
- return [list];
325
- return [list, [...list].reverse()];
357
+ const queryKeyToColumnName = (key) => {
358
+ if (key.length > 2) {
359
+ return `${key.slice(0, -1).join("_")}__${key[key.length - 1]}`;
360
+ }
361
+ return key.join("__");
362
+ };
363
+ const pushUniqueColumn = (list, column) => {
364
+ const key = getIndexColumnKey(column);
365
+ if (!list.some((x) => getIndexColumnKey(x) === key)) {
366
+ list.push(column);
367
+ }
368
+ };
369
+ const pushColumns = (target, columns) => {
370
+ for (const column of columns) {
371
+ pushUniqueColumn(target, column);
372
+ }
373
+ };
374
+ const getIndexableQueryColumns = (query, availableColumns) => {
375
+ const equality = [];
376
+ const range = [];
377
+ const visit = (item, path = []) => {
378
+ if (item instanceof And) {
379
+ for (const condition of item.and) {
380
+ visit(condition, path);
381
+ }
382
+ return;
383
+ }
384
+ if (item instanceof Or) {
385
+ for (const condition of item.or) {
386
+ visit(condition, path);
387
+ }
388
+ return;
389
+ }
390
+ if (item instanceof Not) {
391
+ return;
392
+ }
393
+ if (item instanceof Nested) {
394
+ for (const condition of item.query) {
395
+ visit(condition, [...path, ...item.path]);
396
+ }
397
+ return;
398
+ }
399
+ let key;
400
+ let target;
401
+ let collation;
402
+ if (item instanceof IntegerCompare) {
403
+ key = item.key;
404
+ target = item.compare === Compare.Equal ? equality : range;
405
+ }
406
+ else if (item instanceof StringMatch) {
407
+ key = item.key;
408
+ if (item.method === StringMatchMethod.contains) {
409
+ return;
410
+ }
411
+ target = item.method === StringMatchMethod.exact ? equality : range;
412
+ collation = item.caseInsensitive ? "NOCASE" : undefined;
413
+ }
414
+ else if (item instanceof ByteMatchQuery ||
415
+ item instanceof BoolQuery ||
416
+ item instanceof IsNull) {
417
+ key = item.key;
418
+ target = equality;
419
+ }
420
+ if (!key || !target) {
421
+ return;
422
+ }
423
+ const columnName = queryKeyToColumnName([...path, ...key]);
424
+ if (availableColumns.has(columnName)) {
425
+ pushUniqueColumn(target, { name: columnName, collation });
426
+ }
427
+ };
428
+ for (const item of query) {
429
+ visit(item);
430
+ }
431
+ return { equality, range };
432
+ };
433
+ const getSortableColumns = (sort, availableColumns) => {
434
+ const out = [];
435
+ for (const item of sort) {
436
+ const columnName = queryKeyToColumnName(item.key);
437
+ if (availableColumns.has(columnName)) {
438
+ pushUniqueColumn(out, { name: columnName });
439
+ }
440
+ }
441
+ return out;
442
+ };
443
+ const normalizeCandidate = (columns) => {
444
+ const out = [];
445
+ pushColumns(out, columns);
446
+ return out;
447
+ };
448
+ const generateIndexCandidates = (query, columns) => {
449
+ if (columns.length === 0) {
450
+ return [];
451
+ }
452
+ const availableColumns = new Set(columns);
453
+ const { equality, range } = getIndexableQueryColumns(query.query, availableColumns);
454
+ const sort = getSortableColumns(query.sort, availableColumns);
455
+ const join = availableColumns.has(PARENT_TABLE_ID)
456
+ ? [{ name: PARENT_TABLE_ID }]
457
+ : [];
458
+ const knownColumnNames = new Set([...join, ...equality, ...range, ...sort].map((x) => x.name));
459
+ const remaining = columns
460
+ .filter((column) => !knownColumnNames.has(column))
461
+ .map((name) => ({ name }));
462
+ const candidates = [];
463
+ const pushCandidate = (...parts) => {
464
+ const candidate = normalizeCandidate(parts.flat());
465
+ if (candidate.length > 0 &&
466
+ !candidates.some((existing) => existing.map(getIndexColumnKey).join(",") ===
467
+ candidate.map(getIndexColumnKey).join(","))) {
468
+ candidates.push(candidate);
469
+ }
470
+ };
471
+ if (sort.length > 0 && range.length > 0) {
472
+ pushCandidate(join, equality, sort, range, remaining);
473
+ pushCandidate(join, equality, range, sort, remaining);
474
+ }
475
+ else if (sort.length > 0) {
476
+ pushCandidate(join, equality, sort, range, remaining);
477
+ }
478
+ else {
479
+ if (join.length > 0 && (equality.length > 0 || range.length > 0)) {
480
+ pushCandidate(equality, range, join, remaining);
481
+ }
482
+ pushCandidate(join, equality, range, remaining);
483
+ }
484
+ if (join.length > 0 && (equality.length > 0 || range.length > 0)) {
485
+ if (sort.length > 0 && range.length > 0) {
486
+ pushCandidate(equality, sort, range, join, remaining);
487
+ pushCandidate(equality, range, sort, join, remaining);
488
+ }
489
+ else if (sort.length > 0) {
490
+ pushCandidate(equality, range, sort, join, remaining);
491
+ }
492
+ }
493
+ pushCandidate(columns.map((name) => ({ name })));
494
+ pushCandidate([...columns].reverse().map((name) => ({ name })));
495
+ return candidates;
326
496
  };
327
497
  /* const generatePermutations = (list: string[]) => {
328
498
  const results: string[][] = [];
@@ -1 +1 @@
1
- {"version":3,"file":"query-planner.js","sourceRoot":"","sources":["../../src/query-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-planner.js","sourceRoot":"","sources":["../../src/query-planner.ts"],"names":[],"mappings":"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"}
@@ -88,11 +88,15 @@ export declare const selectAllFieldsFromTable: (table: Table, shape: types.Shape
88
88
  };
89
89
  export declare const resolveInstanceFromValue: <T, S extends types.Shape | undefined>(fromTablePrefixedValues: Record<string, any>, tables: Map<string, Table>, table: Table, resolveChildren: (parentId: any, table: Table) => Promise<any[]>, tablePrefixed: boolean, shape?: S) => Promise<types.ReturnTypeFromShape<T, S>>;
90
90
  export declare const fromRowToObj: (row: any, ctor: Constructor<any>) => any;
91
- export declare const convertDeleteRequestToQuery: (request: types.DeleteOptions, tables: Map<string, Table>, table: Table) => {
91
+ export declare const convertDeleteRequestToQuery: (request: types.DeleteOptions, tables: Map<string, Table>, table: Table, options?: {
92
+ planner?: PlanningSession;
93
+ }) => {
92
94
  sql: string;
93
95
  bindable: any[];
94
96
  };
95
- export declare const convertSumRequestToQuery: (request: types.SumOptions, tables: Map<string, Table>, table: Table) => {
97
+ export declare const convertSumRequestToQuery: (request: types.SumOptions, tables: Map<string, Table>, table: Table, options?: {
98
+ planner?: PlanningSession;
99
+ }) => {
96
100
  sql: string;
97
101
  bindable: any[];
98
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
@@ -1121,15 +1121,15 @@ export const fromRowToObj = (row, ctor) => {
1121
1121
  }
1122
1122
  return Object.assign(Object.create(ctor.prototype), obj);
1123
1123
  };
1124
- export const convertDeleteRequestToQuery = (request, tables, table) => {
1125
- const { query, bindable } = convertRequestToQuery("delete", { query: coerceLocalQueries(request.query) }, tables, table);
1124
+ export const convertDeleteRequestToQuery = (request, tables, table, options) => {
1125
+ const { query, bindable } = convertRequestToQuery("delete", { query: coerceLocalQueries(request.query) }, tables, table, undefined, [], options);
1126
1126
  return {
1127
1127
  sql: `DELETE FROM ${table.name} WHERE ${table.name}.${table.primary} IN (SELECT ${table.primary} from ${table.name} ${query}) returning ${table.primary}`,
1128
1128
  bindable,
1129
1129
  };
1130
1130
  };
1131
- export const convertSumRequestToQuery = (request, tables, table) => {
1132
- const { query, bindable } = convertRequestToQuery("sum", { query: coerceLocalQueries(request.query), key: request.key }, tables, table);
1131
+ export const convertSumRequestToQuery = (request, tables, table, options) => {
1132
+ const { query, bindable } = convertRequestToQuery("sum", { query: coerceLocalQueries(request.query), key: request.key }, tables, table, undefined, [], options);
1133
1133
  const inlineName = getInlineTableFieldName(request.key);
1134
1134
  const field = table.fields.find((x) => x.name === inlineName);
1135
1135
  if (unwrapNestedType(field.from.type) === "u64") {
@@ -1363,10 +1363,13 @@ const _buildJoin = (table, options) => {
1363
1363
  table.table.primary !== false &&
1364
1364
  usedColumns.length === 1 &&
1365
1365
  usedColumns[0] === table.table.primary;
1366
- indexedBy =
1367
- options?.planner && !usesImplicitPrimaryKeyIndex
1368
- ? ` INDEXED BY ${options.planner.resolveIndex(table.table.name, usedColumns)} `
1369
- : "";
1366
+ if (options?.planner && !usesImplicitPrimaryKeyIndex) {
1367
+ const indexKey = options.planner.resolveIndex(table.table.name, usedColumns);
1368
+ indexedBy = options.planner.forceIndex ? ` INDEXED BY ${indexKey} ` : "";
1369
+ }
1370
+ else {
1371
+ indexedBy = "";
1372
+ }
1370
1373
  }
1371
1374
  if (table.type !== "root") {
1372
1375
  let nonInlinedParent = table.table.parent && getNonInlinedTable(table.table.parent);