@query-doctor/core 0.4.1 → 0.4.2

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 (63) hide show
  1. package/dist/index.cjs +1678 -2000
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +750 -0
  4. package/dist/index.d.cts.map +1 -0
  5. package/dist/index.d.mts +750 -0
  6. package/dist/index.d.mts.map +1 -0
  7. package/dist/index.mjs +1676 -24978
  8. package/dist/index.mjs.map +1 -1
  9. package/package.json +12 -11
  10. package/dist/explain/rewriter.d.ts +0 -4
  11. package/dist/explain/rewriter.d.ts.map +0 -1
  12. package/dist/explain/traverse.d.ts +0 -3
  13. package/dist/explain/traverse.d.ts.map +0 -1
  14. package/dist/explain/tree.d.ts +0 -73
  15. package/dist/explain/tree.d.ts.map +0 -1
  16. package/dist/index.d.ts +0 -10
  17. package/dist/index.d.ts.map +0 -1
  18. package/dist/index.js +0 -2352
  19. package/dist/index.js.map +0 -1
  20. package/dist/optimizer/genalgo.d.ts +0 -104
  21. package/dist/optimizer/genalgo.d.ts.map +0 -1
  22. package/dist/optimizer/genalgo.test.d.ts +0 -2
  23. package/dist/optimizer/genalgo.test.d.ts.map +0 -1
  24. package/dist/optimizer/index-candidate.d.ts +0 -23
  25. package/dist/optimizer/index-candidate.d.ts.map +0 -1
  26. package/dist/optimizer/index-shrinker.d.ts +0 -10
  27. package/dist/optimizer/index-shrinker.d.ts.map +0 -1
  28. package/dist/optimizer/index-shrinker.test.d.ts +0 -2
  29. package/dist/optimizer/index-shrinker.test.d.ts.map +0 -1
  30. package/dist/optimizer/index-tester.d.ts +0 -2
  31. package/dist/optimizer/index-tester.d.ts.map +0 -1
  32. package/dist/optimizer/pss-rewriter.d.ts +0 -11
  33. package/dist/optimizer/pss-rewriter.d.ts.map +0 -1
  34. package/dist/optimizer/pss-rewriter.test.d.ts +0 -2
  35. package/dist/optimizer/pss-rewriter.test.d.ts.map +0 -1
  36. package/dist/optimizer/statistics.d.ts +0 -360
  37. package/dist/optimizer/statistics.d.ts.map +0 -1
  38. package/dist/sql/analyzer.d.ts +0 -105
  39. package/dist/sql/analyzer.d.ts.map +0 -1
  40. package/dist/sql/analyzer.test.d.ts +0 -2
  41. package/dist/sql/analyzer.test.d.ts.map +0 -1
  42. package/dist/sql/builder.d.ts +0 -31
  43. package/dist/sql/builder.d.ts.map +0 -1
  44. package/dist/sql/builder.test.d.ts +0 -2
  45. package/dist/sql/builder.test.d.ts.map +0 -1
  46. package/dist/sql/database.d.ts +0 -84
  47. package/dist/sql/database.d.ts.map +0 -1
  48. package/dist/sql/indexes.d.ts +0 -8
  49. package/dist/sql/indexes.d.ts.map +0 -1
  50. package/dist/sql/nudges.d.ts +0 -16
  51. package/dist/sql/nudges.d.ts.map +0 -1
  52. package/dist/sql/permutations.d.ts +0 -10
  53. package/dist/sql/permutations.d.ts.map +0 -1
  54. package/dist/sql/permutations.test.d.ts +0 -2
  55. package/dist/sql/permutations.test.d.ts.map +0 -1
  56. package/dist/sql/pg-identifier.d.ts +0 -26
  57. package/dist/sql/pg-identifier.d.ts.map +0 -1
  58. package/dist/sql/pg-identifier.test.d.ts +0 -2
  59. package/dist/sql/pg-identifier.test.d.ts.map +0 -1
  60. package/dist/sql/walker.d.ts +0 -46
  61. package/dist/sql/walker.d.ts.map +0 -1
  62. package/dist/sql/walker.test.d.ts +0 -2
  63. package/dist/sql/walker.test.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"permutations.d.ts","sourceRoot":"","sources":["../../src/sql/permutations.ts"],"names":[],"mappings":"AAAA;;;;;;;IAOI;AACJ,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAgBnE"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=permutations.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permutations.test.d.ts","sourceRoot":"","sources":["../../src/sql/permutations.test.ts"],"names":[],"mappings":""}
@@ -1,26 +0,0 @@
1
- /**
2
- * Represents an identifier in postgres that is subject
3
- * to quoting rules. The {@link toString} rule behaves
4
- * exactly like calling `select quote_ident($1)` in postgres
5
- */
6
- export declare class PgIdentifier {
7
- private readonly value;
8
- private readonly quoted;
9
- private constructor();
10
- /**
11
- * Constructs an identifier from a single part (column or table name).
12
- * When quoting identifiers like `select table.col` use {@link fromParts} instead
13
- */
14
- static fromString(identifier: string): PgIdentifier;
15
- /**
16
- * Quotes parts of an identifier like `select schema.table.col`.
17
- * A separate function is necessary because postgres will treat
18
- * `select "HELLO.WORLD"` as a column name. It has to be like
19
- * `select "HELLO"."WORLD"` instead.
20
- */
21
- static fromParts(...identifiers: (string | PgIdentifier)[]): PgIdentifier;
22
- toString(): string;
23
- toJSON(): string;
24
- private static readonly reservedKeywords;
25
- }
26
- //# sourceMappingURL=pg-identifier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pg-identifier.d.ts","sourceRoot":"","sources":["../../src/sql/pg-identifier.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFzB,OAAO;IAKP;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY;IAgBnD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,EAAE,GAAG,YAAY;IAezE,QAAQ,IAAI,MAAM;IAOlB,MAAM,IAAI,MAAM;IAMhB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAqKrC;CACJ"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=pg-identifier.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pg-identifier.test.d.ts","sourceRoot":"","sources":["../../src/sql/pg-identifier.test.ts"],"names":[],"mappings":""}
@@ -1,46 +0,0 @@
1
- import type { Node } from "@pgsql/types";
2
- import type { DiscoveredColumnReference } from "./analyzer.js";
3
- import type { Nudge } from "./nudges.js";
4
- /** Information about tables that appear in the query */
5
- export type TableMappings = Map<string, ColumnReferencePart>;
6
- /**
7
- * Walks the AST of a sql query and extracts query metadata.
8
- * This pattern is used to segregate the mutable state that's more common for the
9
- * AST walking process from the rest of the analyzer.
10
- */
11
- export declare class Walker {
12
- private readonly query;
13
- private tableMappings;
14
- private tempTables;
15
- private highlights;
16
- private indexRepresentations;
17
- private indexesToCheck;
18
- private highlightPositions;
19
- private seenReferences;
20
- private shadowedAliases;
21
- private nudges;
22
- constructor(query: string);
23
- walk(root: Node): {
24
- highlights: DiscoveredColumnReference[];
25
- indexRepresentations: Set<string>;
26
- indexesToCheck: DiscoveredColumnReference[];
27
- shadowedAliases: ColumnReferencePart[];
28
- tempTables: Set<string>;
29
- tableMappings: TableMappings;
30
- nudges: Nudge[];
31
- };
32
- private add;
33
- static traverse(node: Node, callback: (node: Node, stack: (KeysOfUnion<Node> | string)[]) => void): void;
34
- private static doTraverse;
35
- }
36
- export type ColumnReferencePart = {
37
- schema?: string;
38
- /** the text of the column reference (excluding any potential quotes) */
39
- text: string;
40
- start?: number;
41
- quoted: boolean;
42
- alias?: string;
43
- };
44
- type KeysOfUnion<T> = T extends T ? keyof T : never;
45
- export {};
46
- //# sourceMappingURL=walker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../../src/sql/walker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,wDAAwD;AACxD,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAG7D;;;;GAIG;AACH,qBAAa,MAAM;IAaL,OAAO,CAAC,QAAQ,CAAC,KAAK;IAZlC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,kBAAkB,CAAqB;IAG/C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,MAAM,CAAe;gBAEA,KAAK,EAAE,MAAM;IAE1C,IAAI,CAAC,IAAI,EAAE,IAAI;;;;;;;;;IAsNf,OAAO,CAAC,GAAG;IAiFX,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI;IAKvE,OAAO,CAAC,MAAM,CAAC,UAAU;CA+B1B;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=walker.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"walker.test.d.ts","sourceRoot":"","sources":["../../src/sql/walker.test.ts"],"names":[],"mappings":""}