@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.
- package/dist/index.cjs +1678 -2000
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +750 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +750 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1676 -24978
- package/dist/index.mjs.map +1 -1
- package/package.json +12 -11
- package/dist/explain/rewriter.d.ts +0 -4
- package/dist/explain/rewriter.d.ts.map +0 -1
- package/dist/explain/traverse.d.ts +0 -3
- package/dist/explain/traverse.d.ts.map +0 -1
- package/dist/explain/tree.d.ts +0 -73
- package/dist/explain/tree.d.ts.map +0 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2352
- package/dist/index.js.map +0 -1
- package/dist/optimizer/genalgo.d.ts +0 -104
- package/dist/optimizer/genalgo.d.ts.map +0 -1
- package/dist/optimizer/genalgo.test.d.ts +0 -2
- package/dist/optimizer/genalgo.test.d.ts.map +0 -1
- package/dist/optimizer/index-candidate.d.ts +0 -23
- package/dist/optimizer/index-candidate.d.ts.map +0 -1
- package/dist/optimizer/index-shrinker.d.ts +0 -10
- package/dist/optimizer/index-shrinker.d.ts.map +0 -1
- package/dist/optimizer/index-shrinker.test.d.ts +0 -2
- package/dist/optimizer/index-shrinker.test.d.ts.map +0 -1
- package/dist/optimizer/index-tester.d.ts +0 -2
- package/dist/optimizer/index-tester.d.ts.map +0 -1
- package/dist/optimizer/pss-rewriter.d.ts +0 -11
- package/dist/optimizer/pss-rewriter.d.ts.map +0 -1
- package/dist/optimizer/pss-rewriter.test.d.ts +0 -2
- package/dist/optimizer/pss-rewriter.test.d.ts.map +0 -1
- package/dist/optimizer/statistics.d.ts +0 -360
- package/dist/optimizer/statistics.d.ts.map +0 -1
- package/dist/sql/analyzer.d.ts +0 -105
- package/dist/sql/analyzer.d.ts.map +0 -1
- package/dist/sql/analyzer.test.d.ts +0 -2
- package/dist/sql/analyzer.test.d.ts.map +0 -1
- package/dist/sql/builder.d.ts +0 -31
- package/dist/sql/builder.d.ts.map +0 -1
- package/dist/sql/builder.test.d.ts +0 -2
- package/dist/sql/builder.test.d.ts.map +0 -1
- package/dist/sql/database.d.ts +0 -84
- package/dist/sql/database.d.ts.map +0 -1
- package/dist/sql/indexes.d.ts +0 -8
- package/dist/sql/indexes.d.ts.map +0 -1
- package/dist/sql/nudges.d.ts +0 -16
- package/dist/sql/nudges.d.ts.map +0 -1
- package/dist/sql/permutations.d.ts +0 -10
- package/dist/sql/permutations.d.ts.map +0 -1
- package/dist/sql/permutations.test.d.ts +0 -2
- package/dist/sql/permutations.test.d.ts.map +0 -1
- package/dist/sql/pg-identifier.d.ts +0 -26
- package/dist/sql/pg-identifier.d.ts.map +0 -1
- package/dist/sql/pg-identifier.test.d.ts +0 -2
- package/dist/sql/pg-identifier.test.d.ts.map +0 -1
- package/dist/sql/walker.d.ts +0 -46
- package/dist/sql/walker.d.ts.map +0 -1
- package/dist/sql/walker.test.d.ts +0 -2
- package/dist/sql/walker.test.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@query-doctor/core",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Core logic for Query Doctor",
|
|
6
6
|
"license": "",
|
|
@@ -9,19 +9,19 @@
|
|
|
9
9
|
"dist/**"
|
|
10
10
|
],
|
|
11
11
|
"type": "module",
|
|
12
|
-
"main": "dist/index.
|
|
13
|
-
"types": "dist/index.d.
|
|
12
|
+
"main": "./dist/index.cjs",
|
|
13
|
+
"types": "./dist/index.d.mts",
|
|
14
14
|
"exports": {
|
|
15
15
|
".": {
|
|
16
|
-
"types": "./dist/index.d.
|
|
17
|
-
"
|
|
18
|
-
"
|
|
16
|
+
"types": "./dist/index.d.mts",
|
|
17
|
+
"import": "./dist/index.mjs",
|
|
18
|
+
"require": "./dist/index.cjs"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
|
-
"dev": "
|
|
23
|
-
"build": "
|
|
24
|
-
"test": "
|
|
22
|
+
"dev": "tsdown --watch",
|
|
23
|
+
"build": "tsdown",
|
|
24
|
+
"test": "vitest"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@pgsql/types": "^17.6.2",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@pgsql/parser": "^17.5.0",
|
|
35
35
|
"@query-doctor/typescript-config": "*",
|
|
36
|
-
"
|
|
37
|
-
"typescript": "^5.9.0"
|
|
36
|
+
"tsdown": "^0.20.3",
|
|
37
|
+
"typescript": "^5.9.0",
|
|
38
|
+
"vitest": "^4.0.18"
|
|
38
39
|
}
|
|
39
40
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rewriter.d.ts","sourceRoot":"","sources":["../../src/explain/rewriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAIV,WAAW,EAIZ,MAAM,WAAW,CAAC;AA0CnB,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,qBAAqB,EACpC,KAAK,EAAE,MAAM,GACZ,WAAW,CA8Bb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../src/explain/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,wBAAiB,eAAe,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,SAAS,CAAC,oBAAoB,CAAC,CAUjC"}
|
package/dist/explain/tree.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { PostgresExplainResult } from "../sql/database.js";
|
|
2
|
-
export type ExplainNodeKind = string;
|
|
3
|
-
export interface ExplainCostMetrics {
|
|
4
|
-
startupCost: number;
|
|
5
|
-
totalCost: number;
|
|
6
|
-
}
|
|
7
|
-
export interface ExplainRowMetrics {
|
|
8
|
-
estimatedRows: number;
|
|
9
|
-
actualRows?: number;
|
|
10
|
-
}
|
|
11
|
-
export interface ExplainNodeMetadata {
|
|
12
|
-
raw: Record<string, unknown>;
|
|
13
|
-
}
|
|
14
|
-
export type DatabaseSystem = "postgresql";
|
|
15
|
-
export interface ExplainPlanMetadata {
|
|
16
|
-
databaseSystem: DatabaseSystem;
|
|
17
|
-
query: string;
|
|
18
|
-
analyzed: boolean;
|
|
19
|
-
planningTime?: number;
|
|
20
|
-
executionTime?: number;
|
|
21
|
-
raw: Record<string, unknown>;
|
|
22
|
-
}
|
|
23
|
-
export interface CostBreakdown {
|
|
24
|
-
reason: string;
|
|
25
|
-
cost: number;
|
|
26
|
-
}
|
|
27
|
-
export interface ExplainAlternativePlan {
|
|
28
|
-
kind: ExplainNodeKind;
|
|
29
|
-
indexName?: string;
|
|
30
|
-
pruneReason: string;
|
|
31
|
-
costBreakdown: CostBreakdown[];
|
|
32
|
-
totalCost: number;
|
|
33
|
-
}
|
|
34
|
-
export declare class ExplainNode {
|
|
35
|
-
readonly id: string;
|
|
36
|
-
readonly kind: ExplainNodeKind;
|
|
37
|
-
readonly cost: ExplainCostMetrics;
|
|
38
|
-
readonly rows: ExplainRowMetrics;
|
|
39
|
-
readonly metadata: ExplainNodeMetadata;
|
|
40
|
-
parent: ExplainNode | null;
|
|
41
|
-
private _children;
|
|
42
|
-
private _alternatives;
|
|
43
|
-
get children(): readonly ExplainNode[];
|
|
44
|
-
get alternatives(): readonly ExplainNode[];
|
|
45
|
-
constructor(params: {
|
|
46
|
-
id: string;
|
|
47
|
-
kind: ExplainNodeKind;
|
|
48
|
-
cost: ExplainCostMetrics;
|
|
49
|
-
rows: ExplainRowMetrics;
|
|
50
|
-
metadata: ExplainNodeMetadata;
|
|
51
|
-
});
|
|
52
|
-
addChild(node: ExplainNode): void;
|
|
53
|
-
addAlternative(node: ExplainNode): void;
|
|
54
|
-
root(): ExplainNode;
|
|
55
|
-
depth(): number;
|
|
56
|
-
siblings(): ExplainNode[];
|
|
57
|
-
ancestors(): ExplainNode[];
|
|
58
|
-
find(predicate: (node: ExplainNode) => boolean): ExplainNode | undefined;
|
|
59
|
-
walk(visitor: (node: ExplainNode) => void): void;
|
|
60
|
-
walkBreadth(visitor: (node: ExplainNode) => void): void;
|
|
61
|
-
}
|
|
62
|
-
export declare class ExplainTree {
|
|
63
|
-
root: ExplainNode;
|
|
64
|
-
metadata: ExplainPlanMetadata;
|
|
65
|
-
constructor(root: ExplainNode, metadata: ExplainPlanMetadata);
|
|
66
|
-
static fromPostgresExplain(explainResult: PostgresExplainResult, query: string): ExplainTree;
|
|
67
|
-
replaceFromPostgresExplain(explainResult: PostgresExplainResult, query: string): void;
|
|
68
|
-
find(predicate: (node: ExplainNode) => boolean): ExplainNode | undefined;
|
|
69
|
-
walk(visitor: (node: ExplainNode) => void): void;
|
|
70
|
-
walkBreadth(visitor: (node: ExplainNode) => void): void;
|
|
71
|
-
nodeCount(): number;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/explain/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AA+FD,qBAAa,WAAW;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAQ;IAElC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,aAAa,CAAqB;IAE1C,IAAI,QAAQ,IAAI,SAAS,WAAW,EAAE,CAErC;IAED,IAAI,YAAY,IAAI,SAAS,WAAW,EAAE,CAEzC;gBAEW,MAAM,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,eAAe,CAAC;QACtB,IAAI,EAAE,kBAAkB,CAAC;QACzB,IAAI,EAAE,iBAAiB,CAAC;QACxB,QAAQ,EAAE,mBAAmB,CAAC;KAC/B;IAQD,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAKjC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIvC,IAAI,IAAI,WAAW;IAQnB,KAAK,IAAI,MAAM;IAUf,QAAQ,IAAI,WAAW,EAAE;IAKzB,SAAS,IAAI,WAAW,EAAE;IAU1B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,GAAG,WAAW,GAAG,SAAS;IASxE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAOhD,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;CAUxD;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;gBAElB,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB;IAK5D,MAAM,CAAC,mBAAmB,CACxB,aAAa,EAAE,qBAAqB,EACpC,KAAK,EAAE,MAAM,GACZ,WAAW;IAOd,0BAA0B,CACxB,aAAa,EAAE,qBAAqB,EACpC,KAAK,EAAE,MAAM,GACZ,IAAI;IAMP,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,GAAG,WAAW,GAAG,SAAS;IAIxE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAIhD,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAIvD,SAAS,IAAI,MAAM;CAKpB"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from "./sql/analyzer.js";
|
|
2
|
-
export * from "./sql/database.js";
|
|
3
|
-
export * from "./sql/nudges.js";
|
|
4
|
-
export * from "./sql/indexes.js";
|
|
5
|
-
export * from "./sql/builder.js";
|
|
6
|
-
export * from "./sql/pg-identifier.js";
|
|
7
|
-
export * from "./optimizer/genalgo.js";
|
|
8
|
-
export * from "./optimizer/statistics.js";
|
|
9
|
-
export * from "./optimizer/pss-rewriter.js";
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC"}
|