linkgress-orm 0.4.42 → 0.4.44
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/database/bun-client.d.ts.map +1 -1
- package/dist/database/bun-client.js +14 -3
- package/dist/database/bun-client.js.map +1 -1
- package/dist/entity/entity-base.d.ts +21 -0
- package/dist/entity/entity-base.d.ts.map +1 -1
- package/dist/entity/entity-base.js +1 -0
- package/dist/entity/entity-base.js.map +1 -1
- package/dist/entity/entity-builder.d.ts +54 -1
- package/dist/entity/entity-builder.d.ts.map +1 -1
- package/dist/entity/entity-builder.js +95 -1
- package/dist/entity/entity-builder.js.map +1 -1
- package/dist/entity/model-config.d.ts.map +1 -1
- package/dist/entity/model-config.js +4 -0
- package/dist/entity/model-config.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/migration/db-schema-manager.d.ts +22 -0
- package/dist/migration/db-schema-manager.d.ts.map +1 -1
- package/dist/migration/db-schema-manager.js +76 -0
- package/dist/migration/db-schema-manager.js.map +1 -1
- package/dist/migration/migration-scaffold.d.ts.map +1 -1
- package/dist/migration/migration-scaffold.js +13 -0
- package/dist/migration/migration-scaffold.js.map +1 -1
- package/dist/migration/statistics-sql.d.ts +52 -0
- package/dist/migration/statistics-sql.d.ts.map +1 -0
- package/dist/migration/statistics-sql.js +40 -0
- package/dist/migration/statistics-sql.js.map +1 -0
- package/dist/schema/table-builder.d.ts +35 -0
- package/dist/schema/table-builder.d.ts.map +1 -1
- package/dist/schema/table-builder.js +11 -0
- package/dist/schema/table-builder.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared extended-statistics SQL generation.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors `index-sql.ts`: centralizing the CREATE/DROP builders guarantees the
|
|
6
|
+
* live auto-migrate path (`DbSchemaManager`) and the file scaffold
|
|
7
|
+
* (`MigrationScaffold`) emit identical statements for
|
|
8
|
+
* `CREATE STATISTICS` objects (PostgreSQL extended statistics — expression
|
|
9
|
+
* statistics and multivariate ndistinct/dependencies/mcv).
|
|
10
|
+
*
|
|
11
|
+
* Reconciliation is by NAME only (create when missing): unlike indexes,
|
|
12
|
+
* PostgreSQL has no `pg_get_statisticsobjdef`-style canonical single-string
|
|
13
|
+
* deparser stable enough to diff against the model, and statistics objects are
|
|
14
|
+
* cheap metadata — renaming the object is the supported way to change one.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.buildCreateStatisticsStatement = buildCreateStatisticsStatement;
|
|
18
|
+
exports.buildDropStatisticsStatement = buildDropStatisticsStatement;
|
|
19
|
+
/**
|
|
20
|
+
* Build a `CREATE STATISTICS` statement. `qualifiedTable` must already be
|
|
21
|
+
* quoted / schema-qualified by the caller (e.g. `"public"."t"`). The
|
|
22
|
+
* statistics object itself is created with an unqualified name — PostgreSQL
|
|
23
|
+
* places it in the schema of the current search_path, and the schema manager
|
|
24
|
+
* resolves existence through `pg_statistic_ext` joined to the TABLE's
|
|
25
|
+
* namespace, so lookups stay consistent either way.
|
|
26
|
+
*/
|
|
27
|
+
function buildCreateStatisticsStatement(spec, qualifiedTable, opts) {
|
|
28
|
+
const ifNotExistsStr = opts?.ifNotExists ? 'IF NOT EXISTS ' : '';
|
|
29
|
+
const kindsStr = spec.kinds && spec.kinds.length > 0 ? ` (${spec.kinds.join(', ')})` : '';
|
|
30
|
+
return `CREATE STATISTICS ${ifNotExistsStr}"${spec.name}"${kindsStr} ON ${spec.expressions.join(', ')} FROM ${qualifiedTable}`;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build a `DROP STATISTICS` statement. `qualifiedName` must already be quoted
|
|
34
|
+
* (and schema-qualified when the object lives outside the search_path).
|
|
35
|
+
*/
|
|
36
|
+
function buildDropStatisticsStatement(qualifiedName, opts) {
|
|
37
|
+
const ifExistsStr = opts?.ifExists ? 'IF EXISTS ' : '';
|
|
38
|
+
return `DROP STATISTICS ${ifExistsStr}${qualifiedName}`;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=statistics-sql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statistics-sql.js","sourceRoot":"","sources":["../../src/migration/statistics-sql.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AA+BH,wEAQC;AAMD,oEAMC;AA5BD;;;;;;;GAOG;AACH,SAAgB,8BAA8B,CAC5C,IAAuB,EACvB,cAAsB,EACtB,IAAgC;IAEhC,MAAM,cAAc,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,OAAO,qBAAqB,cAAc,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,cAAc,EAAE,CAAC;AACjI,CAAC;AAED;;;GAGG;AACH,SAAgB,4BAA4B,CAC1C,aAAqB,EACrB,IAA6B;IAE7B,MAAM,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,mBAAmB,WAAW,GAAG,aAAa,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -49,6 +49,32 @@ export interface IndexDefinition {
|
|
|
49
49
|
*/
|
|
50
50
|
requiresSearchNormalize?: boolean;
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* PostgreSQL extended-statistics object declared on a table
|
|
54
|
+
* (`CREATE STATISTICS … ON <entries> FROM <table>`), covering univariate
|
|
55
|
+
* expression statistics (a single parenthesized expression entry) and
|
|
56
|
+
* multivariate statistics (2+ column/expression entries, optionally with an
|
|
57
|
+
* explicit kinds list).
|
|
58
|
+
*
|
|
59
|
+
* Reconciled by NAME only: the schema manager creates a declared object when
|
|
60
|
+
* no same-named one exists on the table and never drops or rebuilds — rename
|
|
61
|
+
* the object to change its definition.
|
|
62
|
+
*/
|
|
63
|
+
export interface StatisticsDefinition {
|
|
64
|
+
name: string;
|
|
65
|
+
/**
|
|
66
|
+
* Raw SQL entries of the `ON` list, in declaration order — quoted column
|
|
67
|
+
* references (`"flags"`) and/or parenthesized expressions
|
|
68
|
+
* (`("flags" & 1::smallint)`).
|
|
69
|
+
*/
|
|
70
|
+
expressions: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Optional multivariate kinds (`ndistinct` / `dependencies` / `mcv`).
|
|
73
|
+
* Must be omitted for a single-expression declaration — PostgreSQL builds
|
|
74
|
+
* univariate expression statistics there and rejects a kinds list.
|
|
75
|
+
*/
|
|
76
|
+
kinds?: Array<'ndistinct' | 'dependencies' | 'mcv'>;
|
|
77
|
+
}
|
|
52
78
|
/**
|
|
53
79
|
* PostgreSQL declarative-partitioning strategy.
|
|
54
80
|
* - `'range'` — partition by ranges of the key (e.g. dates).
|
|
@@ -118,6 +144,8 @@ export interface TableSchema<TColumns extends Record<string, ColumnBuilder> = an
|
|
|
118
144
|
relations: Record<string, RelationConfig>;
|
|
119
145
|
indexes: IndexDefinition[];
|
|
120
146
|
foreignKeys: ForeignKeyConstraint[];
|
|
147
|
+
/** Extended-statistics objects declared on this table (`CREATE STATISTICS`). */
|
|
148
|
+
statistics?: StatisticsDefinition[];
|
|
121
149
|
/** Declarative partitioning config for this table (parent `PARTITION BY`). */
|
|
122
150
|
partitioning?: PartitioningConfig;
|
|
123
151
|
/**
|
|
@@ -179,6 +207,7 @@ export declare class TableBuilder<TSchema extends SchemaDefinition = any> {
|
|
|
179
207
|
private relationDefs;
|
|
180
208
|
private indexDefs;
|
|
181
209
|
private foreignKeyDefs;
|
|
210
|
+
private statisticsDefs;
|
|
182
211
|
private partitioningDef?;
|
|
183
212
|
constructor(name: string, schema: TSchema, indexes?: IndexDefinition[], foreignKeys?: ForeignKeyConstraint[], schemaName?: string);
|
|
184
213
|
private _cachedSchema?;
|
|
@@ -192,6 +221,12 @@ export declare class TableBuilder<TSchema extends SchemaDefinition = any> {
|
|
|
192
221
|
* Build the final table schema
|
|
193
222
|
*/
|
|
194
223
|
build(): TableSchema<any>;
|
|
224
|
+
/**
|
|
225
|
+
* Declare the table's extended-statistics objects (`CREATE STATISTICS`).
|
|
226
|
+
* Mirrors how indexes/foreign keys arrive from entity metadata; replaces any
|
|
227
|
+
* previously set list.
|
|
228
|
+
*/
|
|
229
|
+
withStatistics(statistics: StatisticsDefinition[]): this;
|
|
195
230
|
/**
|
|
196
231
|
* Get table name
|
|
197
232
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-builder.d.ts","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"table-builder.d.ts","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ class TableBuilder {
|
|
|
13
13
|
this.relationDefs = {};
|
|
14
14
|
this.indexDefs = [];
|
|
15
15
|
this.foreignKeyDefs = [];
|
|
16
|
+
this.statisticsDefs = [];
|
|
16
17
|
this.tableName = name;
|
|
17
18
|
this.schemaName = schemaName;
|
|
18
19
|
this.schemaDef = schema;
|
|
@@ -115,6 +116,7 @@ class TableBuilder {
|
|
|
115
116
|
relations: this.relationDefs,
|
|
116
117
|
indexes: this.indexDefs,
|
|
117
118
|
foreignKeys: this.foreignKeyDefs,
|
|
119
|
+
statistics: this.statisticsDefs,
|
|
118
120
|
partitioning: this.partitioningDef,
|
|
119
121
|
columnNameMap,
|
|
120
122
|
relationEntries,
|
|
@@ -123,6 +125,15 @@ class TableBuilder {
|
|
|
123
125
|
};
|
|
124
126
|
return this._cachedSchema;
|
|
125
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Declare the table's extended-statistics objects (`CREATE STATISTICS`).
|
|
130
|
+
* Mirrors how indexes/foreign keys arrive from entity metadata; replaces any
|
|
131
|
+
* previously set list.
|
|
132
|
+
*/
|
|
133
|
+
withStatistics(statistics) {
|
|
134
|
+
this.statisticsDefs = statistics || [];
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
126
137
|
/**
|
|
127
138
|
* Get table name
|
|
128
139
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-builder.js","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"table-builder.js","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED