typeorm 0.3.7-dev.ec05f1d → 0.3.8-dev.03317a3
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/browser/data-source/DataSource.d.ts +2 -0
- package/browser/data-source/DataSource.js +2 -0
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/driver/Driver.d.ts +4 -0
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverUtils.d.ts +1 -0
- package/browser/driver/DriverUtils.js +5 -0
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +4 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +4 -0
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +4 -3
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +4 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +4 -0
- package/browser/driver/mysql/MysqlDriver.js +1 -0
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +9 -1
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +4 -1
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
- package/browser/driver/postgres/PostgresDriver.js +3 -2
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +22 -13
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +7 -0
- package/browser/driver/sap/SapQueryRunner.js +28 -3
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.js +4 -1
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +20 -13
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +7 -2
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +4 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/EntityManager.js +1 -0
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +1 -1
- package/browser/entity-manager/MongoEntityManager.js +17 -10
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/find-options/FindOneOptions.d.ts +1 -0
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOptionsOrder.d.ts +1 -1
- package/browser/find-options/FindOptionsOrder.js.map +1 -1
- package/browser/find-options/FindOptionsRelations.d.ts +1 -1
- package/browser/find-options/FindOptionsRelations.js.map +1 -1
- package/browser/find-options/FindOptionsSelect.d.ts +1 -1
- package/browser/find-options/FindOptionsSelect.js.map +1 -1
- package/browser/find-options/FindOptionsWhere.d.ts +1 -1
- package/browser/find-options/FindOptionsWhere.js.map +1 -1
- package/browser/migration/MigrationExecutor.d.ts +8 -0
- package/browser/migration/MigrationExecutor.js +13 -5
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.js +6 -1
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +4 -0
- package/browser/query-builder/QueryExpressionMap.js +1 -0
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +4 -0
- package/browser/query-builder/SelectQueryBuilder.js +57 -18
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +1 -0
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +2 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +5 -0
- package/browser/query-runner/BaseQueryRunner.js +7 -0
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/schema-builder/options/TableOptions.d.ts +4 -0
- package/browser/schema-builder/options/TableOptions.js.map +1 -1
- package/browser/schema-builder/table/Table.d.ts +4 -0
- package/browser/schema-builder/table/Table.js +8 -0
- package/browser/schema-builder/table/Table.js.map +1 -1
- package/browser/util/DateUtils.d.ts +1 -1
- package/browser/util/DateUtils.js +7 -8
- package/browser/util/DateUtils.js.map +1 -1
- package/commands/CommandUtils.js +7 -3
- package/commands/CommandUtils.js.map +1 -1
- package/commands/InitCommand.js +1 -1
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.d.ts +2 -0
- package/commands/MigrationRevertCommand.js +6 -0
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.d.ts +2 -0
- package/commands/MigrationRunCommand.js +8 -0
- package/commands/MigrationRunCommand.js.map +1 -1
- package/data-source/DataSource.d.ts +2 -0
- package/data-source/DataSource.js +2 -0
- package/data-source/DataSource.js.map +1 -1
- package/driver/Driver.d.ts +4 -0
- package/driver/Driver.js.map +1 -1
- package/driver/DriverUtils.d.ts +1 -0
- package/driver/DriverUtils.js +5 -0
- package/driver/DriverUtils.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +4 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +4 -0
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +6 -5
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +4 -1
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +4 -0
- package/driver/mysql/MysqlDriver.js +1 -0
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +9 -1
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +1 -1
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +4 -1
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +1 -1
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +4 -0
- package/driver/postgres/PostgresDriver.js +3 -2
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
- package/driver/postgres/PostgresQueryRunner.js +22 -13
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +7 -0
- package/driver/sap/SapQueryRunner.js +28 -3
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.js +4 -1
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +20 -13
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +7 -2
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +4 -1
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/entity-manager/EntityManager.js +1 -0
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +1 -1
- package/entity-manager/MongoEntityManager.js +17 -10
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/find-options/FindOneOptions.d.ts +1 -0
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOptionsOrder.d.ts +1 -1
- package/find-options/FindOptionsOrder.js.map +1 -1
- package/find-options/FindOptionsRelations.d.ts +1 -1
- package/find-options/FindOptionsRelations.js.map +1 -1
- package/find-options/FindOptionsSelect.d.ts +1 -1
- package/find-options/FindOptionsSelect.js.map +1 -1
- package/find-options/FindOptionsWhere.d.ts +1 -1
- package/find-options/FindOptionsWhere.js.map +1 -1
- package/migration/MigrationExecutor.d.ts +8 -0
- package/migration/MigrationExecutor.js +13 -5
- package/migration/MigrationExecutor.js.map +1 -1
- package/package.json +1 -1
- package/persistence/SubjectTopoligicalSorter.js +6 -1
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +4 -0
- package/query-builder/QueryExpressionMap.js +1 -0
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +4 -0
- package/query-builder/SelectQueryBuilder.js +57 -18
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +1 -0
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +2 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +5 -0
- package/query-runner/BaseQueryRunner.js +7 -0
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/schema-builder/options/TableOptions.d.ts +4 -0
- package/schema-builder/options/TableOptions.js.map +1 -1
- package/schema-builder/table/Table.d.ts +4 -0
- package/schema-builder/table/Table.js +8 -0
- package/schema-builder/table/Table.js.map +1 -1
- package/util/DateUtils.d.ts +1 -1
- package/util/DateUtils.js +7 -8
- package/util/DateUtils.js.map +1 -1
|
@@ -52,6 +52,13 @@ export declare class SapQueryRunner extends BaseQueryRunner implements QueryRunn
|
|
|
52
52
|
* Error will be thrown if transaction was not started.
|
|
53
53
|
*/
|
|
54
54
|
rollbackTransaction(): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* @description Switches on/off AUTOCOMMIT mode
|
|
57
|
+
* @link https://help.sap.com/docs/HANA_SERVICE_CF/7c78579ce9b14a669c1f3295b0d8ca16/d538d11053bd4f3f847ec5ce817a3d4c.html?locale=en-US
|
|
58
|
+
*/
|
|
59
|
+
setAutoCommit(options: {
|
|
60
|
+
status: "on" | "off";
|
|
61
|
+
}): Promise<void>;
|
|
55
62
|
/**
|
|
56
63
|
* Executes a given SQL query.
|
|
57
64
|
*/
|
|
@@ -17,6 +17,7 @@ import { QueryResult } from "../../query-runner/QueryResult";
|
|
|
17
17
|
import { QueryLock } from "../../query-runner/QueryLock";
|
|
18
18
|
import { MetadataTableType } from "../types/MetadataTableType";
|
|
19
19
|
import { InstanceChecker } from "../../util/InstanceChecker";
|
|
20
|
+
import { promisify } from "util";
|
|
20
21
|
/**
|
|
21
22
|
* Runs queries on a single SQL Server database connection.
|
|
22
23
|
*/
|
|
@@ -67,6 +68,11 @@ export class SapQueryRunner extends BaseQueryRunner {
|
|
|
67
68
|
throw new TransactionAlreadyStartedError();
|
|
68
69
|
await this.broadcaster.broadcast("BeforeTransactionStart");
|
|
69
70
|
this.isTransactionActive = true;
|
|
71
|
+
/**
|
|
72
|
+
* Disable AUTOCOMMIT while running transaction.
|
|
73
|
+
* Otherwise, COMMIT/ROLLBACK doesn't work in autocommit mode.
|
|
74
|
+
*/
|
|
75
|
+
await this.setAutoCommit({ status: "off" });
|
|
70
76
|
if (isolationLevel) {
|
|
71
77
|
await this.query(`SET TRANSACTION ISOLATION LEVEL ${isolationLevel || ""}`);
|
|
72
78
|
}
|
|
@@ -84,6 +90,7 @@ export class SapQueryRunner extends BaseQueryRunner {
|
|
|
84
90
|
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
85
91
|
await this.query("COMMIT");
|
|
86
92
|
this.isTransactionActive = false;
|
|
93
|
+
await this.setAutoCommit({ status: "on" });
|
|
87
94
|
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
88
95
|
}
|
|
89
96
|
/**
|
|
@@ -98,8 +105,25 @@ export class SapQueryRunner extends BaseQueryRunner {
|
|
|
98
105
|
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
99
106
|
await this.query("ROLLBACK");
|
|
100
107
|
this.isTransactionActive = false;
|
|
108
|
+
await this.setAutoCommit({ status: "on" });
|
|
101
109
|
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
102
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* @description Switches on/off AUTOCOMMIT mode
|
|
113
|
+
* @link https://help.sap.com/docs/HANA_SERVICE_CF/7c78579ce9b14a669c1f3295b0d8ca16/d538d11053bd4f3f847ec5ce817a3d4c.html?locale=en-US
|
|
114
|
+
*/
|
|
115
|
+
async setAutoCommit(options) {
|
|
116
|
+
const connection = await this.connect();
|
|
117
|
+
const execute = promisify(connection.exec.bind(connection));
|
|
118
|
+
connection.setAutoCommit(options.status === "on");
|
|
119
|
+
const query = `SET TRANSACTION AUTOCOMMIT DDL ${options.status.toUpperCase()};`;
|
|
120
|
+
try {
|
|
121
|
+
await execute(query);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
throw new QueryFailedError(query, [], error);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
103
127
|
/**
|
|
104
128
|
* Executes a given SQL query.
|
|
105
129
|
*/
|
|
@@ -111,8 +135,6 @@ export class SapQueryRunner extends BaseQueryRunner {
|
|
|
111
135
|
const result = new QueryResult();
|
|
112
136
|
try {
|
|
113
137
|
const databaseConnection = await this.connect();
|
|
114
|
-
// we disable autocommit because ROLLBACK does not work in autocommit mode
|
|
115
|
-
databaseConnection.setAutoCommit(!this.isTransactionActive);
|
|
116
138
|
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
117
139
|
const queryStartTime = +new Date();
|
|
118
140
|
const isInsertQuery = query.substr(0, 11) === "INSERT INTO";
|
|
@@ -1271,7 +1293,7 @@ export class SapQueryRunner extends BaseQueryRunner {
|
|
|
1271
1293
|
: await this.getCachedTable(tableOrName);
|
|
1272
1294
|
// new index may be passed without name. In this case we generate index name manually.
|
|
1273
1295
|
if (!index.name)
|
|
1274
|
-
index.name = this.
|
|
1296
|
+
index.name = this.generateIndexName(table, index);
|
|
1275
1297
|
const up = this.createIndexSql(table, index);
|
|
1276
1298
|
const down = this.dropIndexSql(table, index);
|
|
1277
1299
|
await this.executeQueries(up, down);
|
|
@@ -1296,6 +1318,9 @@ export class SapQueryRunner extends BaseQueryRunner {
|
|
|
1296
1318
|
: table.indices.find((i) => i.name === indexOrName);
|
|
1297
1319
|
if (!index)
|
|
1298
1320
|
throw new TypeORMError(`Supplied index ${indexOrName} was not found in table ${table.name}`);
|
|
1321
|
+
// old index may be passed without name. In this case we generate index name manually.
|
|
1322
|
+
if (!index.name)
|
|
1323
|
+
index.name = this.generateIndexName(table, index);
|
|
1299
1324
|
const up = this.dropIndexSql(table, index);
|
|
1300
1325
|
const down = this.createIndexSql(table, index);
|
|
1301
1326
|
await this.executeQueries(up, down);
|