typeorm 0.3.27-dev.fa3cd43 → 0.3.28-dev.02e7b71
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/README.md +21 -5
- package/browser/data-source/BaseDataSourceOptions.d.ts +18 -0
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/decorator/columns/Column.d.ts +7 -7
- package/browser/decorator/columns/Column.js +1 -1
- package/browser/decorator/columns/Column.js.map +1 -1
- package/browser/decorator/options/ColumnNumericOptions.d.ts +8 -1
- package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/browser/decorator/options/ColumnOptions.d.ts +6 -0
- package/browser/decorator/options/ColumnOptions.js.map +1 -1
- package/browser/decorator/options/ColumnUnsignedOptions.d.ts +28 -0
- package/browser/decorator/options/ColumnUnsignedOptions.js +3 -0
- package/browser/decorator/options/ColumnUnsignedOptions.js.map +1 -0
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +3 -0
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/browser/decorator/tree/TreeChildren.d.ts +1 -1
- package/browser/decorator/tree/TreeChildren.js +1 -1
- package/browser/decorator/tree/TreeChildren.js.map +1 -1
- package/browser/decorator/tree/TreeParent.d.ts +1 -1
- package/browser/decorator/tree/TreeParent.js +1 -1
- package/browser/decorator/tree/TreeParent.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +15 -19
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js +7 -27
- package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +9 -9
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +17 -15
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +16 -0
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.js +5 -0
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +4 -4
- package/browser/driver/mongodb/MongoQueryRunner.js +5 -5
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/typings.d.ts +6 -1
- package/browser/driver/mongodb/typings.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +23 -19
- package/browser/driver/mysql/MysqlDriver.js +63 -29
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +3 -2
- package/browser/driver/mysql/MysqlQueryRunner.js +14 -8
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.d.ts +2 -2
- package/browser/driver/oracle/OracleQueryRunner.js +2 -2
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
- package/browser/driver/postgres/PostgresDriver.js +42 -3
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +7 -0
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapDriver.js +7 -1
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +1 -1
- package/browser/driver/sap/SapQueryRunner.js +1 -1
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerConnectionOptions.d.ts +0 -5
- package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/browser/driver/spanner/SpannerDriver.d.ts +0 -4
- package/browser/driver/spanner/SpannerDriver.js +0 -4
- package/browser/driver/spanner/SpannerDriver.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.d.ts +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.js +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +2 -2
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +2 -2
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/MssqlParameter.d.ts +1 -0
- package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.js +26 -1
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +17 -6
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/types/ColumnTypes.d.ts +4 -4
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.d.ts +2 -0
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +9 -0
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.d.ts +0 -161
- package/browser/find-options/FindOptionsUtils.js +0 -161
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +1 -8
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilder.js +26 -12
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +42 -35
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +1 -1
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/commands/InitCommand.js +24 -16
- package/commands/InitCommand.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +18 -0
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/decorator/columns/Column.d.ts +7 -7
- package/decorator/columns/Column.js +1 -1
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/options/ColumnNumericOptions.d.ts +8 -1
- package/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/decorator/options/ColumnOptions.d.ts +6 -0
- package/decorator/options/ColumnOptions.js.map +1 -1
- package/decorator/options/ColumnUnsignedOptions.d.ts +28 -0
- package/decorator/options/{ColumnWithWidthOptions.js → ColumnUnsignedOptions.js} +1 -1
- package/decorator/options/ColumnUnsignedOptions.js.map +1 -0
- package/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +3 -0
- package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/decorator/tree/TreeChildren.d.ts +1 -1
- package/decorator/tree/TreeChildren.js +1 -1
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeParent.d.ts +1 -1
- package/decorator/tree/TreeParent.js +1 -1
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +15 -19
- package/driver/aurora-mysql/AuroraMysqlDriver.js +7 -27
- package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +9 -9
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +17 -15
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.d.ts +1 -1
- package/driver/cockroachdb/CockroachDriver.js +1 -1
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +16 -0
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.js +5 -0
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +4 -4
- package/driver/mongodb/MongoQueryRunner.js +5 -5
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mongodb/typings.d.ts +6 -1
- package/driver/mongodb/typings.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +23 -19
- package/driver/mysql/MysqlDriver.js +63 -29
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +3 -2
- package/driver/mysql/MysqlQueryRunner.js +14 -8
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.d.ts +2 -2
- package/driver/oracle/OracleQueryRunner.js +2 -2
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +2 -2
- package/driver/postgres/PostgresDriver.js +42 -3
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +7 -0
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.js +8 -2
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +1 -1
- package/driver/sap/SapQueryRunner.js +1 -1
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerConnectionOptions.d.ts +0 -5
- package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/driver/spanner/SpannerDriver.d.ts +0 -4
- package/driver/spanner/SpannerDriver.js +0 -4
- package/driver/spanner/SpannerDriver.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.d.ts +1 -1
- package/driver/spanner/SpannerQueryRunner.js +1 -1
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +2 -2
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +2 -2
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqlserver/MssqlParameter.d.ts +1 -0
- package/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.js +26 -1
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +17 -6
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/types/ColumnTypes.d.ts +4 -4
- package/driver/types/ColumnTypes.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.d.ts +2 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +9 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/find-options/FindOptionsUtils.d.ts +0 -161
- package/find-options/FindOptionsUtils.js +0 -161
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +1 -8
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/package.json +1 -1
- package/query-builder/QueryBuilder.js +26 -12
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +42 -35
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +1 -1
- package/query-runner/QueryRunner.js.map +1 -1
- package/browser/decorator/options/ColumnWithWidthOptions.d.ts +0 -19
- package/browser/decorator/options/ColumnWithWidthOptions.js +0 -3
- package/browser/decorator/options/ColumnWithWidthOptions.js.map +0 -1
- package/decorator/options/ColumnWithWidthOptions.d.ts +0 -19
- package/decorator/options/ColumnWithWidthOptions.js.map +0 -1
|
@@ -83,8 +83,7 @@ export declare class PostgresDriver implements Driver {
|
|
|
83
83
|
/**
|
|
84
84
|
* Gets list of supported column data types by a driver.
|
|
85
85
|
*
|
|
86
|
-
* @see https://www.
|
|
87
|
-
* @see https://www.postgresql.org/docs/9.2/static/datatype.html
|
|
86
|
+
* @see https://www.postgresql.org/docs/current/datatype.html
|
|
88
87
|
*/
|
|
89
88
|
supportedDataTypes: ColumnType[];
|
|
90
89
|
/**
|
|
@@ -147,6 +146,7 @@ export declare class PostgresDriver implements Driver {
|
|
|
147
146
|
hasCubeColumns: boolean;
|
|
148
147
|
hasGeometryColumns: boolean;
|
|
149
148
|
hasLtreeColumns: boolean;
|
|
149
|
+
hasVectorColumns: boolean;
|
|
150
150
|
hasExclusionConstraints: boolean;
|
|
151
151
|
hasExtensions: boolean;
|
|
152
152
|
}>;
|
|
@@ -45,8 +45,7 @@ class PostgresDriver {
|
|
|
45
45
|
/**
|
|
46
46
|
* Gets list of supported column data types by a driver.
|
|
47
47
|
*
|
|
48
|
-
* @see https://www.
|
|
49
|
-
* @see https://www.postgresql.org/docs/9.2/static/datatype.html
|
|
48
|
+
* @see https://www.postgresql.org/docs/current/datatype.html
|
|
50
49
|
*/
|
|
51
50
|
this.supportedDataTypes = [
|
|
52
51
|
"int",
|
|
@@ -105,6 +104,7 @@ class PostgresDriver {
|
|
|
105
104
|
"xml",
|
|
106
105
|
"json",
|
|
107
106
|
"jsonb",
|
|
107
|
+
"jsonpath",
|
|
108
108
|
"int4range",
|
|
109
109
|
"int8range",
|
|
110
110
|
"numrange",
|
|
@@ -121,6 +121,8 @@ class PostgresDriver {
|
|
|
121
121
|
"geography",
|
|
122
122
|
"cube",
|
|
123
123
|
"ltree",
|
|
124
|
+
"vector",
|
|
125
|
+
"halfvec",
|
|
124
126
|
];
|
|
125
127
|
/**
|
|
126
128
|
* Returns type of upsert supported by driver if any
|
|
@@ -141,6 +143,8 @@ class PostgresDriver {
|
|
|
141
143
|
"bit",
|
|
142
144
|
"varbit",
|
|
143
145
|
"bit varying",
|
|
146
|
+
"vector",
|
|
147
|
+
"halfvec",
|
|
144
148
|
];
|
|
145
149
|
/**
|
|
146
150
|
* Gets list of column data types that support precision by a driver.
|
|
@@ -288,7 +292,7 @@ class PostgresDriver {
|
|
|
288
292
|
}
|
|
289
293
|
async enableExtensions(extensionsMetadata, connection) {
|
|
290
294
|
const { logger } = this.connection;
|
|
291
|
-
const { hasUuidColumns, hasCitextColumns, hasHstoreColumns, hasCubeColumns, hasGeometryColumns, hasLtreeColumns, hasExclusionConstraints, } = extensionsMetadata;
|
|
295
|
+
const { hasUuidColumns, hasCitextColumns, hasHstoreColumns, hasCubeColumns, hasGeometryColumns, hasLtreeColumns, hasVectorColumns, hasExclusionConstraints, } = extensionsMetadata;
|
|
292
296
|
if (hasUuidColumns)
|
|
293
297
|
try {
|
|
294
298
|
await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "${this.options.uuidExtension || "uuid-ossp"}"`);
|
|
@@ -331,6 +335,13 @@ class PostgresDriver {
|
|
|
331
335
|
catch (_) {
|
|
332
336
|
logger.log("warn", "At least one of the entities has a ltree column, but the 'ltree' extension cannot be installed automatically. Please install it manually using superuser rights");
|
|
333
337
|
}
|
|
338
|
+
if (hasVectorColumns)
|
|
339
|
+
try {
|
|
340
|
+
await this.executeQuery(connection, `CREATE EXTENSION IF NOT EXISTS "vector"`);
|
|
341
|
+
}
|
|
342
|
+
catch (_) {
|
|
343
|
+
logger.log("warn", "At least one of the entities has a vector column, but the 'vector' extension (pgvector) cannot be installed automatically. Please install it manually using superuser rights");
|
|
344
|
+
}
|
|
334
345
|
if (hasExclusionConstraints)
|
|
335
346
|
try {
|
|
336
347
|
// The btree_gist extension provides operator support in PostgreSQL exclusion constraints
|
|
@@ -361,6 +372,9 @@ class PostgresDriver {
|
|
|
361
372
|
return (metadata.columns.filter((column) => column.type === "ltree")
|
|
362
373
|
.length > 0);
|
|
363
374
|
});
|
|
375
|
+
const hasVectorColumns = this.connection.entityMetadatas.some((metadata) => {
|
|
376
|
+
return metadata.columns.some((column) => column.type === "vector" || column.type === "halfvec");
|
|
377
|
+
});
|
|
364
378
|
const hasExclusionConstraints = this.connection.entityMetadatas.some((metadata) => {
|
|
365
379
|
return metadata.exclusions.length > 0;
|
|
366
380
|
});
|
|
@@ -371,6 +385,7 @@ class PostgresDriver {
|
|
|
371
385
|
hasCubeColumns,
|
|
372
386
|
hasGeometryColumns,
|
|
373
387
|
hasLtreeColumns,
|
|
388
|
+
hasVectorColumns,
|
|
374
389
|
hasExclusionConstraints,
|
|
375
390
|
hasExtensions: hasUuidColumns ||
|
|
376
391
|
hasCitextColumns ||
|
|
@@ -378,6 +393,7 @@ class PostgresDriver {
|
|
|
378
393
|
hasGeometryColumns ||
|
|
379
394
|
hasCubeColumns ||
|
|
380
395
|
hasLtreeColumns ||
|
|
396
|
+
hasVectorColumns ||
|
|
381
397
|
hasExclusionConstraints,
|
|
382
398
|
};
|
|
383
399
|
}
|
|
@@ -432,6 +448,15 @@ class PostgresDriver {
|
|
|
432
448
|
else if (["json", "jsonb", ...this.spatialTypes].indexOf(columnMetadata.type) >= 0) {
|
|
433
449
|
return JSON.stringify(value);
|
|
434
450
|
}
|
|
451
|
+
else if (columnMetadata.type === "vector" ||
|
|
452
|
+
columnMetadata.type === "halfvec") {
|
|
453
|
+
if (Array.isArray(value)) {
|
|
454
|
+
return `[${value.join(",")}]`;
|
|
455
|
+
}
|
|
456
|
+
else {
|
|
457
|
+
return value;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
435
460
|
else if (columnMetadata.type === "hstore") {
|
|
436
461
|
if (typeof value === "string") {
|
|
437
462
|
return value;
|
|
@@ -505,6 +530,16 @@ class PostgresDriver {
|
|
|
505
530
|
else if (columnMetadata.type === "time") {
|
|
506
531
|
value = DateUtils_1.DateUtils.mixedTimeToString(value);
|
|
507
532
|
}
|
|
533
|
+
else if (columnMetadata.type === "vector" ||
|
|
534
|
+
columnMetadata.type === "halfvec") {
|
|
535
|
+
if (typeof value === "string" &&
|
|
536
|
+
value.startsWith("[") &&
|
|
537
|
+
value.endsWith("]")) {
|
|
538
|
+
if (value === "[]")
|
|
539
|
+
return [];
|
|
540
|
+
return value.slice(1, -1).split(",").map(Number);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
508
543
|
else if (columnMetadata.type === "hstore") {
|
|
509
544
|
if (columnMetadata.hstoreType === "object") {
|
|
510
545
|
const unescapeString = (str) => str.replace(/\\./g, (m) => m[1]);
|
|
@@ -860,6 +895,10 @@ class PostgresDriver {
|
|
|
860
895
|
type = column.type;
|
|
861
896
|
}
|
|
862
897
|
}
|
|
898
|
+
else if (column.type === "vector" || column.type === "halfvec") {
|
|
899
|
+
type =
|
|
900
|
+
column.type + (column.length ? "(" + column.length + ")" : "");
|
|
901
|
+
}
|
|
863
902
|
if (column.isArray)
|
|
864
903
|
type += " array";
|
|
865
904
|
return type;
|