typeorm 0.3.18-dev.fdb9866 → 0.3.18
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/cache/DbQueryResultCache.js +3 -0
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/data-source/DataSource.js +3 -0
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/decorator/entity/Entity.js +1 -0
- package/browser/decorator/entity/Entity.js.map +1 -1
- package/browser/decorator/options/EntityOptions.d.ts +4 -0
- package/browser/decorator/options/EntityOptions.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/browser/driver/capacitor/CapacitorDriver.js +2 -2
- package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.js +2 -2
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +20 -10
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +55 -19
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.js +2 -2
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +9 -2
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +4 -0
- package/browser/driver/mongodb/MongoQueryRunner.js +6 -0
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/browser/driver/mysql/MysqlQueryRunner.js +47 -10
- 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.js +6 -0
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.d.ts +4 -0
- package/browser/driver/oracle/OracleQueryRunner.js +21 -5
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.js +1 -4
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +4 -0
- package/browser/driver/postgres/PostgresQueryRunner.js +24 -7
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +4 -0
- package/browser/driver/sap/SapQueryRunner.js +28 -10
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.d.ts +4 -0
- package/browser/driver/spanner/SpannerQueryRunner.js +13 -1
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +60 -46
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +16 -7
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +0 -5
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +19 -6
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.js +4 -8
- package/browser/entity-manager/MongoEntityManager.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/find-options/FindOperatorType.d.ts +1 -1
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/operator/Or.d.ts +2 -0
- package/browser/find-options/operator/Or.js +6 -0
- package/browser/find-options/operator/Or.js.map +1 -0
- 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/ColumnMetadata.js +4 -0
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +7 -3
- package/browser/metadata/EntityMetadata.js +8 -3
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
- package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +1 -1
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/platform/BrowserPlatformTools.d.ts +0 -7
- package/browser/platform/BrowserPlatformTools.js +3 -2
- package/browser/platform/BrowserPlatformTools.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +10 -1
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +5 -0
- package/browser/query-builder/QueryBuilder.js +35 -23
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
- package/browser/query-builder/QueryExpressionMap.js +0 -4
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +5 -1
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereClause.d.ts +1 -1
- package/browser/query-builder/WhereClause.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/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.js +1 -0
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +4 -0
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
- package/browser/schema-builder/RdbmsSchemaBuilder.js +15 -0
- package/browser/schema-builder/RdbmsSchemaBuilder.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 +3 -0
- package/browser/schema-builder/table/Table.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +10 -0
- package/browser/subscriber/Broadcaster.js +46 -0
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/QueryEvent.d.ts +50 -0
- package/browser/subscriber/event/QueryEvent.js +3 -0
- package/browser/subscriber/event/QueryEvent.js.map +1 -0
- package/cache/DbQueryResultCache.js +3 -0
- package/cache/DbQueryResultCache.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +4 -0
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/data-source/DataSource.js +3 -0
- package/data-source/DataSource.js.map +1 -1
- package/decorator/entity/Entity.js +1 -0
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/options/EntityOptions.d.ts +4 -0
- package/decorator/options/EntityOptions.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/driver/capacitor/CapacitorDriver.js +2 -2
- package/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.js +2 -2
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js +20 -10
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +55 -19
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.js +2 -2
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +8 -0
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +9 -2
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +4 -0
- package/driver/mongodb/MongoQueryRunner.js +6 -0
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/driver/mysql/MysqlQueryRunner.js +47 -10
- 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.js +6 -0
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.d.ts +4 -0
- package/driver/oracle/OracleQueryRunner.js +21 -5
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresDriver.js +1 -4
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +4 -0
- package/driver/postgres/PostgresQueryRunner.js +24 -7
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +10 -2
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +4 -0
- package/driver/sap/SapQueryRunner.js +28 -10
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.d.ts +4 -0
- package/driver/spanner/SpannerQueryRunner.js +13 -1
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +60 -46
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +16 -7
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js +11 -3
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +0 -5
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
- package/driver/sqlserver/SqlServerQueryRunner.js +19 -6
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/entity-manager/MongoEntityManager.js +4 -8
- package/entity-manager/MongoEntityManager.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/find-options/FindOperatorType.d.ts +1 -1
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/operator/Or.d.ts +2 -0
- package/find-options/operator/Or.js +10 -0
- package/find-options/operator/Or.js.map +1 -0
- 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/ColumnMetadata.js +4 -0
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +7 -3
- package/metadata/EntityMetadata.js +8 -3
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata-args/TableMetadataArgs.d.ts +4 -0
- package/metadata-args/TableMetadataArgs.js.map +1 -1
- package/package.json +273 -1
- package/persistence/SubjectExecutor.js +1 -1
- package/persistence/SubjectExecutor.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +10 -1
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +5 -0
- package/query-builder/QueryBuilder.js +35 -23
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +2 -1
- package/query-builder/QueryExpressionMap.js +0 -4
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +5 -1
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/WhereClause.d.ts +1 -1
- package/query-builder/WhereClause.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/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.js +1 -0
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +4 -0
- package/query-runner/QueryRunner.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
- package/schema-builder/RdbmsSchemaBuilder.js +15 -0
- package/schema-builder/RdbmsSchemaBuilder.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 +3 -0
- package/schema-builder/table/Table.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +10 -0
- package/subscriber/Broadcaster.js +46 -0
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +9 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/QueryEvent.d.ts +50 -0
- package/subscriber/event/QueryEvent.js +4 -0
- package/subscriber/event/QueryEvent.js.map +1 -0
|
@@ -3,6 +3,7 @@ import { IsolationLevel } from "../types/IsolationLevel";
|
|
|
3
3
|
import { AuroraPostgresDriver } from "./AuroraPostgresDriver";
|
|
4
4
|
import { PostgresQueryRunner } from "../postgres/PostgresQueryRunner";
|
|
5
5
|
import { ReplicationMode } from "../types/ReplicationMode";
|
|
6
|
+
import { Table } from "../../schema-builder/table/Table";
|
|
6
7
|
declare class PostgresQueryRunnerWrapper extends PostgresQueryRunner {
|
|
7
8
|
driver: any;
|
|
8
9
|
constructor(driver: any, mode: ReplicationMode);
|
|
@@ -44,5 +45,9 @@ export declare class AuroraPostgresQueryRunner extends PostgresQueryRunnerWrappe
|
|
|
44
45
|
* Executes a given SQL query.
|
|
45
46
|
*/
|
|
46
47
|
query(query: string, parameters?: any[], useStructuredResult?: boolean): Promise<any>;
|
|
48
|
+
/**
|
|
49
|
+
* Change table comment.
|
|
50
|
+
*/
|
|
51
|
+
changeTableComment(tableOrName: Table | string, comment?: string): Promise<void>;
|
|
47
52
|
}
|
|
48
53
|
export {};
|
|
@@ -2,6 +2,7 @@ import { QueryRunnerAlreadyReleasedError } from "../../error/QueryRunnerAlreadyR
|
|
|
2
2
|
import { TransactionNotStartedError } from "../../error/TransactionNotStartedError";
|
|
3
3
|
import { PostgresQueryRunner } from "../postgres/PostgresQueryRunner";
|
|
4
4
|
import { QueryResult } from "../../query-runner/QueryResult";
|
|
5
|
+
import { TypeORMError } from "../../error";
|
|
5
6
|
class PostgresQueryRunnerWrapper extends PostgresQueryRunner {
|
|
6
7
|
constructor(driver, mode) {
|
|
7
8
|
super(driver, mode);
|
|
@@ -66,12 +67,13 @@ export class AuroraPostgresQueryRunner extends PostgresQueryRunnerWrapper {
|
|
|
66
67
|
throw err;
|
|
67
68
|
}
|
|
68
69
|
if (this.transactionDepth === 0) {
|
|
70
|
+
this.transactionDepth += 1;
|
|
69
71
|
await this.client.startTransaction();
|
|
70
72
|
}
|
|
71
73
|
else {
|
|
72
|
-
|
|
74
|
+
this.transactionDepth += 1;
|
|
75
|
+
await this.query(`SAVEPOINT typeorm_${this.transactionDepth} - 1`);
|
|
73
76
|
}
|
|
74
|
-
this.transactionDepth += 1;
|
|
75
77
|
await this.broadcaster.broadcast("AfterTransactionStart");
|
|
76
78
|
}
|
|
77
79
|
/**
|
|
@@ -83,13 +85,14 @@ export class AuroraPostgresQueryRunner extends PostgresQueryRunnerWrapper {
|
|
|
83
85
|
throw new TransactionNotStartedError();
|
|
84
86
|
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
85
87
|
if (this.transactionDepth > 1) {
|
|
86
|
-
|
|
88
|
+
this.transactionDepth -= 1;
|
|
89
|
+
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
87
90
|
}
|
|
88
91
|
else {
|
|
92
|
+
this.transactionDepth -= 1;
|
|
89
93
|
await this.client.commitTransaction();
|
|
90
94
|
this.isTransactionActive = false;
|
|
91
95
|
}
|
|
92
|
-
this.transactionDepth -= 1;
|
|
93
96
|
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
94
97
|
}
|
|
95
98
|
/**
|
|
@@ -101,13 +104,14 @@ export class AuroraPostgresQueryRunner extends PostgresQueryRunnerWrapper {
|
|
|
101
104
|
throw new TransactionNotStartedError();
|
|
102
105
|
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
103
106
|
if (this.transactionDepth > 1) {
|
|
104
|
-
|
|
107
|
+
this.transactionDepth -= 1;
|
|
108
|
+
await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
105
109
|
}
|
|
106
110
|
else {
|
|
111
|
+
this.transactionDepth -= 1;
|
|
107
112
|
await this.client.rollbackTransaction();
|
|
108
113
|
this.isTransactionActive = false;
|
|
109
114
|
}
|
|
110
|
-
this.transactionDepth -= 1;
|
|
111
115
|
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
112
116
|
}
|
|
113
117
|
/**
|
|
@@ -130,6 +134,12 @@ export class AuroraPostgresQueryRunner extends PostgresQueryRunnerWrapper {
|
|
|
130
134
|
}
|
|
131
135
|
return result;
|
|
132
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Change table comment.
|
|
139
|
+
*/
|
|
140
|
+
changeTableComment(tableOrName, comment) {
|
|
141
|
+
throw new TypeORMError(`aurora-postgres driver does not support change comment.`);
|
|
142
|
+
}
|
|
133
143
|
}
|
|
134
144
|
|
|
135
145
|
//# sourceMappingURL=AuroraPostgresQueryRunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/aurora-postgres/AuroraPostgresQueryRunner.ts"],"names":[],"mappings":"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","file":"AuroraPostgresQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { TransactionNotStartedError } from \"../../error/TransactionNotStartedError\"\nimport { QueryRunner } from \"../../query-runner/QueryRunner\"\nimport { IsolationLevel } from \"../types/IsolationLevel\"\nimport { AuroraPostgresDriver } from \"./AuroraPostgresDriver\"\nimport { PostgresQueryRunner } from \"../postgres/PostgresQueryRunner\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\nclass PostgresQueryRunnerWrapper extends PostgresQueryRunner {\n driver: any\n\n constructor(driver: any, mode: ReplicationMode) {\n super(driver, mode)\n }\n}\n\n/**\n * Runs queries on a single postgres database connection.\n */\nexport class AuroraPostgresQueryRunner\n extends PostgresQueryRunnerWrapper\n implements QueryRunner\n{\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Database driver used by connection.\n */\n driver: AuroraPostgresDriver\n\n protected client: any\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Promise used to obtain a database connection for a first time.\n */\n protected databaseConnectionPromise: Promise<any>\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n driver: AuroraPostgresDriver,\n client: any,\n mode: ReplicationMode,\n ) {\n super(driver, mode)\n\n this.client = client\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates/uses database connection from the connection pool to perform further operations.\n * Returns obtained database connection.\n */\n connect(): Promise<any> {\n if (this.databaseConnection)\n return Promise.resolve(this.databaseConnection)\n\n if (this.databaseConnectionPromise)\n return this.databaseConnectionPromise\n\n if (this.mode === \"slave\" && this.driver.isReplicated) {\n this.databaseConnectionPromise = this.driver\n .obtainSlaveConnection()\n .then(([connection, release]: any[]) => {\n this.driver.connectedQueryRunners.push(this)\n this.databaseConnection = connection\n this.releaseCallback = release\n return this.databaseConnection\n })\n } else {\n // master\n this.databaseConnectionPromise = this.driver\n .obtainMasterConnection()\n .then(([connection, release]: any[]) => {\n this.driver.connectedQueryRunners.push(this)\n this.databaseConnection = connection\n this.releaseCallback = release\n return this.databaseConnection\n })\n }\n\n return this.databaseConnectionPromise\n }\n\n /**\n * Starts transaction on the current connection.\n */\n async startTransaction(isolationLevel?: IsolationLevel): Promise<void> {\n this.isTransactionActive = true\n try {\n await this.broadcaster.broadcast(\"BeforeTransactionStart\")\n } catch (err) {\n this.isTransactionActive = false\n throw err\n }\n\n if (this.transactionDepth === 0) {\n await this.client.startTransaction()\n } else {\n await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`)\n }\n this.transactionDepth += 1\n\n await this.broadcaster.broadcast(\"AfterTransactionStart\")\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive) throw new TransactionNotStartedError()\n\n await this.broadcaster.broadcast(\"BeforeTransactionCommit\")\n\n if (this.transactionDepth > 1) {\n await this.query(\n `RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`,\n )\n } else {\n await this.client.commitTransaction()\n this.isTransactionActive = false\n }\n this.transactionDepth -= 1\n\n await this.broadcaster.broadcast(\"AfterTransactionCommit\")\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive) throw new TransactionNotStartedError()\n\n await this.broadcaster.broadcast(\"BeforeTransactionRollback\")\n\n if (this.transactionDepth > 1) {\n await this.query(\n `ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`,\n )\n } else {\n await this.client.rollbackTransaction()\n this.isTransactionActive = false\n }\n this.transactionDepth -= 1\n\n await this.broadcaster.broadcast(\"AfterTransactionRollback\")\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters?: any[],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const raw = await this.client.query(query, parameters)\n\n const result = new QueryResult()\n\n result.raw = raw\n\n if (raw?.hasOwnProperty(\"records\") && Array.isArray(raw.records)) {\n result.records = raw.records\n }\n\n if (raw?.hasOwnProperty(\"numberOfRecordsUpdated\")) {\n result.affected = raw.numberOfRecordsUpdated\n }\n\n if (!useStructuredResult) {\n return result.raw\n }\n\n return result\n }\n}\n"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/aurora-postgres/AuroraPostgresQueryRunner.ts"],"names":[],"mappings":"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","file":"AuroraPostgresQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { TransactionNotStartedError } from \"../../error/TransactionNotStartedError\"\nimport { QueryRunner } from \"../../query-runner/QueryRunner\"\nimport { IsolationLevel } from \"../types/IsolationLevel\"\nimport { AuroraPostgresDriver } from \"./AuroraPostgresDriver\"\nimport { PostgresQueryRunner } from \"../postgres/PostgresQueryRunner\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\nimport { Table } from \"../../schema-builder/table/Table\"\nimport { TypeORMError } from \"../../error\"\n\nclass PostgresQueryRunnerWrapper extends PostgresQueryRunner {\n driver: any\n\n constructor(driver: any, mode: ReplicationMode) {\n super(driver, mode)\n }\n}\n\n/**\n * Runs queries on a single postgres database connection.\n */\nexport class AuroraPostgresQueryRunner\n extends PostgresQueryRunnerWrapper\n implements QueryRunner\n{\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Database driver used by connection.\n */\n driver: AuroraPostgresDriver\n\n protected client: any\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Promise used to obtain a database connection for a first time.\n */\n protected databaseConnectionPromise: Promise<any>\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n driver: AuroraPostgresDriver,\n client: any,\n mode: ReplicationMode,\n ) {\n super(driver, mode)\n\n this.client = client\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates/uses database connection from the connection pool to perform further operations.\n * Returns obtained database connection.\n */\n connect(): Promise<any> {\n if (this.databaseConnection)\n return Promise.resolve(this.databaseConnection)\n\n if (this.databaseConnectionPromise)\n return this.databaseConnectionPromise\n\n if (this.mode === \"slave\" && this.driver.isReplicated) {\n this.databaseConnectionPromise = this.driver\n .obtainSlaveConnection()\n .then(([connection, release]: any[]) => {\n this.driver.connectedQueryRunners.push(this)\n this.databaseConnection = connection\n this.releaseCallback = release\n return this.databaseConnection\n })\n } else {\n // master\n this.databaseConnectionPromise = this.driver\n .obtainMasterConnection()\n .then(([connection, release]: any[]) => {\n this.driver.connectedQueryRunners.push(this)\n this.databaseConnection = connection\n this.releaseCallback = release\n return this.databaseConnection\n })\n }\n\n return this.databaseConnectionPromise\n }\n\n /**\n * Starts transaction on the current connection.\n */\n async startTransaction(isolationLevel?: IsolationLevel): Promise<void> {\n this.isTransactionActive = true\n try {\n await this.broadcaster.broadcast(\"BeforeTransactionStart\")\n } catch (err) {\n this.isTransactionActive = false\n throw err\n }\n\n if (this.transactionDepth === 0) {\n this.transactionDepth += 1\n await this.client.startTransaction()\n } else {\n this.transactionDepth += 1\n await this.query(`SAVEPOINT typeorm_${this.transactionDepth} - 1`)\n }\n\n await this.broadcaster.broadcast(\"AfterTransactionStart\")\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive) throw new TransactionNotStartedError()\n\n await this.broadcaster.broadcast(\"BeforeTransactionCommit\")\n\n if (this.transactionDepth > 1) {\n this.transactionDepth -= 1\n await this.query(\n `RELEASE SAVEPOINT typeorm_${this.transactionDepth}`,\n )\n } else {\n this.transactionDepth -= 1\n await this.client.commitTransaction()\n this.isTransactionActive = false\n }\n\n await this.broadcaster.broadcast(\"AfterTransactionCommit\")\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive) throw new TransactionNotStartedError()\n\n await this.broadcaster.broadcast(\"BeforeTransactionRollback\")\n\n if (this.transactionDepth > 1) {\n this.transactionDepth -= 1\n await this.query(\n `ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`,\n )\n } else {\n this.transactionDepth -= 1\n await this.client.rollbackTransaction()\n this.isTransactionActive = false\n }\n\n await this.broadcaster.broadcast(\"AfterTransactionRollback\")\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters?: any[],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const raw = await this.client.query(query, parameters)\n\n const result = new QueryResult()\n\n result.raw = raw\n\n if (raw?.hasOwnProperty(\"records\") && Array.isArray(raw.records)) {\n result.records = raw.records\n }\n\n if (raw?.hasOwnProperty(\"numberOfRecordsUpdated\")) {\n result.affected = raw.numberOfRecordsUpdated\n }\n\n if (!useStructuredResult) {\n return result.raw\n }\n\n return result\n }\n\n /**\n * Change table comment.\n */\n changeTableComment(\n tableOrName: Table | string,\n comment?: string,\n ): Promise<void> {\n throw new TypeORMError(\n `aurora-postgres driver does not support change comment.`,\n )\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -56,10 +56,10 @@ export class CapacitorDriver extends AbstractSqliteDriver {
|
|
|
56
56
|
await connection.open();
|
|
57
57
|
// we need to enable foreign keys in sqlite to make sure all foreign key related features
|
|
58
58
|
// working properly. this also makes onDelete to work with sqlite.
|
|
59
|
-
await connection.
|
|
59
|
+
await connection.run(`PRAGMA foreign_keys = ON`);
|
|
60
60
|
if (this.options.journalMode &&
|
|
61
61
|
["DELETE", "TRUNCATE", "PERSIST", "MEMORY", "WAL", "OFF"].indexOf(this.options.journalMode) !== -1) {
|
|
62
|
-
await connection.
|
|
62
|
+
await connection.run(`PRAGMA journal_mode = ${this.options.journalMode}`);
|
|
63
63
|
}
|
|
64
64
|
return connection;
|
|
65
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/capacitor/CapacitorDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAA;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAG5D,MAAM,OAAO,eAAgB,SAAQ,oBAAoB;IAIrD,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,YAAY,UAAsB;QAC9B,KAAK,CAAC,UAAU,CAAC,CAAA;QAEjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QAEjC,sBAAsB;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IACrC,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAA;QACzD,MAAM,IAAI,CAAC,kBAAkB,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;QAC5B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAA;QACxD,OAAO,kBAAkB,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACvC,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAqB;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAExE,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,KAAK,CAAC,wBAAwB;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,eAAe,CAAA;QACzD,MAAM,kBAAkB,GAAG,YAAY,KAAK,eAAe,CAAA;QAC3D,MAAM,eAAe,GACjB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,WAAW;YACvC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,kBAAkB,EAClB,YAAY,EACZ,eAAe,CAClB,CAAA;QACD,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;QAEvB,yFAAyF;QACzF,kEAAkE;QAClE,MAAM,UAAU,CAAC,
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/capacitor/CapacitorDriver.ts"],"names":[],"mappings":"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","file":"CapacitorDriver.js","sourcesContent":["import { AbstractSqliteDriver } from \"../sqlite-abstract/AbstractSqliteDriver\"\nimport { CapacitorConnectionOptions } from \"./CapacitorConnectionOptions\"\nimport { CapacitorQueryRunner } from \"./CapacitorQueryRunner\"\nimport { QueryRunner } from \"../../query-runner/QueryRunner\"\nimport { DataSource } from \"../../data-source/DataSource\"\nimport { DriverPackageNotInstalledError } from \"../../error\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\n\nexport class CapacitorDriver extends AbstractSqliteDriver {\n driver: any\n options: CapacitorConnectionOptions\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: DataSource) {\n super(connection)\n\n this.database = this.options.database\n this.driver = this.options.driver\n\n // load sqlite package\n this.sqlite = this.options.driver\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n */\n async connect(): Promise<void> {\n this.databaseConnection = this.createDatabaseConnection()\n await this.databaseConnection\n }\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n this.queryRunner = undefined\n const databaseConnection = await this.databaseConnection\n return databaseConnection.close().then(() => {\n this.databaseConnection = undefined\n })\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner) this.queryRunner = new CapacitorQueryRunner(this)\n\n return this.queryRunner\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected async createDatabaseConnection() {\n const databaseMode = this.options.mode || \"no-encryption\"\n const isDatabaseEncryted = databaseMode !== \"no-encryption\"\n const databaseVersion =\n typeof this.options.version === \"undefined\"\n ? 1\n : this.options.version\n const connection = await this.sqlite.createConnection(\n this.options.database,\n isDatabaseEncryted,\n databaseMode,\n databaseVersion,\n )\n await connection.open()\n\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete to work with sqlite.\n await connection.run(`PRAGMA foreign_keys = ON`)\n\n if (\n this.options.journalMode &&\n [\"DELETE\", \"TRUNCATE\", \"PERSIST\", \"MEMORY\", \"WAL\", \"OFF\"].indexOf(\n this.options.journalMode,\n ) !== -1\n ) {\n await connection.run(\n `PRAGMA journal_mode = ${this.options.journalMode}`,\n )\n }\n\n return connection\n }\n\n protected loadDependencies(): void {\n this.sqlite = this.driver\n if (!this.driver) {\n throw new DriverPackageNotInstalledError(\n \"Capacitor\",\n \"@capacitor-community/sqlite\",\n )\n }\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -42,7 +42,7 @@ export class CapacitorQueryRunner extends AbstractSqliteQueryRunner {
|
|
|
42
42
|
throw new QueryRunnerAlreadyReleasedError();
|
|
43
43
|
const databaseConnection = await this.connect();
|
|
44
44
|
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
45
|
-
const command = query.
|
|
45
|
+
const command = query.substring(0, query.indexOf(" ") !== -1 ? query.indexOf(" ") : undefined);
|
|
46
46
|
try {
|
|
47
47
|
let raw;
|
|
48
48
|
if ([
|
|
@@ -55,7 +55,7 @@ export class CapacitorQueryRunner extends AbstractSqliteQueryRunner {
|
|
|
55
55
|
].indexOf(command) !== -1) {
|
|
56
56
|
raw = await databaseConnection.execute(query, false);
|
|
57
57
|
}
|
|
58
|
-
else if (["INSERT", "UPDATE", "DELETE"].indexOf(command) !== -1) {
|
|
58
|
+
else if (["INSERT", "UPDATE", "DELETE", "PRAGMA"].indexOf(command) !== -1) {
|
|
59
59
|
raw = await databaseConnection.run(query, parameters, false);
|
|
60
60
|
}
|
|
61
61
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/capacitor/CapacitorQueryRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAA;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAE5D;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,yBAAyB;IAM/D,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,YAAY,MAAuB;QAC/B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAChB,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAA4C;QACzD,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,+BAA+B,EAAE,CAAA;QAEhE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAE/C,OAAO,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACP,KAAa,EACb,UAAkB,EAClB,mBAAmB,GAAG,KAAK;QAE3B,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,+BAA+B,EAAE,CAAA;QAEhE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QAE/C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QAE/D,MAAM,OAAO,GAAG,KAAK,CAAC,
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/capacitor/CapacitorQueryRunner.ts"],"names":[],"mappings":"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","file":"CapacitorQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { CapacitorDriver } from \"./CapacitorDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class CapacitorQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: CapacitorDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: CapacitorDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n async executeSet(set: { statement: string; values?: any[] }[]) {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const databaseConnection = await this.connect()\n\n return databaseConnection.executeSet(set, false)\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters?: any[],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const databaseConnection = await this.connect()\n\n this.driver.connection.logger.logQuery(query, parameters, this)\n\n const command = query.substring(\n 0,\n query.indexOf(\" \") !== -1 ? query.indexOf(\" \") : undefined,\n )\n\n try {\n let raw: any\n\n if (\n [\n \"BEGIN\",\n \"ROLLBACK\",\n \"COMMIT\",\n \"CREATE\",\n \"ALTER\",\n \"DROP\",\n ].indexOf(command) !== -1\n ) {\n raw = await databaseConnection.execute(query, false)\n } else if (\n [\"INSERT\", \"UPDATE\", \"DELETE\", \"PRAGMA\"].indexOf(command) !== -1\n ) {\n raw = await databaseConnection.run(query, parameters, false)\n } else {\n raw = await databaseConnection.query(query, parameters || [])\n }\n\n const result = new QueryResult()\n\n if (raw?.hasOwnProperty(\"values\")) {\n result.raw = raw.values\n result.records = raw.values\n }\n\n if (raw?.hasOwnProperty(\"changes\")) {\n result.affected = raw.changes.changes\n result.raw = raw.changes.lastId || raw.changes.changes\n }\n\n if (!useStructuredResult) {\n return result.raw\n }\n\n return result\n } catch (err) {\n this.driver.connection.logger.logQueryError(\n err,\n query,\n parameters,\n this,\n )\n\n throw new QueryFailedError(query, parameters, err)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Parametrizes given object of values. Used to create column=value queries.\n */\n protected parametrize(objectLiteral: ObjectLiteral): string[] {\n return Object.keys(objectLiteral).map((key) => `\"${key}\"` + \"=?\")\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -526,11 +526,12 @@ export class CockroachDriver {
|
|
|
526
526
|
*/
|
|
527
527
|
normalizeDefault(columnMetadata) {
|
|
528
528
|
const defaultValue = columnMetadata.default;
|
|
529
|
+
if (defaultValue === undefined || defaultValue === null) {
|
|
530
|
+
return undefined;
|
|
531
|
+
}
|
|
529
532
|
if ((columnMetadata.type === "enum" ||
|
|
530
533
|
columnMetadata.type === "simple-enum") &&
|
|
531
534
|
defaultValue !== undefined) {
|
|
532
|
-
if (defaultValue === null)
|
|
533
|
-
return "NULL";
|
|
534
535
|
if (columnMetadata.isArray) {
|
|
535
536
|
const enumName = this.buildEnumName(columnMetadata);
|
|
536
537
|
let arrayValue = defaultValue;
|
|
@@ -578,9 +579,6 @@ export class CockroachDriver {
|
|
|
578
579
|
if (ObjectUtils.isObject(defaultValue) && defaultValue !== null) {
|
|
579
580
|
return `'${JSON.stringify(defaultValue)}'`;
|
|
580
581
|
}
|
|
581
|
-
if (defaultValue === undefined || defaultValue === null) {
|
|
582
|
-
return undefined;
|
|
583
|
-
}
|
|
584
582
|
return `${defaultValue}`;
|
|
585
583
|
}
|
|
586
584
|
/**
|
|
@@ -683,10 +681,19 @@ export class CockroachDriver {
|
|
|
683
681
|
const tableColumn = tableColumns.find((c) => c.name === columnMetadata.databaseName);
|
|
684
682
|
if (!tableColumn)
|
|
685
683
|
return false; // we don't need new columns, we only need exist and changed
|
|
686
|
-
// console.log("table:", columnMetadata.entityMetadata.tableName)
|
|
687
|
-
// console.log("name:",
|
|
688
|
-
//
|
|
689
|
-
//
|
|
684
|
+
// console.log("table:", columnMetadata.entityMetadata.tableName)
|
|
685
|
+
// console.log("name:", {
|
|
686
|
+
// tableColumn: tableColumn.name,
|
|
687
|
+
// columnMetadata: columnMetadata.databaseName,
|
|
688
|
+
// })
|
|
689
|
+
// console.log("type:", {
|
|
690
|
+
// tableColumn: tableColumn.type,
|
|
691
|
+
// columnMetadata: this.normalizeType(columnMetadata),
|
|
692
|
+
// })
|
|
693
|
+
// console.log("length:", {
|
|
694
|
+
// tableColumn: tableColumn.length,
|
|
695
|
+
// columnMetadata: columnMetadata.length,
|
|
696
|
+
// })
|
|
690
697
|
// console.log("width:", tableColumn.width, columnMetadata.width);
|
|
691
698
|
// console.log("precision:", tableColumn.precision, columnMetadata.precision);
|
|
692
699
|
// console.log("scale:", tableColumn.scale, columnMetadata.scale);
|
|
@@ -696,7 +703,10 @@ export class CockroachDriver {
|
|
|
696
703
|
// console.log("isPrimary:", tableColumn.isPrimary, columnMetadata.isPrimary);
|
|
697
704
|
// console.log("isNullable:", tableColumn.isNullable, columnMetadata.isNullable);
|
|
698
705
|
// console.log("isUnique:", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));
|
|
699
|
-
// console.log("
|
|
706
|
+
// console.log("asExpression:", {
|
|
707
|
+
// tableColumn: (tableColumn.asExpression || "").trim(),
|
|
708
|
+
// columnMetadata: (columnMetadata.asExpression || "").trim(),
|
|
709
|
+
// })
|
|
700
710
|
// console.log("==========================================");
|
|
701
711
|
return (tableColumn.name !== columnMetadata.databaseName ||
|
|
702
712
|
tableColumn.type !== this.normalizeType(columnMetadata) ||
|