typeorm 0.3.17 → 0.3.18-dev.0f11739
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 +23 -23
- package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/data-source/DataSource.d.ts +4 -0
- package/browser/data-source/DataSource.js +14 -0
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/decorator/Index.js +1 -0
- package/browser/decorator/Index.js.map +1 -1
- package/browser/decorator/options/IndexOptions.d.ts +5 -0
- package/browser/decorator/options/IndexOptions.js.map +1 -1
- package/browser/driver/Driver.d.ts +4 -0
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverUtils.js +2 -5
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
- package/browser/driver/cockroachdb/CockroachDriver.js +10 -1
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +38 -17
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/typings.d.ts +3 -3
- package/browser/driver/mongodb/typings.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
- package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +9 -6
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.d.ts +4 -0
- package/browser/driver/oracle/OracleDriver.js +17 -2
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +40 -6
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
- package/browser/driver/postgres/PostgresDriver.js +13 -4
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +38 -23
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapDriver.d.ts +8 -0
- package/browser/driver/sap/SapDriver.js +14 -3
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
- package/browser/driver/sap/SapQueryRunner.js +65 -61
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
- package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
- package/browser/driver/spanner/SpannerDriver.js +10 -1
- package/browser/driver/spanner/SpannerDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
- package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +19 -5
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
- package/browser/entity-manager/EntityManager.d.ts +5 -1
- package/browser/entity-manager/EntityManager.js +15 -2
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
- package/browser/entity-manager/MongoEntityManager.js +12 -10
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/error/EntityNotFoundError.d.ts +2 -0
- package/browser/error/EntityNotFoundError.js +2 -0
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/error/QueryFailedError.d.ts +3 -3
- package/browser/error/QueryFailedError.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +1 -1
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/FindOptionsWhere.d.ts +1 -1
- package/browser/find-options/FindOptionsWhere.js.map +1 -1
- package/browser/index.d.ts +1 -0
- package/browser/index.js +1 -0
- package/browser/index.js.map +1 -1
- package/browser/logger/AbstractLogger.js +1 -1
- package/browser/logger/AbstractLogger.js.map +1 -1
- package/browser/metadata/IndexMetadata.d.ts +5 -0
- package/browser/metadata/IndexMetadata.js +1 -0
- package/browser/metadata/IndexMetadata.js.map +1 -1
- package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
- package/browser/naming-strategy/DefaultNamingStrategy.js +0 -3
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.d.ts +0 -4
- package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/browser/persistence/Subject.js +2 -1
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +4 -1
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/platform/BrowserPlatformTools.js +3 -2
- package/browser/platform/BrowserPlatformTools.js.map +1 -1
- package/browser/platform/PlatformTools.js +2 -0
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +19 -6
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +5 -0
- package/browser/query-builder/QueryBuilder.js +27 -24
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +13 -3
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/index.d.ts +1 -0
- package/browser/query-builder/index.js +17 -0
- package/browser/query-builder/index.js.map +1 -0
- package/browser/repository/BaseEntity.d.ts +12 -0
- package/browser/repository/BaseEntity.js +12 -0
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/MongoRepository.d.ts +8 -4
- package/browser/repository/MongoRepository.js +6 -0
- package/browser/repository/MongoRepository.js.map +1 -1
- package/browser/repository/Repository.d.ts +14 -2
- package/browser/repository/Repository.js +26 -6
- package/browser/repository/Repository.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
- package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.d.ts +5 -0
- package/browser/schema-builder/table/TableIndex.js +3 -0
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +1 -1
- package/browser/subscriber/Broadcaster.js +2 -1
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/event/InsertEvent.d.ts +5 -0
- package/browser/subscriber/event/InsertEvent.js.map +1 -1
- package/browser/util/DateUtils.js +4 -2
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/OrmUtils.d.ts +6 -0
- package/browser/util/OrmUtils.js +66 -0
- package/browser/util/OrmUtils.js.map +1 -1
- package/commands/CommandUtils.js +6 -1
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.d.ts +3 -0
- package/commands/EntityCreateCommand.js +7 -0
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.js +1 -1
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +5 -1
- package/commands/MigrationCreateCommand.js +6 -1
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +5 -1
- package/commands/MigrationGenerateCommand.js +8 -1
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.d.ts +3 -0
- package/commands/SubscriberCreateCommand.js +7 -0
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +4 -0
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/data-source/DataSource.d.ts +4 -0
- package/data-source/DataSource.js +14 -0
- package/data-source/DataSource.js.map +1 -1
- package/decorator/Index.js +1 -0
- package/decorator/Index.js.map +1 -1
- package/decorator/options/IndexOptions.d.ts +5 -0
- package/decorator/options/IndexOptions.js.map +1 -1
- package/driver/Driver.d.ts +4 -0
- package/driver/Driver.js.map +1 -1
- package/driver/DriverUtils.js +2 -5
- package/driver/DriverUtils.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
- package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
- package/driver/cockroachdb/CockroachDriver.js +10 -1
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +38 -17
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mongodb/typings.d.ts +3 -3
- package/driver/mongodb/typings.js.map +1 -1
- package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
- package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +9 -6
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.d.ts +4 -0
- package/driver/oracle/OracleDriver.js +17 -2
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +40 -6
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
- package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +4 -0
- package/driver/postgres/PostgresDriver.js +13 -4
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +38 -23
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.d.ts +8 -0
- package/driver/sap/SapDriver.js +15 -4
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +5 -14
- package/driver/sap/SapQueryRunner.js +65 -61
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
- package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/driver/spanner/SpannerDriver.d.ts +4 -0
- package/driver/spanner/SpannerDriver.js +10 -1
- package/driver/spanner/SpannerDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
- package/driver/sqlserver/SqlServerDriver.js +10 -1
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +19 -5
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
- package/entity-manager/EntityManager.d.ts +5 -1
- package/entity-manager/EntityManager.js +15 -2
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +8 -4
- package/entity-manager/MongoEntityManager.js +12 -10
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.d.ts +4 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +7 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/EntityNotFoundError.d.ts +2 -0
- package/error/EntityNotFoundError.js +2 -0
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/QueryFailedError.d.ts +3 -3
- package/error/QueryFailedError.js.map +1 -1
- package/find-options/FindOptionsUtils.js +1 -1
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/FindOptionsWhere.d.ts +1 -1
- package/find-options/FindOptionsWhere.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/index.mjs +2 -0
- package/logger/AbstractLogger.js +1 -1
- package/logger/AbstractLogger.js.map +1 -1
- package/metadata/IndexMetadata.d.ts +5 -0
- package/metadata/IndexMetadata.js +1 -0
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata-args/IndexMetadataArgs.d.ts +5 -0
- package/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +22 -0
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
- package/naming-strategy/DefaultNamingStrategy.js +0 -3
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/NamingStrategyInterface.d.ts +0 -4
- package/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/package.json +1 -271
- package/persistence/Subject.js +2 -1
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectExecutor.js +4 -1
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/platform/PlatformTools.js +2 -0
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +19 -6
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +5 -0
- package/query-builder/QueryBuilder.js +27 -24
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +13 -3
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/index.d.ts +1 -0
- package/query-builder/index.js +21 -0
- package/query-builder/index.js.map +1 -0
- package/repository/BaseEntity.d.ts +12 -0
- package/repository/BaseEntity.js +12 -0
- package/repository/BaseEntity.js.map +1 -1
- package/repository/MongoRepository.d.ts +8 -4
- package/repository/MongoRepository.js +6 -0
- package/repository/MongoRepository.js.map +1 -1
- package/repository/Repository.d.ts +14 -2
- package/repository/Repository.js +26 -6
- package/repository/Repository.js.map +1 -1
- package/schema-builder/options/TableIndexOptions.d.ts +5 -0
- package/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/schema-builder/table/TableIndex.d.ts +5 -0
- package/schema-builder/table/TableIndex.js +3 -0
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +1 -1
- package/subscriber/Broadcaster.js +2 -1
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/event/InsertEvent.d.ts +5 -0
- package/subscriber/event/InsertEvent.js.map +1 -1
- package/typeorm-model-shim.js +61 -53
- package/util/DateUtils.js +5 -2
- package/util/DateUtils.js.map +1 -1
- package/util/OrmUtils.d.ts +6 -0
- package/util/OrmUtils.js +66 -0
- package/util/OrmUtils.js.map +1 -1
|
@@ -118,15 +118,16 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
118
118
|
throw err;
|
|
119
119
|
}
|
|
120
120
|
if (this.transactionDepth === 0) {
|
|
121
|
+
this.transactionDepth += 1;
|
|
121
122
|
await this.query("START TRANSACTION");
|
|
122
123
|
if (isolationLevel) {
|
|
123
124
|
await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
|
|
124
125
|
}
|
|
125
126
|
}
|
|
126
127
|
else {
|
|
127
|
-
|
|
128
|
+
this.transactionDepth += 1;
|
|
129
|
+
await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
128
130
|
}
|
|
129
|
-
this.transactionDepth += 1;
|
|
130
131
|
await this.broadcaster.broadcast("AfterTransactionStart");
|
|
131
132
|
}
|
|
132
133
|
/**
|
|
@@ -138,13 +139,14 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
138
139
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
139
140
|
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
140
141
|
if (this.transactionDepth > 1) {
|
|
141
|
-
|
|
142
|
+
this.transactionDepth -= 1;
|
|
143
|
+
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
142
144
|
}
|
|
143
145
|
else {
|
|
146
|
+
this.transactionDepth -= 1;
|
|
144
147
|
await this.query("COMMIT");
|
|
145
148
|
this.isTransactionActive = false;
|
|
146
149
|
}
|
|
147
|
-
this.transactionDepth -= 1;
|
|
148
150
|
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
149
151
|
}
|
|
150
152
|
/**
|
|
@@ -156,13 +158,14 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
156
158
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
157
159
|
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
158
160
|
if (this.transactionDepth > 1) {
|
|
159
|
-
|
|
161
|
+
this.transactionDepth -= 1;
|
|
162
|
+
await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
160
163
|
}
|
|
161
164
|
else {
|
|
165
|
+
this.transactionDepth -= 1;
|
|
162
166
|
await this.query("ROLLBACK");
|
|
163
167
|
this.isTransactionActive = false;
|
|
164
168
|
}
|
|
165
|
-
this.transactionDepth -= 1;
|
|
166
169
|
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
167
170
|
}
|
|
168
171
|
/**
|
|
@@ -1784,13 +1787,14 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1784
1787
|
`WHERE "t"."relkind" IN ('r', 'p') AND (${constraintsCondition})`;
|
|
1785
1788
|
const indicesSql = `SELECT "ns"."nspname" AS "table_schema", "t"."relname" AS "table_name", "i"."relname" AS "constraint_name", "a"."attname" AS "column_name", ` +
|
|
1786
1789
|
`CASE "ix"."indisunique" WHEN 't' THEN 'TRUE' ELSE'FALSE' END AS "is_unique", pg_get_expr("ix"."indpred", "ix"."indrelid") AS "condition", ` +
|
|
1787
|
-
`"types"."typname" AS "type_name" ` +
|
|
1790
|
+
`"types"."typname" AS "type_name", "am"."amname" AS "index_type" ` +
|
|
1788
1791
|
`FROM "pg_class" "t" ` +
|
|
1789
1792
|
`INNER JOIN "pg_index" "ix" ON "ix"."indrelid" = "t"."oid" ` +
|
|
1790
1793
|
`INNER JOIN "pg_attribute" "a" ON "a"."attrelid" = "t"."oid" AND "a"."attnum" = ANY ("ix"."indkey") ` +
|
|
1791
1794
|
`INNER JOIN "pg_namespace" "ns" ON "ns"."oid" = "t"."relnamespace" ` +
|
|
1792
1795
|
`INNER JOIN "pg_class" "i" ON "i"."oid" = "ix"."indexrelid" ` +
|
|
1793
1796
|
`INNER JOIN "pg_type" "types" ON "types"."oid" = "a"."atttypid" ` +
|
|
1797
|
+
`INNER JOIN "pg_am" "am" ON "i"."relam" = "am"."oid" ` +
|
|
1794
1798
|
`LEFT JOIN "pg_constraint" "cnst" ON "cnst"."conname" = "i"."relname" ` +
|
|
1795
1799
|
`WHERE "t"."relkind" IN ('r', 'p') AND "cnst"."contype" IS NULL AND (${constraintsCondition})`;
|
|
1796
1800
|
const foreignKeysCondition = dbTables
|
|
@@ -1860,26 +1864,34 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1860
1864
|
tableColumn.name = dbColumn["column_name"];
|
|
1861
1865
|
tableColumn.type = dbColumn["regtype"].toLowerCase();
|
|
1862
1866
|
if (tableColumn.type === "numeric" ||
|
|
1867
|
+
tableColumn.type === "numeric[]" ||
|
|
1863
1868
|
tableColumn.type === "decimal" ||
|
|
1864
1869
|
tableColumn.type === "float") {
|
|
1870
|
+
let numericPrecision = dbColumn["numeric_precision"];
|
|
1871
|
+
let numericScale = dbColumn["numeric_scale"];
|
|
1872
|
+
if (dbColumn["data_type"] === "ARRAY") {
|
|
1873
|
+
const numericSize = dbColumn["format_type"].match(/^numeric\(([0-9]+),([0-9]+)\)\[\]$/);
|
|
1874
|
+
if (numericSize) {
|
|
1875
|
+
numericPrecision = +numericSize[1];
|
|
1876
|
+
numericScale = +numericSize[2];
|
|
1877
|
+
}
|
|
1878
|
+
}
|
|
1865
1879
|
// If one of these properties was set, and another was not, Postgres sets '0' in to unspecified property
|
|
1866
1880
|
// we set 'undefined' in to unspecified property to avoid changing column on sync
|
|
1867
|
-
if (
|
|
1868
|
-
!this.isDefaultColumnPrecision(table, tableColumn,
|
|
1869
|
-
tableColumn.precision =
|
|
1870
|
-
dbColumn["numeric_precision"];
|
|
1881
|
+
if (numericPrecision !== null &&
|
|
1882
|
+
!this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
|
|
1883
|
+
tableColumn.precision = numericPrecision;
|
|
1871
1884
|
}
|
|
1872
|
-
else if (
|
|
1873
|
-
!this.isDefaultColumnScale(table, tableColumn,
|
|
1885
|
+
else if (numericScale !== null &&
|
|
1886
|
+
!this.isDefaultColumnScale(table, tableColumn, numericScale)) {
|
|
1874
1887
|
tableColumn.precision = undefined;
|
|
1875
1888
|
}
|
|
1876
|
-
if (
|
|
1877
|
-
!this.isDefaultColumnScale(table, tableColumn,
|
|
1878
|
-
tableColumn.scale =
|
|
1879
|
-
dbColumn["numeric_scale"];
|
|
1889
|
+
if (numericScale !== null &&
|
|
1890
|
+
!this.isDefaultColumnScale(table, tableColumn, numericScale)) {
|
|
1891
|
+
tableColumn.scale = numericScale;
|
|
1880
1892
|
}
|
|
1881
|
-
else if (
|
|
1882
|
-
!this.isDefaultColumnPrecision(table, tableColumn,
|
|
1893
|
+
else if (numericPrecision !== null &&
|
|
1894
|
+
!this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
|
|
1883
1895
|
tableColumn.scale = undefined;
|
|
1884
1896
|
}
|
|
1885
1897
|
}
|
|
@@ -2162,7 +2174,7 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
2162
2174
|
columnNames: indices.map((i) => i["column_name"]),
|
|
2163
2175
|
isUnique: constraint["is_unique"] === "TRUE",
|
|
2164
2176
|
where: constraint["condition"],
|
|
2165
|
-
isSpatial:
|
|
2177
|
+
isSpatial: constraint["index_type"] === "gist",
|
|
2166
2178
|
isFulltext: false,
|
|
2167
2179
|
});
|
|
2168
2180
|
});
|
|
@@ -2383,7 +2395,7 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
2383
2395
|
const columns = index.columnNames
|
|
2384
2396
|
.map((columnName) => `"${columnName}"`)
|
|
2385
2397
|
.join(", ");
|
|
2386
|
-
return new Query_1.Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
|
|
2398
|
+
return new Query_1.Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}${index.isConcurrent ? "CONCURRENTLY " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
|
|
2387
2399
|
}
|
|
2388
2400
|
/**
|
|
2389
2401
|
* Builds create view index sql.
|
|
@@ -2401,10 +2413,13 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
2401
2413
|
let indexName = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
|
|
2402
2414
|
? indexOrName.name
|
|
2403
2415
|
: indexOrName;
|
|
2416
|
+
const concurrent = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
|
|
2417
|
+
? indexOrName.isConcurrent
|
|
2418
|
+
: false;
|
|
2404
2419
|
const { schema } = this.driver.parseTableName(table);
|
|
2405
2420
|
return schema
|
|
2406
|
-
? new Query_1.Query(`DROP INDEX "${schema}"."${indexName}"`)
|
|
2407
|
-
: new Query_1.Query(`DROP INDEX "${indexName}"`);
|
|
2421
|
+
? new Query_1.Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${schema}"."${indexName}"`)
|
|
2422
|
+
: new Query_1.Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${indexName}"`);
|
|
2408
2423
|
}
|
|
2409
2424
|
/**
|
|
2410
2425
|
* Builds create primary key sql.
|