typeorm 0.2.41-dev.29cb891 → 0.2.41-dev.2d0abe7

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/query-runner/QueryRunner.ts"],"names":[],"mappings":"","file":"QueryRunner.js","sourcesContent":["import {TableColumn} from \"../schema-builder/table/TableColumn\";\nimport {Table} from \"../schema-builder/table/Table\";\nimport {TableForeignKey} from \"../schema-builder/table/TableForeignKey\";\nimport {TableIndex} from \"../schema-builder/table/TableIndex\";\nimport {Connection} from \"../connection/Connection\";\nimport {ReadStream} from \"../platform/PlatformTools\";\nimport {EntityManager} from \"../entity-manager/EntityManager\";\nimport {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {SqlInMemory} from \"../driver/SqlInMemory\";\nimport {TableUnique} from \"../schema-builder/table/TableUnique\";\nimport {View} from \"../schema-builder/view/View\";\nimport {Broadcaster} from \"../subscriber/Broadcaster\";\nimport {TableCheck} from \"../schema-builder/table/TableCheck\";\nimport {IsolationLevel} from \"../driver/types/IsolationLevel\";\nimport {TableExclusion} from \"../schema-builder/table/TableExclusion\";\nimport {QueryResult} from \"./QueryResult\";\n\n/**\n * Runs queries on a single database connection.\n */\nexport interface QueryRunner {\n\n /**\n * Connection used by this query runner.\n */\n readonly connection: Connection;\n\n /**\n * Broadcaster used on this query runner to broadcast entity events.\n */\n readonly broadcaster: Broadcaster;\n\n /**\n * Entity manager working only with this query runner.\n */\n readonly manager: EntityManager;\n\n /**\n * Indicates if connection for this query runner is released.\n * Once its released, query runner cannot run queries anymore.\n */\n readonly isReleased: boolean;\n\n /**\n * Indicates if transaction is in progress.\n */\n readonly isTransactionActive: boolean;\n\n /**\n * Stores temporarily user data.\n * Useful for sharing data with subscribers.\n */\n data: ObjectLiteral;\n\n /**\n * All synchronized tables in the database.\n *\n * @deprecated Call `getTables()`\n */\n loadedTables: Table[];\n\n /**\n * All synchronized views in the database.\n *\n * @deprecated Call `getViews()`\n */\n loadedViews: View[];\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\n /**\n * Releases used database connection.\n * You cannot use query runner methods after connection is released.\n */\n release(): Promise<void>;\n\n /**\n * Removes all tables from the currently connected database.\n * Be careful with using this method and avoid using it in production or migrations\n * (because it can clear all your database).\n */\n clearDatabase(database?: string): Promise<void>;\n\n /**\n * Starts transaction.\n */\n startTransaction(isolationLevel?: IsolationLevel): Promise<void>;\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n commitTransaction(): Promise<void>;\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n */\n rollbackTransaction(): Promise<void>;\n\n /**\n * Executes a given SQL query and returns raw database results.\n */\n query(query: string, parameters: any[] | undefined, useStructuredResult: true): Promise<QueryResult>;\n\n /**\n * Executes a given SQL query and returns raw database results.\n */\n query(query: string, parameters?: any[]): Promise<any>;\n\n /**\n * Returns raw data stream.\n */\n stream(query: string, parameters?: any[], onEnd?: Function, onError?: Function): Promise<ReadStream>;\n\n /**\n * Returns all available database names including system databases.\n */\n getDatabases(): Promise<string[]>;\n\n /**\n * Returns all available schema names including system schemas.\n * If database parameter specified, returns schemas of that database.\n * Useful for SQLServer and Postgres only.\n */\n getSchemas(database?: string): Promise<string[]>;\n\n /**\n * Loads a table by a given name from the database.\n */\n getTable(tablePath: string): Promise<Table|undefined>;\n\n /**\n * Loads all tables from the database and returns them.\n */\n getTables(tablePaths?: string[]): Promise<Table[]>;\n\n /**\n * Loads a view by a given name from the database.\n */\n getView(viewPath: string): Promise<View|undefined>;\n\n /**\n * Loads all views from the database and returns them.\n */\n getViews(viewPaths?: string[]): Promise<View[]>;\n\n /**\n * Checks if a database with the given name exist.\n */\n hasDatabase(database: string): Promise<boolean>;\n\n /**\n * Loads currently using database\n */\n getCurrentDatabase(): Promise<string|undefined>;\n\n /**\n * Checks if a schema with the given name exist.\n */\n hasSchema(schema: string): Promise<boolean>;\n\n /**\n * Loads currently using database schema\n */\n getCurrentSchema(): Promise<string|undefined>;\n\n /**\n * Checks if a table with the given name exist.\n */\n hasTable(table: Table|string): Promise<boolean>;\n\n /**\n * Checks if a column exist in the table.\n */\n hasColumn(table: Table|string, columnName: string): Promise<boolean>;\n\n /**\n * Creates a new database.\n */\n createDatabase(database: string, ifNotExist?: boolean): Promise<void>;\n\n /**\n * Drops database.\n */\n dropDatabase(database: string, ifExist?: boolean): Promise<void>;\n\n /**\n * Creates a new table schema.\n */\n createSchema(schemaPath: string, ifNotExist?: boolean): Promise<void>;\n\n /**\n * Drops table schema.\n * For SqlServer can accept schema path (e.g. 'dbName.schemaName') as parameter.\n * If schema path passed, it will drop schema in specified database.\n */\n dropSchema(schemaPath: string, ifExist?: boolean, isCascade?: boolean): Promise<void>;\n\n /**\n * Creates a new table.\n */\n createTable(table: Table, ifNotExist?: boolean, createForeignKeys?: boolean, createIndices?: boolean): Promise<void>;\n\n /**\n * Drops a table.\n */\n dropTable(table: Table|string, ifExist?: boolean, dropForeignKeys?: boolean, dropIndices?: boolean): Promise<void>;\n\n /**\n * Creates a new view.\n */\n createView(view: View, oldView?: View): Promise<void>;\n\n /**\n * Drops a view.\n */\n dropView(view: View|string): Promise<void>;\n\n /**\n * Renames a table.\n */\n renameTable(oldTableOrName: Table|string, newTableName: string): Promise<void>;\n\n /**\n * Adds a new column.\n */\n addColumn(table: Table|string, column: TableColumn): Promise<void>;\n\n /**\n * Adds new columns.\n */\n addColumns(table: Table|string, columns: TableColumn[]): Promise<void>;\n\n /**\n * Renames a column.\n */\n renameColumn(table: Table|string, oldColumnOrName: TableColumn|string, newColumnOrName: TableColumn|string): Promise<void>;\n\n /**\n * Changes a column in the table.\n */\n changeColumn(table: Table|string, oldColumn: TableColumn|string, newColumn: TableColumn): Promise<void>;\n\n /**\n * Changes columns in the table.\n */\n changeColumns(table: Table|string, changedColumns: { oldColumn: TableColumn, newColumn: TableColumn }[]): Promise<void>;\n\n /**\n * Drops a column in the table.\n */\n dropColumn(table: Table|string, column: TableColumn|string): Promise<void>;\n\n /**\n * Drops columns in the table.\n */\n dropColumns(table: Table|string, columns: TableColumn[]|string[]): Promise<void>;\n\n /**\n * Creates a new primary key.\n */\n createPrimaryKey(table: Table|string, columnNames: string[]): Promise<void>;\n\n /**\n * Updates composite primary keys.\n */\n updatePrimaryKeys(table: Table|string, columns: TableColumn[]): Promise<void>;\n\n /**\n * Drops a primary key.\n */\n dropPrimaryKey(table: Table|string): Promise<void>;\n\n /**\n * Creates a new unique constraint.\n */\n createUniqueConstraint(table: Table|string, uniqueConstraint: TableUnique): Promise<void>;\n\n /**\n * Creates new unique constraints.\n */\n createUniqueConstraints(table: Table|string, uniqueConstraints: TableUnique[]): Promise<void>;\n\n /**\n * Drops an unique constraint.\n */\n dropUniqueConstraint(table: Table|string, uniqueOrName: TableUnique|string): Promise<void>;\n\n /**\n * Drops unique constraints.\n */\n dropUniqueConstraints(table: Table|string, uniqueConstraints: TableUnique[]): Promise<void>;\n\n /**\n * Creates a new check constraint.\n */\n createCheckConstraint(table: Table|string, checkConstraint: TableCheck): Promise<void>;\n\n /**\n * Creates new check constraints.\n */\n createCheckConstraints(table: Table|string, checkConstraints: TableCheck[]): Promise<void>;\n\n /**\n * Drops a check constraint.\n */\n dropCheckConstraint(table: Table|string, checkOrName: TableCheck|string): Promise<void>;\n\n /**\n * Drops check constraints.\n */\n dropCheckConstraints(table: Table|string, checkConstraints: TableCheck[]): Promise<void>;\n\n /**\n * Creates a new exclusion constraint.\n */\n createExclusionConstraint(table: Table|string, exclusionConstraint: TableExclusion): Promise<void>;\n\n /**\n * Creates new exclusion constraints.\n */\n createExclusionConstraints(table: Table|string, exclusionConstraints: TableExclusion[]): Promise<void>;\n\n /**\n * Drops a exclusion constraint.\n */\n dropExclusionConstraint(table: Table|string, exclusionOrName: TableExclusion|string): Promise<void>;\n\n /**\n * Drops exclusion constraints.\n */\n dropExclusionConstraints(table: Table|string, exclusionConstraints: TableExclusion[]): Promise<void>;\n\n /**\n * Creates a new foreign key.\n */\n createForeignKey(table: Table|string, foreignKey: TableForeignKey): Promise<void>;\n\n /**\n * Creates new foreign keys.\n */\n createForeignKeys(table: Table|string, foreignKeys: TableForeignKey[]): Promise<void>;\n\n /**\n * Drops a foreign key.\n */\n dropForeignKey(table: Table|string, foreignKeyOrName: TableForeignKey|string): Promise<void>;\n\n /**\n * Drops foreign keys.\n */\n dropForeignKeys(table: Table|string, foreignKeys: TableForeignKey[]): Promise<void>;\n\n /**\n * Creates a new index.\n */\n createIndex(table: Table|string, index: TableIndex): Promise<void>;\n\n /**\n * Creates new indices.\n */\n createIndices(table: Table|string, indices: TableIndex[]): Promise<void>;\n\n /**\n * Drops an index.\n */\n dropIndex(table: Table|string, index: TableIndex|string): Promise<void>;\n\n /**\n * Drops indices.\n */\n dropIndices(table: Table|string, indices: TableIndex[]): Promise<void>;\n\n /**\n * Clears all table contents.\n * Note: this operation uses SQL's TRUNCATE query which cannot be reverted in transactions.\n */\n clearTable(tableName: string): Promise<void>;\n\n /**\n * Enables special query runner mode in which sql queries won't be executed,\n * instead they will be memorized into a special variable inside query runner.\n * You can get memorized sql using getMemorySql() method.\n */\n enableSqlMemory(): void;\n\n /**\n * Disables special query runner mode in which sql queries won't be executed\n * started by calling enableSqlMemory() method.\n *\n * Previously memorized sql will be flushed.\n */\n disableSqlMemory(): void;\n\n /**\n * Flushes all memorized sqls.\n */\n clearSqlMemory(): void;\n\n /**\n * Gets sql stored in the memory. Parameters in the sql are already replaced.\n */\n getMemorySql(): SqlInMemory;\n\n /**\n * Executes up sql queries.\n */\n executeMemoryUpSql(): Promise<void>;\n\n /**\n * Executes down sql queries.\n */\n executeMemoryDownSql(): Promise<void>;\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/query-runner/QueryRunner.ts"],"names":[],"mappings":"","file":"QueryRunner.js","sourcesContent":["import {TableColumn} from \"../schema-builder/table/TableColumn\";\nimport {Table} from \"../schema-builder/table/Table\";\nimport {TableForeignKey} from \"../schema-builder/table/TableForeignKey\";\nimport {TableIndex} from \"../schema-builder/table/TableIndex\";\nimport {Connection} from \"../connection/Connection\";\nimport {ReadStream} from \"../platform/PlatformTools\";\nimport {EntityManager} from \"../entity-manager/EntityManager\";\nimport {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {SqlInMemory} from \"../driver/SqlInMemory\";\nimport {TableUnique} from \"../schema-builder/table/TableUnique\";\nimport {View} from \"../schema-builder/view/View\";\nimport {Broadcaster} from \"../subscriber/Broadcaster\";\nimport {TableCheck} from \"../schema-builder/table/TableCheck\";\nimport {IsolationLevel} from \"../driver/types/IsolationLevel\";\nimport {TableExclusion} from \"../schema-builder/table/TableExclusion\";\nimport {QueryResult} from \"./QueryResult\";\nimport {ReplicationMode} from \"../driver/types/ReplicationMode\";\n\n/**\n * Runs queries on a single database connection.\n */\nexport interface QueryRunner {\n\n /**\n * Connection used by this query runner.\n */\n readonly connection: Connection;\n\n /**\n * Broadcaster used on this query runner to broadcast entity events.\n */\n readonly broadcaster: Broadcaster;\n\n /**\n * Entity manager working only with this query runner.\n */\n readonly manager: EntityManager;\n\n /**\n * Indicates if connection for this query runner is released.\n * Once its released, query runner cannot run queries anymore.\n */\n readonly isReleased: boolean;\n\n /**\n * Indicates if transaction is in progress.\n */\n readonly isTransactionActive: boolean;\n\n /**\n * Stores temporarily user data.\n * Useful for sharing data with subscribers.\n */\n data: ObjectLiteral;\n\n /**\n * All synchronized tables in the database.\n *\n * @deprecated Call `getTables()`\n */\n loadedTables: Table[];\n\n /**\n * All synchronized views in the database.\n *\n * @deprecated Call `getViews()`\n */\n loadedViews: View[];\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\n /**\n * Releases used database connection.\n * You cannot use query runner methods after connection is released.\n */\n release(): Promise<void>;\n\n /**\n * Removes all tables from the currently connected database.\n * Be careful with using this method and avoid using it in production or migrations\n * (because it can clear all your database).\n */\n clearDatabase(database?: string): Promise<void>;\n\n /**\n * Starts transaction.\n */\n startTransaction(isolationLevel?: IsolationLevel): Promise<void>;\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n commitTransaction(): Promise<void>;\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n */\n rollbackTransaction(): Promise<void>;\n\n /**\n * Executes a given SQL query and returns raw database results.\n */\n query(query: string, parameters: any[] | undefined, useStructuredResult: true): Promise<QueryResult>;\n\n /**\n * Executes a given SQL query and returns raw database results.\n */\n query(query: string, parameters?: any[]): Promise<any>;\n\n /**\n * Returns raw data stream.\n */\n stream(query: string, parameters?: any[], onEnd?: Function, onError?: Function): Promise<ReadStream>;\n\n /**\n * Returns all available database names including system databases.\n */\n getDatabases(): Promise<string[]>;\n\n /**\n * Returns all available schema names including system schemas.\n * If database parameter specified, returns schemas of that database.\n * Useful for SQLServer and Postgres only.\n */\n getSchemas(database?: string): Promise<string[]>;\n\n /**\n * Loads a table by a given name from the database.\n */\n getTable(tablePath: string): Promise<Table|undefined>;\n\n /**\n * Loads all tables from the database and returns them.\n */\n getTables(tablePaths?: string[]): Promise<Table[]>;\n\n /**\n * Loads a view by a given name from the database.\n */\n getView(viewPath: string): Promise<View|undefined>;\n\n /**\n * Loads all views from the database and returns them.\n */\n getViews(viewPaths?: string[]): Promise<View[]>;\n\n /**\n * Returns replication mode (ex: `master` or `slave`).\n */\n getReplicationMode(): ReplicationMode;\n\n /**\n * Checks if a database with the given name exist.\n */\n hasDatabase(database: string): Promise<boolean>;\n\n /**\n * Loads currently using database\n */\n getCurrentDatabase(): Promise<string|undefined>;\n\n /**\n * Checks if a schema with the given name exist.\n */\n hasSchema(schema: string): Promise<boolean>;\n\n /**\n * Loads currently using database schema\n */\n getCurrentSchema(): Promise<string|undefined>;\n\n /**\n * Checks if a table with the given name exist.\n */\n hasTable(table: Table|string): Promise<boolean>;\n\n /**\n * Checks if a column exist in the table.\n */\n hasColumn(table: Table|string, columnName: string): Promise<boolean>;\n\n /**\n * Creates a new database.\n */\n createDatabase(database: string, ifNotExist?: boolean): Promise<void>;\n\n /**\n * Drops database.\n */\n dropDatabase(database: string, ifExist?: boolean): Promise<void>;\n\n /**\n * Creates a new table schema.\n */\n createSchema(schemaPath: string, ifNotExist?: boolean): Promise<void>;\n\n /**\n * Drops table schema.\n * For SqlServer can accept schema path (e.g. 'dbName.schemaName') as parameter.\n * If schema path passed, it will drop schema in specified database.\n */\n dropSchema(schemaPath: string, ifExist?: boolean, isCascade?: boolean): Promise<void>;\n\n /**\n * Creates a new table.\n */\n createTable(table: Table, ifNotExist?: boolean, createForeignKeys?: boolean, createIndices?: boolean): Promise<void>;\n\n /**\n * Drops a table.\n */\n dropTable(table: Table|string, ifExist?: boolean, dropForeignKeys?: boolean, dropIndices?: boolean): Promise<void>;\n\n /**\n * Creates a new view.\n */\n createView(view: View, oldView?: View): Promise<void>;\n\n /**\n * Drops a view.\n */\n dropView(view: View|string): Promise<void>;\n\n /**\n * Renames a table.\n */\n renameTable(oldTableOrName: Table|string, newTableName: string): Promise<void>;\n\n /**\n * Adds a new column.\n */\n addColumn(table: Table|string, column: TableColumn): Promise<void>;\n\n /**\n * Adds new columns.\n */\n addColumns(table: Table|string, columns: TableColumn[]): Promise<void>;\n\n /**\n * Renames a column.\n */\n renameColumn(table: Table|string, oldColumnOrName: TableColumn|string, newColumnOrName: TableColumn|string): Promise<void>;\n\n /**\n * Changes a column in the table.\n */\n changeColumn(table: Table|string, oldColumn: TableColumn|string, newColumn: TableColumn): Promise<void>;\n\n /**\n * Changes columns in the table.\n */\n changeColumns(table: Table|string, changedColumns: { oldColumn: TableColumn, newColumn: TableColumn }[]): Promise<void>;\n\n /**\n * Drops a column in the table.\n */\n dropColumn(table: Table|string, column: TableColumn|string): Promise<void>;\n\n /**\n * Drops columns in the table.\n */\n dropColumns(table: Table|string, columns: TableColumn[]|string[]): Promise<void>;\n\n /**\n * Creates a new primary key.\n */\n createPrimaryKey(table: Table|string, columnNames: string[]): Promise<void>;\n\n /**\n * Updates composite primary keys.\n */\n updatePrimaryKeys(table: Table|string, columns: TableColumn[]): Promise<void>;\n\n /**\n * Drops a primary key.\n */\n dropPrimaryKey(table: Table|string): Promise<void>;\n\n /**\n * Creates a new unique constraint.\n */\n createUniqueConstraint(table: Table|string, uniqueConstraint: TableUnique): Promise<void>;\n\n /**\n * Creates new unique constraints.\n */\n createUniqueConstraints(table: Table|string, uniqueConstraints: TableUnique[]): Promise<void>;\n\n /**\n * Drops an unique constraint.\n */\n dropUniqueConstraint(table: Table|string, uniqueOrName: TableUnique|string): Promise<void>;\n\n /**\n * Drops unique constraints.\n */\n dropUniqueConstraints(table: Table|string, uniqueConstraints: TableUnique[]): Promise<void>;\n\n /**\n * Creates a new check constraint.\n */\n createCheckConstraint(table: Table|string, checkConstraint: TableCheck): Promise<void>;\n\n /**\n * Creates new check constraints.\n */\n createCheckConstraints(table: Table|string, checkConstraints: TableCheck[]): Promise<void>;\n\n /**\n * Drops a check constraint.\n */\n dropCheckConstraint(table: Table|string, checkOrName: TableCheck|string): Promise<void>;\n\n /**\n * Drops check constraints.\n */\n dropCheckConstraints(table: Table|string, checkConstraints: TableCheck[]): Promise<void>;\n\n /**\n * Creates a new exclusion constraint.\n */\n createExclusionConstraint(table: Table|string, exclusionConstraint: TableExclusion): Promise<void>;\n\n /**\n * Creates new exclusion constraints.\n */\n createExclusionConstraints(table: Table|string, exclusionConstraints: TableExclusion[]): Promise<void>;\n\n /**\n * Drops a exclusion constraint.\n */\n dropExclusionConstraint(table: Table|string, exclusionOrName: TableExclusion|string): Promise<void>;\n\n /**\n * Drops exclusion constraints.\n */\n dropExclusionConstraints(table: Table|string, exclusionConstraints: TableExclusion[]): Promise<void>;\n\n /**\n * Creates a new foreign key.\n */\n createForeignKey(table: Table|string, foreignKey: TableForeignKey): Promise<void>;\n\n /**\n * Creates new foreign keys.\n */\n createForeignKeys(table: Table|string, foreignKeys: TableForeignKey[]): Promise<void>;\n\n /**\n * Drops a foreign key.\n */\n dropForeignKey(table: Table|string, foreignKeyOrName: TableForeignKey|string): Promise<void>;\n\n /**\n * Drops foreign keys.\n */\n dropForeignKeys(table: Table|string, foreignKeys: TableForeignKey[]): Promise<void>;\n\n /**\n * Creates a new index.\n */\n createIndex(table: Table|string, index: TableIndex): Promise<void>;\n\n /**\n * Creates new indices.\n */\n createIndices(table: Table|string, indices: TableIndex[]): Promise<void>;\n\n /**\n * Drops an index.\n */\n dropIndex(table: Table|string, index: TableIndex|string): Promise<void>;\n\n /**\n * Drops indices.\n */\n dropIndices(table: Table|string, indices: TableIndex[]): Promise<void>;\n\n /**\n * Clears all table contents.\n * Note: this operation uses SQL's TRUNCATE query which cannot be reverted in transactions.\n */\n clearTable(tableName: string): Promise<void>;\n\n /**\n * Enables special query runner mode in which sql queries won't be executed,\n * instead they will be memorized into a special variable inside query runner.\n * You can get memorized sql using getMemorySql() method.\n */\n enableSqlMemory(): void;\n\n /**\n * Disables special query runner mode in which sql queries won't be executed\n * started by calling enableSqlMemory() method.\n *\n * Previously memorized sql will be flushed.\n */\n disableSqlMemory(): void;\n\n /**\n * Flushes all memorized sqls.\n */\n clearSqlMemory(): void;\n\n /**\n * Gets sql stored in the memory. Parameters in the sql are already replaced.\n */\n getMemorySql(): SqlInMemory;\n\n /**\n * Executes up sql queries.\n */\n executeMemoryUpSql(): Promise<void>;\n\n /**\n * Executes down sql queries.\n */\n executeMemoryDownSql(): Promise<void>;\n\n}\n"],"sourceRoot":".."}
@@ -154,11 +154,14 @@ var DbQueryResultCache = /** @class */ (function () {
154
154
  */
155
155
  DbQueryResultCache.prototype.storeInCache = function (options, savedCache, queryRunner) {
156
156
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
157
- var insertedValues, qb, qb;
157
+ var shouldCreateQueryRunner, insertedValues, qb, qb;
158
158
  return (0, tslib_1.__generator)(this, function (_a) {
159
159
  switch (_a.label) {
160
160
  case 0:
161
- queryRunner = this.getQueryRunner(queryRunner);
161
+ shouldCreateQueryRunner = queryRunner === undefined || (queryRunner === null || queryRunner === void 0 ? void 0 : queryRunner.getReplicationMode()) === "slave";
162
+ if (queryRunner === undefined || shouldCreateQueryRunner) {
163
+ queryRunner = this.connection.createQueryRunner("master");
164
+ }
162
165
  insertedValues = options;
163
166
  if (this.connection.driver instanceof SqlServerDriver_1.SqlServerDriver) { // todo: bad abstraction, re-implement this part, probably better if we create an entity metadata for cache table
164
167
  insertedValues = {
@@ -205,7 +208,13 @@ var DbQueryResultCache = /** @class */ (function () {
205
208
  case 5:
206
209
  _a.sent();
207
210
  _a.label = 6;
208
- case 6: return [2 /*return*/];
211
+ case 6:
212
+ if (!shouldCreateQueryRunner) return [3 /*break*/, 8];
213
+ return [4 /*yield*/, queryRunner.release()];
214
+ case 7:
215
+ _a.sent();
216
+ _a.label = 8;
217
+ case 8: return [2 /*return*/];
209
218
  }
210
219
  });
211
220
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cache/DbQueryResultCache.ts"],"names":[],"mappings":"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","file":"DbQueryResultCache.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {Connection} from \"../connection/Connection\";\nimport {OracleDriver} from \"../driver/oracle/OracleDriver\";\nimport {MssqlParameter} from \"../driver/sqlserver/MssqlParameter\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {Table} from \"../schema-builder/table/Table\";\nimport {QueryResultCache} from \"./QueryResultCache\";\nimport {QueryResultCacheOptions} from \"./QueryResultCacheOptions\";\n\n/**\n * Caches query result into current database, into separate table called \"query-result-cache\".\n */\nexport class DbQueryResultCache implements QueryResultCache {\n\n // -------------------------------------------------------------------------\n // Private properties\n // -------------------------------------------------------------------------\n\n private queryResultCacheTable: string;\n\n private queryResultCacheDatabase?: string;\n\n private queryResultCacheSchema?: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n\n const { schema } = (this.connection.driver.options as any);\n const database = this.connection.driver.database;\n const cacheOptions = typeof this.connection.options.cache === \"object\" ? this.connection.options.cache : {};\n const cacheTableName = cacheOptions.tableName || \"query-result-cache\";\n\n this.queryResultCacheDatabase = database;\n this.queryResultCacheSchema = schema;\n this.queryResultCacheTable = this.connection.driver.buildTableName(cacheTableName, schema, database);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a connection with given cache provider.\n */\n async connect(): Promise<void> {\n }\n\n /**\n * Disconnects with given cache provider.\n */\n async disconnect(): Promise<void> {\n }\n\n /**\n * Creates table for storing cache if it does not exist yet.\n */\n async synchronize(queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner);\n const driver = this.connection.driver;\n const tableExist = await queryRunner.hasTable(this.queryResultCacheTable); // todo: table name should be configurable\n if (tableExist)\n return;\n\n await queryRunner.createTable(new Table(\n {\n database: this.queryResultCacheDatabase,\n schema: this.queryResultCacheSchema,\n name: this.queryResultCacheTable,\n columns: [\n {\n name: \"id\",\n isPrimary: true,\n isNullable: false,\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheId}),\n generationStrategy: \"increment\",\n isGenerated: true\n },\n {\n name: \"identifier\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheIdentifier}),\n isNullable: true\n },\n {\n name: \"time\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheTime}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"duration\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheDuration}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"query\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheQuery}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"result\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheResult}),\n isNullable: false\n },\n ]\n },\n ));\n }\n\n /**\n * Caches given query result.\n * Returns cache result if found.\n * Returns undefined if result is not cached.\n */\n getFromCache(options: QueryResultCacheOptions, queryRunner?: QueryRunner): Promise<QueryResultCacheOptions|undefined> {\n queryRunner = this.getQueryRunner(queryRunner);\n const qb = this.connection\n .createQueryBuilder(queryRunner)\n .select()\n .from(this.queryResultCacheTable, \"cache\");\n\n if (options.identifier) {\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"identifier\")} = :identifier`)\n .setParameters({ identifier: this.connection.driver instanceof SqlServerDriver ? new MssqlParameter(options.identifier, \"nvarchar\") : options.identifier })\n .getRawOne();\n\n } else if (options.query) {\n if (this.connection.driver instanceof OracleDriver) {\n return qb\n .where(`dbms_lob.compare(${qb.escape(\"cache\")}.${qb.escape(\"query\")}, :query) = 0`, { query: options.query })\n .getRawOne();\n }\n\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"query\")} = :query`)\n .setParameters({ query: this.connection.driver instanceof SqlServerDriver ? new MssqlParameter(options.query, \"nvarchar\") : options.query })\n .getRawOne();\n }\n\n return Promise.resolve(undefined);\n }\n\n /**\n * Checks if cache is expired or not.\n */\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n const duration = typeof savedCache.duration === \"string\" ? parseInt(savedCache.duration) : savedCache.duration;\n return ((typeof savedCache.time === \"string\" ? parseInt(savedCache.time as any) : savedCache.time)! + duration) < new Date().getTime();\n }\n\n /**\n * Stores given query result in the cache.\n */\n async storeInCache(options: QueryResultCacheOptions, savedCache: QueryResultCacheOptions|undefined, queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner);\n\n let insertedValues: ObjectLiteral = options;\n if (this.connection.driver instanceof SqlServerDriver) { // todo: bad abstraction, re-implement this part, probably better if we create an entity metadata for cache table\n insertedValues = {\n identifier: new MssqlParameter(options.identifier, \"nvarchar\"),\n time: new MssqlParameter(options.time, \"bigint\"),\n duration: new MssqlParameter(options.duration, \"int\"),\n query: new MssqlParameter(options.query, \"nvarchar\"),\n result: new MssqlParameter(options.result, \"nvarchar\"),\n };\n }\n\n if (savedCache && savedCache.identifier) { // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues);\n\n qb.where(`${qb.escape(\"identifier\")} = :condition`, { condition: insertedValues.identifier });\n await qb.execute();\n\n } else if (savedCache && savedCache.query) { // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues);\n\n if (this.connection.driver instanceof OracleDriver) {\n qb.where(`dbms_lob.compare(\"query\", :condition) = 0`, { condition: insertedValues.query });\n\n } else {\n qb.where(`${qb.escape(\"query\")} = :condition`, { condition: insertedValues.query });\n }\n\n await qb.execute();\n\n } else { // otherwise insert\n await queryRunner.manager\n .createQueryBuilder()\n .insert()\n .into(this.queryResultCacheTable)\n .values(insertedValues)\n .execute();\n }\n }\n\n /**\n * Clears everything stored in the cache.\n */\n async clear(queryRunner: QueryRunner): Promise<void> {\n return this.getQueryRunner(queryRunner).clearTable(this.queryResultCacheTable);\n }\n\n /**\n * Removes all cached results by given identifiers from cache.\n */\n async remove(identifiers: string[], queryRunner?: QueryRunner): Promise<void> {\n await Promise.all(identifiers.map(identifier => {\n const qb = this.getQueryRunner(queryRunner).manager.createQueryBuilder();\n return qb.delete()\n .from(this.queryResultCacheTable)\n .where(`${qb.escape(\"identifier\")} = :identifier`, {identifier})\n .execute();\n }));\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets a query runner to work with.\n */\n protected getQueryRunner(queryRunner: QueryRunner|undefined): QueryRunner {\n if (queryRunner)\n return queryRunner;\n\n return this.connection.createQueryRunner();\n }\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/cache/DbQueryResultCache.ts"],"names":[],"mappings":"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","file":"DbQueryResultCache.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {Connection} from \"../connection/Connection\";\nimport {OracleDriver} from \"../driver/oracle/OracleDriver\";\nimport {MssqlParameter} from \"../driver/sqlserver/MssqlParameter\";\nimport {SqlServerDriver} from \"../driver/sqlserver/SqlServerDriver\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {Table} from \"../schema-builder/table/Table\";\nimport {QueryResultCache} from \"./QueryResultCache\";\nimport {QueryResultCacheOptions} from \"./QueryResultCacheOptions\";\n\n/**\n * Caches query result into current database, into separate table called \"query-result-cache\".\n */\nexport class DbQueryResultCache implements QueryResultCache {\n\n // -------------------------------------------------------------------------\n // Private properties\n // -------------------------------------------------------------------------\n\n private queryResultCacheTable: string;\n\n private queryResultCacheDatabase?: string;\n\n private queryResultCacheSchema?: string;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected connection: Connection) {\n\n const { schema } = (this.connection.driver.options as any);\n const database = this.connection.driver.database;\n const cacheOptions = typeof this.connection.options.cache === \"object\" ? this.connection.options.cache : {};\n const cacheTableName = cacheOptions.tableName || \"query-result-cache\";\n\n this.queryResultCacheDatabase = database;\n this.queryResultCacheSchema = schema;\n this.queryResultCacheTable = this.connection.driver.buildTableName(cacheTableName, schema, database);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a connection with given cache provider.\n */\n async connect(): Promise<void> {\n }\n\n /**\n * Disconnects with given cache provider.\n */\n async disconnect(): Promise<void> {\n }\n\n /**\n * Creates table for storing cache if it does not exist yet.\n */\n async synchronize(queryRunner?: QueryRunner): Promise<void> {\n queryRunner = this.getQueryRunner(queryRunner);\n const driver = this.connection.driver;\n const tableExist = await queryRunner.hasTable(this.queryResultCacheTable); // todo: table name should be configurable\n if (tableExist)\n return;\n\n await queryRunner.createTable(new Table(\n {\n database: this.queryResultCacheDatabase,\n schema: this.queryResultCacheSchema,\n name: this.queryResultCacheTable,\n columns: [\n {\n name: \"id\",\n isPrimary: true,\n isNullable: false,\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheId}),\n generationStrategy: \"increment\",\n isGenerated: true\n },\n {\n name: \"identifier\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheIdentifier}),\n isNullable: true\n },\n {\n name: \"time\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheTime}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"duration\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheDuration}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"query\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheQuery}),\n isPrimary: false,\n isNullable: false\n },\n {\n name: \"result\",\n type: driver.normalizeType({type: driver.mappedDataTypes.cacheResult}),\n isNullable: false\n },\n ]\n },\n ));\n }\n\n /**\n * Caches given query result.\n * Returns cache result if found.\n * Returns undefined if result is not cached.\n */\n getFromCache(options: QueryResultCacheOptions, queryRunner?: QueryRunner): Promise<QueryResultCacheOptions|undefined> {\n queryRunner = this.getQueryRunner(queryRunner);\n const qb = this.connection\n .createQueryBuilder(queryRunner)\n .select()\n .from(this.queryResultCacheTable, \"cache\");\n\n if (options.identifier) {\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"identifier\")} = :identifier`)\n .setParameters({ identifier: this.connection.driver instanceof SqlServerDriver ? new MssqlParameter(options.identifier, \"nvarchar\") : options.identifier })\n .getRawOne();\n\n } else if (options.query) {\n if (this.connection.driver instanceof OracleDriver) {\n return qb\n .where(`dbms_lob.compare(${qb.escape(\"cache\")}.${qb.escape(\"query\")}, :query) = 0`, { query: options.query })\n .getRawOne();\n }\n\n return qb\n .where(`${qb.escape(\"cache\")}.${qb.escape(\"query\")} = :query`)\n .setParameters({ query: this.connection.driver instanceof SqlServerDriver ? new MssqlParameter(options.query, \"nvarchar\") : options.query })\n .getRawOne();\n }\n\n return Promise.resolve(undefined);\n }\n\n /**\n * Checks if cache is expired or not.\n */\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n const duration = typeof savedCache.duration === \"string\" ? parseInt(savedCache.duration) : savedCache.duration;\n return ((typeof savedCache.time === \"string\" ? parseInt(savedCache.time as any) : savedCache.time)! + duration) < new Date().getTime();\n }\n\n /**\n * Stores given query result in the cache.\n */\n async storeInCache(options: QueryResultCacheOptions, savedCache: QueryResultCacheOptions|undefined, queryRunner?: QueryRunner): Promise<void> {\n const shouldCreateQueryRunner = queryRunner === undefined || queryRunner?.getReplicationMode() === \"slave\";\n\n if (queryRunner === undefined || shouldCreateQueryRunner) {\n queryRunner = this.connection.createQueryRunner(\"master\");\n }\n\n let insertedValues: ObjectLiteral = options;\n if (this.connection.driver instanceof SqlServerDriver) { // todo: bad abstraction, re-implement this part, probably better if we create an entity metadata for cache table\n insertedValues = {\n identifier: new MssqlParameter(options.identifier, \"nvarchar\"),\n time: new MssqlParameter(options.time, \"bigint\"),\n duration: new MssqlParameter(options.duration, \"int\"),\n query: new MssqlParameter(options.query, \"nvarchar\"),\n result: new MssqlParameter(options.result, \"nvarchar\"),\n };\n }\n\n if (savedCache && savedCache.identifier) { // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues);\n\n qb.where(`${qb.escape(\"identifier\")} = :condition`, { condition: insertedValues.identifier });\n await qb.execute();\n\n } else if (savedCache && savedCache.query) { // if exist then update\n const qb = queryRunner.manager\n .createQueryBuilder()\n .update(this.queryResultCacheTable)\n .set(insertedValues);\n\n if (this.connection.driver instanceof OracleDriver) {\n qb.where(`dbms_lob.compare(\"query\", :condition) = 0`, { condition: insertedValues.query });\n\n } else {\n qb.where(`${qb.escape(\"query\")} = :condition`, { condition: insertedValues.query });\n }\n\n await qb.execute();\n\n } else { // otherwise insert\n await queryRunner.manager\n .createQueryBuilder()\n .insert()\n .into(this.queryResultCacheTable)\n .values(insertedValues)\n .execute();\n }\n\n if (shouldCreateQueryRunner) {\n await queryRunner.release();\n }\n }\n\n /**\n * Clears everything stored in the cache.\n */\n async clear(queryRunner: QueryRunner): Promise<void> {\n return this.getQueryRunner(queryRunner).clearTable(this.queryResultCacheTable);\n }\n\n /**\n * Removes all cached results by given identifiers from cache.\n */\n async remove(identifiers: string[], queryRunner?: QueryRunner): Promise<void> {\n await Promise.all(identifiers.map(identifier => {\n const qb = this.getQueryRunner(queryRunner).manager.createQueryBuilder();\n return qb.delete()\n .from(this.queryResultCacheTable)\n .where(`${qb.escape(\"identifier\")} = :identifier`, {identifier})\n .execute();\n }));\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets a query runner to work with.\n */\n protected getQueryRunner(queryRunner: QueryRunner|undefined): QueryRunner {\n if (queryRunner)\n return queryRunner;\n\n return this.connection.createQueryRunner();\n }\n\n}\n"],"sourceRoot":".."}
@@ -15,6 +15,7 @@ import { TableUnique } from "../../schema-builder/table/TableUnique";
15
15
  import { Broadcaster } from "../../subscriber/Broadcaster";
16
16
  import { TableCheck } from "../../schema-builder/table/TableCheck";
17
17
  import { TableExclusion } from "../../schema-builder/table/TableExclusion";
18
+ import { ReplicationMode } from "../types/ReplicationMode";
18
19
  /**
19
20
  * Runs queries on a single MongoDB connection.
20
21
  */
@@ -316,6 +317,7 @@ export declare class MongoQueryRunner implements QueryRunner {
316
317
  * Loads all views (with given names) from the database and creates a Table from them.
317
318
  */
318
319
  getViews(collectionNames: string[]): Promise<View[]>;
320
+ getReplicationMode(): ReplicationMode;
319
321
  /**
320
322
  * Checks if database with the given name exist.
321
323
  */
@@ -626,6 +626,9 @@ var MongoQueryRunner = /** @class */ (function () {
626
626
  });
627
627
  });
628
628
  };
629
+ MongoQueryRunner.prototype.getReplicationMode = function () {
630
+ return 'master';
631
+ };
629
632
  /**
630
633
  * Checks if database with the given name exist.
631
634
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/mongodb/MongoQueryRunner.ts"],"names":[],"mappings":"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","file":"MongoQueryRunner.js","sourcesContent":["import {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {Table} from \"../../schema-builder/table/Table\";\nimport {TableForeignKey} from \"../../schema-builder/table/TableForeignKey\";\nimport {TableIndex} from \"../../schema-builder/table/TableIndex\";\nimport {View} from \"../../schema-builder/view/View\";\nimport {\n AggregationCursor,\n BulkWriteOpResultObject,\n ChangeStream,\n ChangeStreamOptions,\n Code,\n Collection,\n CollectionAggregationOptions,\n CollectionBulkWriteOptions,\n CollectionInsertManyOptions,\n CollectionInsertOneOptions,\n CollectionOptions,\n CollStats,\n CommandCursor,\n Cursor,\n DeleteWriteOpResultObject,\n FindAndModifyWriteOpResultObject,\n FindOneAndReplaceOption,\n GeoHaystackSearchOptions,\n GeoNearOptions,\n InsertOneWriteOpResult,\n InsertWriteOpResult,\n MapReduceOptions,\n MongoClient,\n MongoCountPreferences,\n MongodbIndexOptions,\n OrderedBulkOperation,\n ParallelCollectionScanOptions,\n ReadPreference,\n ReplaceOneOptions,\n UnorderedBulkOperation,\n UpdateWriteOpResult\n} from \"./typings\";\nimport {Connection} from \"../../connection/Connection\";\nimport {ReadStream} from \"../../platform/PlatformTools\";\nimport {MongoEntityManager} from \"../../entity-manager/MongoEntityManager\";\nimport {SqlInMemory} from \"../SqlInMemory\";\nimport {TableUnique} from \"../../schema-builder/table/TableUnique\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport {TableCheck} from \"../../schema-builder/table/TableCheck\";\nimport {TableExclusion} from \"../../schema-builder/table/TableExclusion\";\nimport { TypeORMError } from \"../../error\";\n\n/**\n * Runs queries on a single MongoDB connection.\n */\nexport class MongoQueryRunner implements QueryRunner {\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by this query runner.\n */\n connection: Connection;\n\n /**\n * Broadcaster used on this query runner to broadcast entity events.\n */\n broadcaster: Broadcaster;\n\n /**\n * Entity manager working only with current query runner.\n */\n manager: MongoEntityManager;\n\n /**\n * Indicates if connection for this query runner is released.\n * Once its released, query runner cannot run queries anymore.\n * Always false for mongodb since mongodb has a single query executor instance.\n */\n isReleased = false;\n\n /**\n * Indicates if transaction is active in this query executor.\n * Always false for mongodb since mongodb does not support transactions.\n */\n isTransactionActive = false;\n\n /**\n * Stores temporarily user data.\n * Useful for sharing data with subscribers.\n */\n data = {};\n\n /**\n * All synchronized tables in the database.\n */\n loadedTables: Table[];\n\n /**\n * All synchronized views in the database.\n */\n loadedViews: View[];\n\n /**\n * Real database connection from a connection pool used to perform queries.\n */\n databaseConnection: MongoClient;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection, databaseConnection: MongoClient) {\n this.connection = connection;\n this.databaseConnection = databaseConnection;\n this.broadcaster = new Broadcaster(this);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a cursor for a query that can be used to iterate over results from MongoDB.\n */\n cursor(collectionName: string, query?: ObjectLiteral): Cursor<any> {\n return this.getCollection(collectionName).find(query || {});\n }\n\n /**\n * Execute an aggregation framework pipeline against the collection.\n */\n aggregate(collectionName: string, pipeline: ObjectLiteral[], options?: CollectionAggregationOptions): AggregationCursor<any> {\n return this.getCollection(collectionName).aggregate(pipeline, options);\n }\n\n /**\n * Perform a bulkWrite operation without a fluent API.\n */\n async bulkWrite(collectionName: string, operations: ObjectLiteral[], options?: CollectionBulkWriteOptions): Promise<BulkWriteOpResultObject> {\n return await this.getCollection(collectionName).bulkWrite(operations, options);\n }\n\n /**\n * Count number of matching documents in the db to a query.\n */\n async count(collectionName: string, query?: ObjectLiteral, options?: MongoCountPreferences): Promise<any> {\n return await this.getCollection(collectionName).countDocuments(query || {}, options);\n }\n\n /**\n * Creates an index on the db and collection.\n */\n async createCollectionIndex(collectionName: string, fieldOrSpec: string | any, options?: MongodbIndexOptions): Promise<string> {\n return await this.getCollection(collectionName).createIndex(fieldOrSpec, options);\n }\n\n /**\n * Creates multiple indexes in the collection, this method is only supported for MongoDB 2.6 or higher.\n * Earlier version of MongoDB will throw a command not supported error. Index specifications are defined at http://docs.mongodb.org/manual/reference/command/createIndexes/.\n */\n async createCollectionIndexes(collectionName: string, indexSpecs: ObjectLiteral[]): Promise<void> {\n return await this.getCollection(collectionName).createIndexes(indexSpecs);\n }\n\n /**\n * Delete multiple documents on MongoDB.\n */\n async deleteMany(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise<DeleteWriteOpResultObject> {\n return await this.getCollection(collectionName).deleteMany(query, options);\n }\n\n /**\n * Delete a document on MongoDB.\n */\n async deleteOne(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise<DeleteWriteOpResultObject> {\n return await this.getCollection(collectionName).deleteOne(query, options);\n }\n\n /**\n * The distinct command returns returns a list of distinct values for the given key across a collection.\n */\n async distinct(collectionName: string, key: string, query: ObjectLiteral, options?: { readPreference?: ReadPreference | string }): Promise<any> {\n return await this.getCollection(collectionName).distinct(key, query, options);\n }\n\n /**\n * Drops an index from this collection.\n */\n async dropCollectionIndex(collectionName: string, indexName: string, options?: CollectionOptions): Promise<any> {\n return await this.getCollection(collectionName).dropIndex(indexName, options);\n }\n\n /**\n * Drops all indexes from the collection.\n */\n async dropCollectionIndexes(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).dropIndexes();\n }\n\n /**\n * Find a document and delete it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndDelete(collectionName: string, query: ObjectLiteral, options?: { projection?: Object, sort?: Object, maxTimeMS?: number }): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndDelete(query, options);\n }\n\n /**\n * Find a document and replace it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndReplace(collectionName: string, query: ObjectLiteral, replacement: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndReplace(query, replacement, options);\n }\n\n /**\n * Find a document and update it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndUpdate(collectionName: string, query: ObjectLiteral, update: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndUpdate(query, update, options);\n }\n\n /**\n * Execute a geo search using a geo haystack index on a collection.\n */\n async geoHaystackSearch(collectionName: string, x: number, y: number, options?: GeoHaystackSearchOptions): Promise<any> {\n return await this.getCollection(collectionName).geoHaystackSearch(x, y, options);\n }\n\n /**\n * Execute the geoNear command to search for items in the collection.\n */\n async geoNear(collectionName: string, x: number, y: number, options?: GeoNearOptions): Promise<any> {\n return await this.getCollection(collectionName).geoNear(x, y, options);\n }\n\n /**\n * Run a group command across a collection.\n */\n async group(collectionName: string, keys: Object | Array<any> | Function | Code, condition: Object, initial: Object, reduce: Function | Code, finalize: Function | Code, command: boolean, options?: { readPreference?: ReadPreference | string }): Promise<any> {\n return await this.getCollection(collectionName).group(keys, condition, initial, reduce, finalize, command, options);\n }\n\n /**\n * Retrieve all the indexes on the collection.\n */\n async collectionIndexes(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).indexes();\n }\n\n /**\n * Retrieve all the indexes on the collection.\n */\n async collectionIndexExists(collectionName: string, indexes: string | string[]): Promise<boolean> {\n return await this.getCollection(collectionName).indexExists(indexes);\n }\n\n /**\n * Retrieves this collections index info.\n */\n async collectionIndexInformation(collectionName: string, options?: { full: boolean }): Promise<any> {\n return await this.getCollection(collectionName).indexInformation(options);\n }\n\n /**\n * Initiate an In order bulk write operation, operations will be serially executed in the order they are added, creating a new operation for each switch in types.\n */\n initializeOrderedBulkOp(collectionName: string, options?: CollectionOptions): OrderedBulkOperation {\n return this.getCollection(collectionName).initializeOrderedBulkOp(options);\n }\n\n /**\n * Initiate a Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.\n */\n initializeUnorderedBulkOp(collectionName: string, options?: CollectionOptions): UnorderedBulkOperation {\n return this.getCollection(collectionName).initializeUnorderedBulkOp(options);\n }\n\n /**\n * Inserts an array of documents into MongoDB.\n */\n async insertMany(collectionName: string, docs: ObjectLiteral[], options?: CollectionInsertManyOptions): Promise<InsertWriteOpResult> {\n return await this.getCollection(collectionName).insertMany(docs, options);\n }\n\n /**\n * Inserts a single document into MongoDB.\n */\n async insertOne(collectionName: string, doc: ObjectLiteral, options?: CollectionInsertOneOptions): Promise<InsertOneWriteOpResult> {\n return await this.getCollection(collectionName).insertOne(doc, options);\n }\n\n /**\n * Returns if the collection is a capped collection.\n */\n async isCapped(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).isCapped();\n }\n\n /**\n * Get the list of all indexes information for the collection.\n */\n listCollectionIndexes(collectionName: string, options?: { batchSize?: number, readPreference?: ReadPreference | string }): CommandCursor {\n return this.getCollection(collectionName).listIndexes(options);\n }\n\n /**\n * Run Map Reduce across a collection. Be aware that the inline option for out will return an array of results not a collection.\n */\n async mapReduce(collectionName: string, map: Function | string, reduce: Function | string, options?: MapReduceOptions): Promise<any> {\n return await this.getCollection(collectionName).mapReduce(map, reduce, options);\n }\n\n /**\n * Return N number of parallel cursors for a collection allowing parallel reading of entire collection.\n * There are no ordering guarantees for returned results.\n */\n async parallelCollectionScan(collectionName: string, options?: ParallelCollectionScanOptions): Promise<Cursor<any>[]> {\n return await this.getCollection(collectionName).parallelCollectionScan(options);\n }\n\n /**\n * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections.\n */\n async reIndex(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).reIndex();\n }\n\n /**\n * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections.\n */\n async rename(collectionName: string, newName: string, options?: { dropTarget?: boolean }): Promise<Collection<any>> {\n return await this.getCollection(collectionName).rename(newName, options);\n }\n\n /**\n * Replace a document on MongoDB.\n */\n async replaceOne(collectionName: string, query: ObjectLiteral, doc: ObjectLiteral, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).replaceOne(query, doc, options);\n }\n\n /**\n * Get all the collection statistics.\n */\n async stats(collectionName: string, options?: { scale: number }): Promise<CollStats> {\n return await this.getCollection(collectionName).stats(options);\n }\n\n /**\n * Watching new changes as stream.\n */\n watch(collectionName: string, pipeline?: Object[], options?: ChangeStreamOptions): ChangeStream {\n return this.getCollection(collectionName).watch(pipeline, options);\n }\n\n /**\n * Update multiple documents on MongoDB.\n */\n async updateMany(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: { upsert?: boolean, w?: any, wtimeout?: number, j?: boolean }): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).updateMany(query, update, options);\n }\n\n /**\n * Update a single document on MongoDB.\n */\n async updateOne(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).updateOne(query, update, options);\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods (from QueryRunner)\n // -------------------------------------------------------------------------\n\n /**\n * Removes all collections from the currently connected database.\n * Be careful with using this method and avoid using it in production or migrations\n * (because it can clear all your database).\n */\n async clearDatabase(): Promise<void> {\n await this.databaseConnection.db(this.connection.driver.database!).dropDatabase();\n }\n\n /**\n * For MongoDB database we don't create connection, because its single connection already created by a driver.\n */\n async connect(): Promise<any> {\n }\n\n /**\n * For MongoDB database we don't release connection, because its single connection.\n */\n async release(): Promise<void> {\n // releasing connection are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Starts transaction.\n */\n async startTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Commits transaction.\n */\n async commitTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Rollbacks transaction.\n */\n async rollbackTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n throw new TypeORMError(`Executing SQL query is not supported by MongoDB driver.`);\n }\n\n /**\n * Returns raw data stream.\n */\n stream(query: string, parameters?: any[], onEnd?: Function, onError?: Function): Promise<ReadStream> {\n throw new TypeORMError(`Stream is not supported by MongoDB driver. Use watch instead.`);\n }\n\n /**\n * Insert a new row with given values into the given table.\n * Returns value of inserted object id.\n\n async insert(collectionName: string, keyValues: ObjectLiteral): Promise<any> { // todo: fix any\n const results = await this.databaseConnection\n .collection(collectionName)\n .insertOne(keyValues);\n const generatedMap = this.connection.getMetadata(collectionName).objectIdColumn!.createValueMap(results.insertedId);\n return {\n result: results,\n generatedMap: generatedMap\n };\n }*/\n\n /**\n * Updates rows that match given conditions in the given table.\n\n async update(collectionName: string, valuesMap: ObjectLiteral, conditions: ObjectLiteral): Promise<any> { // todo: fix any\n await this.databaseConnection\n .collection(collectionName)\n .updateOne(conditions, valuesMap);\n }*/\n\n /**\n * Deletes from the given table by a given conditions.\n\n async delete(collectionName: string, conditions: ObjectLiteral|ObjectLiteral[]|string, maybeParameters?: any[]): Promise<any> { // todo: fix any\n if (typeof conditions === \"string\")\n throw new TypeORMError(`String condition is not supported by MongoDB driver.`);\n\n await this.databaseConnection\n .collection(collectionName)\n .deleteOne(conditions);\n }*/\n\n /**\n * Returns all available database names including system databases.\n */\n async getDatabases(): Promise<string[]> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Returns all available schema names including system schemas.\n * If database parameter specified, returns schemas of that database.\n */\n async getSchemas(database?: string): Promise<string[]> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads given table's data from the database.\n */\n async getTable(collectionName: string): Promise<Table | undefined> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads all tables (with given names) from the database and creates a Table from them.\n */\n async getTables(collectionNames: string[]): Promise<Table[]> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads given views's data from the database.\n */\n async getView(collectionName: string): Promise<View | undefined> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads all views (with given names) from the database and creates a Table from them.\n */\n async getViews(collectionNames: string[]): Promise<View[]> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if database with the given name exist.\n */\n async hasDatabase(database: string): Promise<boolean> {\n throw new TypeORMError(`Check database queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads currently using database\n */\n async getCurrentDatabase(): Promise<undefined> {\n throw new TypeORMError(`Check database queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if schema with the given name exist.\n */\n async hasSchema(schema: string): Promise<boolean> {\n throw new TypeORMError(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads currently using database schema\n */\n async getCurrentSchema(): Promise<undefined> {\n throw new TypeORMError(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if table with the given name exist in the database.\n */\n async hasTable(collectionName: string): Promise<boolean> {\n throw new TypeORMError(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if column with the given name exist in the given table.\n */\n async hasColumn(tableOrName: Table | string, columnName: string): Promise<boolean> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a database if it's not created.\n */\n async createDatabase(database: string): Promise<void> {\n throw new TypeORMError(`Database create queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops database.\n */\n async dropDatabase(database: string, ifExist?: boolean): Promise<void> {\n throw new TypeORMError(`Database drop queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new table schema.\n */\n async createSchema(schemaPath: string, ifNotExist?: boolean): Promise<void> {\n throw new TypeORMError(`Schema create queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops table schema.\n */\n async dropSchema(schemaPath: string, ifExist?: boolean): Promise<void> {\n throw new TypeORMError(`Schema drop queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new table from the given table and columns inside it.\n */\n async createTable(table: Table): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the table.\n */\n async dropTable(tableName: Table | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new view.\n */\n async createView(view: View): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the view.\n */\n async dropView(target: View|string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Renames the given table.\n */\n async renameTable(oldTableOrName: Table | string, newTableOrName: Table | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new column from the column in the table.\n */\n async addColumn(tableOrName: Table | string, column: TableColumn): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new columns from the column in the table.\n */\n async addColumns(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Renames column in the given table.\n */\n async renameColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newTableColumnOrName: TableColumn | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Changes a column in the table.\n */\n async changeColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newColumn: TableColumn): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Changes a column in the table.\n */\n async changeColumns(tableOrName: Table | string, changedColumns: { newColumn: TableColumn, oldColumn: TableColumn }[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops column in the table.\n */\n async dropColumn(tableOrName: Table | string, columnOrName: TableColumn | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the columns in the table.\n */\n async dropColumns(tableOrName: Table | string, columns: TableColumn[] | string[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new primary key.\n */\n async createPrimaryKey(tableOrName: Table | string, columnNames: string[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Updates composite primary keys.\n */\n async updatePrimaryKeys(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a primary key.\n */\n async dropPrimaryKey(tableOrName: Table | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new unique constraint.\n */\n async createUniqueConstraint(tableOrName: Table | string, uniqueConstraint: TableUnique): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new unique constraints.\n */\n async createUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an unique constraint.\n */\n async dropUniqueConstraint(tableOrName: Table | string, uniqueOrName: TableUnique | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an unique constraints.\n */\n async dropUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new check constraint.\n */\n async createCheckConstraint(tableOrName: Table | string, checkConstraint: TableCheck): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new check constraints.\n */\n async createCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops check constraint.\n */\n async dropCheckConstraint(tableOrName: Table | string, checkOrName: TableCheck | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops check constraints.\n */\n async dropCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new exclusion constraint.\n */\n async createExclusionConstraint(tableOrName: Table | string, exclusionConstraint: TableExclusion): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new exclusion constraints.\n */\n async createExclusionConstraints(tableOrName: Table | string, exclusionConstraints: TableExclusion[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops exclusion constraint.\n */\n async dropExclusionConstraint(tableOrName: Table | string, exclusionOrName: TableExclusion | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops exclusion constraints.\n */\n async dropExclusionConstraints(tableOrName: Table | string, exclusionConstraints: TableExclusion[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new foreign key.\n */\n async createForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new foreign keys.\n */\n async createForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a foreign key from the table.\n */\n async dropForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a foreign keys from the table.\n */\n async dropForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new index.\n */\n async createIndex(tableOrName: Table | string, index: TableIndex): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new indices\n */\n async createIndices(tableOrName: Table | string, indices: TableIndex[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an index from the table.\n */\n async dropIndex(collectionName: string, indexName: string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an indices from the table.\n */\n async dropIndices(tableOrName: Table | string, indices: TableIndex[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops collection.\n */\n async clearTable(collectionName: string): Promise<void> {\n await this.databaseConnection\n .db(this.connection.driver.database!)\n .dropCollection(collectionName);\n }\n\n /**\n * Enables special query runner mode in which sql queries won't be executed,\n * instead they will be memorized into a special variable inside query runner.\n * You can get memorized sql using getMemorySql() method.\n */\n enableSqlMemory(): void {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Disables special query runner mode in which sql queries won't be executed\n * started by calling enableSqlMemory() method.\n *\n * Previously memorized sql will be flushed.\n */\n disableSqlMemory(): void {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Flushes all memorized sqls.\n */\n clearSqlMemory(): void {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Gets sql stored in the memory. Parameters in the sql are already replaced.\n */\n getMemorySql(): SqlInMemory {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Executes up sql queries.\n */\n async executeMemoryUpSql(): Promise<void> {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Executes down sql queries.\n */\n async executeMemoryDownSql(): Promise<void> {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets collection from the database with a given name.\n */\n protected getCollection(collectionName: string): Collection<any> {\n return this.databaseConnection.db(this.connection.driver.database!).collection(collectionName);\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/mongodb/MongoQueryRunner.ts"],"names":[],"mappings":"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","file":"MongoQueryRunner.js","sourcesContent":["import {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {Table} from \"../../schema-builder/table/Table\";\nimport {TableForeignKey} from \"../../schema-builder/table/TableForeignKey\";\nimport {TableIndex} from \"../../schema-builder/table/TableIndex\";\nimport {View} from \"../../schema-builder/view/View\";\nimport {\n AggregationCursor,\n BulkWriteOpResultObject,\n ChangeStream,\n ChangeStreamOptions,\n Code,\n Collection,\n CollectionAggregationOptions,\n CollectionBulkWriteOptions,\n CollectionInsertManyOptions,\n CollectionInsertOneOptions,\n CollectionOptions,\n CollStats,\n CommandCursor,\n Cursor,\n DeleteWriteOpResultObject,\n FindAndModifyWriteOpResultObject,\n FindOneAndReplaceOption,\n GeoHaystackSearchOptions,\n GeoNearOptions,\n InsertOneWriteOpResult,\n InsertWriteOpResult,\n MapReduceOptions,\n MongoClient,\n MongoCountPreferences,\n MongodbIndexOptions,\n OrderedBulkOperation,\n ParallelCollectionScanOptions,\n ReadPreference,\n ReplaceOneOptions,\n UnorderedBulkOperation,\n UpdateWriteOpResult\n} from \"./typings\";\nimport {Connection} from \"../../connection/Connection\";\nimport {ReadStream} from \"../../platform/PlatformTools\";\nimport {MongoEntityManager} from \"../../entity-manager/MongoEntityManager\";\nimport {SqlInMemory} from \"../SqlInMemory\";\nimport {TableUnique} from \"../../schema-builder/table/TableUnique\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport {TableCheck} from \"../../schema-builder/table/TableCheck\";\nimport {TableExclusion} from \"../../schema-builder/table/TableExclusion\";\nimport {TypeORMError} from \"../../error\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n \n/**\n * Runs queries on a single MongoDB connection.\n */\nexport class MongoQueryRunner implements QueryRunner {\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by this query runner.\n */\n connection: Connection;\n\n /**\n * Broadcaster used on this query runner to broadcast entity events.\n */\n broadcaster: Broadcaster;\n\n /**\n * Entity manager working only with current query runner.\n */\n manager: MongoEntityManager;\n\n /**\n * Indicates if connection for this query runner is released.\n * Once its released, query runner cannot run queries anymore.\n * Always false for mongodb since mongodb has a single query executor instance.\n */\n isReleased = false;\n\n /**\n * Indicates if transaction is active in this query executor.\n * Always false for mongodb since mongodb does not support transactions.\n */\n isTransactionActive = false;\n\n /**\n * Stores temporarily user data.\n * Useful for sharing data with subscribers.\n */\n data = {};\n\n /**\n * All synchronized tables in the database.\n */\n loadedTables: Table[];\n\n /**\n * All synchronized views in the database.\n */\n loadedViews: View[];\n\n /**\n * Real database connection from a connection pool used to perform queries.\n */\n databaseConnection: MongoClient;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection, databaseConnection: MongoClient) {\n this.connection = connection;\n this.databaseConnection = databaseConnection;\n this.broadcaster = new Broadcaster(this);\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates a cursor for a query that can be used to iterate over results from MongoDB.\n */\n cursor(collectionName: string, query?: ObjectLiteral): Cursor<any> {\n return this.getCollection(collectionName).find(query || {});\n }\n\n /**\n * Execute an aggregation framework pipeline against the collection.\n */\n aggregate(collectionName: string, pipeline: ObjectLiteral[], options?: CollectionAggregationOptions): AggregationCursor<any> {\n return this.getCollection(collectionName).aggregate(pipeline, options);\n }\n\n /**\n * Perform a bulkWrite operation without a fluent API.\n */\n async bulkWrite(collectionName: string, operations: ObjectLiteral[], options?: CollectionBulkWriteOptions): Promise<BulkWriteOpResultObject> {\n return await this.getCollection(collectionName).bulkWrite(operations, options);\n }\n\n /**\n * Count number of matching documents in the db to a query.\n */\n async count(collectionName: string, query?: ObjectLiteral, options?: MongoCountPreferences): Promise<any> {\n return await this.getCollection(collectionName).countDocuments(query || {}, options);\n }\n\n /**\n * Creates an index on the db and collection.\n */\n async createCollectionIndex(collectionName: string, fieldOrSpec: string | any, options?: MongodbIndexOptions): Promise<string> {\n return await this.getCollection(collectionName).createIndex(fieldOrSpec, options);\n }\n\n /**\n * Creates multiple indexes in the collection, this method is only supported for MongoDB 2.6 or higher.\n * Earlier version of MongoDB will throw a command not supported error. Index specifications are defined at http://docs.mongodb.org/manual/reference/command/createIndexes/.\n */\n async createCollectionIndexes(collectionName: string, indexSpecs: ObjectLiteral[]): Promise<void> {\n return await this.getCollection(collectionName).createIndexes(indexSpecs);\n }\n\n /**\n * Delete multiple documents on MongoDB.\n */\n async deleteMany(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise<DeleteWriteOpResultObject> {\n return await this.getCollection(collectionName).deleteMany(query, options);\n }\n\n /**\n * Delete a document on MongoDB.\n */\n async deleteOne(collectionName: string, query: ObjectLiteral, options?: CollectionOptions): Promise<DeleteWriteOpResultObject> {\n return await this.getCollection(collectionName).deleteOne(query, options);\n }\n\n /**\n * The distinct command returns returns a list of distinct values for the given key across a collection.\n */\n async distinct(collectionName: string, key: string, query: ObjectLiteral, options?: { readPreference?: ReadPreference | string }): Promise<any> {\n return await this.getCollection(collectionName).distinct(key, query, options);\n }\n\n /**\n * Drops an index from this collection.\n */\n async dropCollectionIndex(collectionName: string, indexName: string, options?: CollectionOptions): Promise<any> {\n return await this.getCollection(collectionName).dropIndex(indexName, options);\n }\n\n /**\n * Drops all indexes from the collection.\n */\n async dropCollectionIndexes(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).dropIndexes();\n }\n\n /**\n * Find a document and delete it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndDelete(collectionName: string, query: ObjectLiteral, options?: { projection?: Object, sort?: Object, maxTimeMS?: number }): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndDelete(query, options);\n }\n\n /**\n * Find a document and replace it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndReplace(collectionName: string, query: ObjectLiteral, replacement: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndReplace(query, replacement, options);\n }\n\n /**\n * Find a document and update it in one atomic operation, requires a write lock for the duration of the operation.\n */\n async findOneAndUpdate(collectionName: string, query: ObjectLiteral, update: Object, options?: FindOneAndReplaceOption): Promise<FindAndModifyWriteOpResultObject> {\n return await this.getCollection(collectionName).findOneAndUpdate(query, update, options);\n }\n\n /**\n * Execute a geo search using a geo haystack index on a collection.\n */\n async geoHaystackSearch(collectionName: string, x: number, y: number, options?: GeoHaystackSearchOptions): Promise<any> {\n return await this.getCollection(collectionName).geoHaystackSearch(x, y, options);\n }\n\n /**\n * Execute the geoNear command to search for items in the collection.\n */\n async geoNear(collectionName: string, x: number, y: number, options?: GeoNearOptions): Promise<any> {\n return await this.getCollection(collectionName).geoNear(x, y, options);\n }\n\n /**\n * Run a group command across a collection.\n */\n async group(collectionName: string, keys: Object | Array<any> | Function | Code, condition: Object, initial: Object, reduce: Function | Code, finalize: Function | Code, command: boolean, options?: { readPreference?: ReadPreference | string }): Promise<any> {\n return await this.getCollection(collectionName).group(keys, condition, initial, reduce, finalize, command, options);\n }\n\n /**\n * Retrieve all the indexes on the collection.\n */\n async collectionIndexes(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).indexes();\n }\n\n /**\n * Retrieve all the indexes on the collection.\n */\n async collectionIndexExists(collectionName: string, indexes: string | string[]): Promise<boolean> {\n return await this.getCollection(collectionName).indexExists(indexes);\n }\n\n /**\n * Retrieves this collections index info.\n */\n async collectionIndexInformation(collectionName: string, options?: { full: boolean }): Promise<any> {\n return await this.getCollection(collectionName).indexInformation(options);\n }\n\n /**\n * Initiate an In order bulk write operation, operations will be serially executed in the order they are added, creating a new operation for each switch in types.\n */\n initializeOrderedBulkOp(collectionName: string, options?: CollectionOptions): OrderedBulkOperation {\n return this.getCollection(collectionName).initializeOrderedBulkOp(options);\n }\n\n /**\n * Initiate a Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.\n */\n initializeUnorderedBulkOp(collectionName: string, options?: CollectionOptions): UnorderedBulkOperation {\n return this.getCollection(collectionName).initializeUnorderedBulkOp(options);\n }\n\n /**\n * Inserts an array of documents into MongoDB.\n */\n async insertMany(collectionName: string, docs: ObjectLiteral[], options?: CollectionInsertManyOptions): Promise<InsertWriteOpResult> {\n return await this.getCollection(collectionName).insertMany(docs, options);\n }\n\n /**\n * Inserts a single document into MongoDB.\n */\n async insertOne(collectionName: string, doc: ObjectLiteral, options?: CollectionInsertOneOptions): Promise<InsertOneWriteOpResult> {\n return await this.getCollection(collectionName).insertOne(doc, options);\n }\n\n /**\n * Returns if the collection is a capped collection.\n */\n async isCapped(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).isCapped();\n }\n\n /**\n * Get the list of all indexes information for the collection.\n */\n listCollectionIndexes(collectionName: string, options?: { batchSize?: number, readPreference?: ReadPreference | string }): CommandCursor {\n return this.getCollection(collectionName).listIndexes(options);\n }\n\n /**\n * Run Map Reduce across a collection. Be aware that the inline option for out will return an array of results not a collection.\n */\n async mapReduce(collectionName: string, map: Function | string, reduce: Function | string, options?: MapReduceOptions): Promise<any> {\n return await this.getCollection(collectionName).mapReduce(map, reduce, options);\n }\n\n /**\n * Return N number of parallel cursors for a collection allowing parallel reading of entire collection.\n * There are no ordering guarantees for returned results.\n */\n async parallelCollectionScan(collectionName: string, options?: ParallelCollectionScanOptions): Promise<Cursor<any>[]> {\n return await this.getCollection(collectionName).parallelCollectionScan(options);\n }\n\n /**\n * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections.\n */\n async reIndex(collectionName: string): Promise<any> {\n return await this.getCollection(collectionName).reIndex();\n }\n\n /**\n * Reindex all indexes on the collection Warning: reIndex is a blocking operation (indexes are rebuilt in the foreground) and will be slow for large collections.\n */\n async rename(collectionName: string, newName: string, options?: { dropTarget?: boolean }): Promise<Collection<any>> {\n return await this.getCollection(collectionName).rename(newName, options);\n }\n\n /**\n * Replace a document on MongoDB.\n */\n async replaceOne(collectionName: string, query: ObjectLiteral, doc: ObjectLiteral, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).replaceOne(query, doc, options);\n }\n\n /**\n * Get all the collection statistics.\n */\n async stats(collectionName: string, options?: { scale: number }): Promise<CollStats> {\n return await this.getCollection(collectionName).stats(options);\n }\n\n /**\n * Watching new changes as stream.\n */\n watch(collectionName: string, pipeline?: Object[], options?: ChangeStreamOptions): ChangeStream {\n return this.getCollection(collectionName).watch(pipeline, options);\n }\n\n /**\n * Update multiple documents on MongoDB.\n */\n async updateMany(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: { upsert?: boolean, w?: any, wtimeout?: number, j?: boolean }): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).updateMany(query, update, options);\n }\n\n /**\n * Update a single document on MongoDB.\n */\n async updateOne(collectionName: string, query: ObjectLiteral, update: ObjectLiteral, options?: ReplaceOneOptions): Promise<UpdateWriteOpResult> {\n return await this.getCollection(collectionName).updateOne(query, update, options);\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods (from QueryRunner)\n // -------------------------------------------------------------------------\n\n /**\n * Removes all collections from the currently connected database.\n * Be careful with using this method and avoid using it in production or migrations\n * (because it can clear all your database).\n */\n async clearDatabase(): Promise<void> {\n await this.databaseConnection.db(this.connection.driver.database!).dropDatabase();\n }\n\n /**\n * For MongoDB database we don't create connection, because its single connection already created by a driver.\n */\n async connect(): Promise<any> {\n }\n\n /**\n * For MongoDB database we don't release connection, because its single connection.\n */\n async release(): Promise<void> {\n // releasing connection are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Starts transaction.\n */\n async startTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Commits transaction.\n */\n async commitTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Rollbacks transaction.\n */\n async rollbackTransaction(): Promise<void> {\n // transactions are not supported by mongodb driver, so simply don't do anything here\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n throw new TypeORMError(`Executing SQL query is not supported by MongoDB driver.`);\n }\n\n /**\n * Returns raw data stream.\n */\n stream(query: string, parameters?: any[], onEnd?: Function, onError?: Function): Promise<ReadStream> {\n throw new TypeORMError(`Stream is not supported by MongoDB driver. Use watch instead.`);\n }\n\n /**\n * Insert a new row with given values into the given table.\n * Returns value of inserted object id.\n\n async insert(collectionName: string, keyValues: ObjectLiteral): Promise<any> { // todo: fix any\n const results = await this.databaseConnection\n .collection(collectionName)\n .insertOne(keyValues);\n const generatedMap = this.connection.getMetadata(collectionName).objectIdColumn!.createValueMap(results.insertedId);\n return {\n result: results,\n generatedMap: generatedMap\n };\n }*/\n\n /**\n * Updates rows that match given conditions in the given table.\n\n async update(collectionName: string, valuesMap: ObjectLiteral, conditions: ObjectLiteral): Promise<any> { // todo: fix any\n await this.databaseConnection\n .collection(collectionName)\n .updateOne(conditions, valuesMap);\n }*/\n\n /**\n * Deletes from the given table by a given conditions.\n\n async delete(collectionName: string, conditions: ObjectLiteral|ObjectLiteral[]|string, maybeParameters?: any[]): Promise<any> { // todo: fix any\n if (typeof conditions === \"string\")\n throw new TypeORMError(`String condition is not supported by MongoDB driver.`);\n\n await this.databaseConnection\n .collection(collectionName)\n .deleteOne(conditions);\n }*/\n\n /**\n * Returns all available database names including system databases.\n */\n async getDatabases(): Promise<string[]> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Returns all available schema names including system schemas.\n * If database parameter specified, returns schemas of that database.\n */\n async getSchemas(database?: string): Promise<string[]> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads given table's data from the database.\n */\n async getTable(collectionName: string): Promise<Table | undefined> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads all tables (with given names) from the database and creates a Table from them.\n */\n async getTables(collectionNames: string[]): Promise<Table[]> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads given views's data from the database.\n */\n async getView(collectionName: string): Promise<View | undefined> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads all views (with given names) from the database and creates a Table from them.\n */\n async getViews(collectionNames: string[]): Promise<View[]> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n getReplicationMode(): ReplicationMode {\n return 'master';\n }\n\n /**\n * Checks if database with the given name exist.\n */\n async hasDatabase(database: string): Promise<boolean> {\n throw new TypeORMError(`Check database queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads currently using database\n */\n async getCurrentDatabase(): Promise<undefined> {\n throw new TypeORMError(`Check database queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if schema with the given name exist.\n */\n async hasSchema(schema: string): Promise<boolean> {\n throw new TypeORMError(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Loads currently using database schema\n */\n async getCurrentSchema(): Promise<undefined> {\n throw new TypeORMError(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if table with the given name exist in the database.\n */\n async hasTable(collectionName: string): Promise<boolean> {\n throw new TypeORMError(`Check schema queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Checks if column with the given name exist in the given table.\n */\n async hasColumn(tableOrName: Table | string, columnName: string): Promise<boolean> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a database if it's not created.\n */\n async createDatabase(database: string): Promise<void> {\n throw new TypeORMError(`Database create queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops database.\n */\n async dropDatabase(database: string, ifExist?: boolean): Promise<void> {\n throw new TypeORMError(`Database drop queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new table schema.\n */\n async createSchema(schemaPath: string, ifNotExist?: boolean): Promise<void> {\n throw new TypeORMError(`Schema create queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops table schema.\n */\n async dropSchema(schemaPath: string, ifExist?: boolean): Promise<void> {\n throw new TypeORMError(`Schema drop queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new table from the given table and columns inside it.\n */\n async createTable(table: Table): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the table.\n */\n async dropTable(tableName: Table | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new view.\n */\n async createView(view: View): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the view.\n */\n async dropView(target: View|string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Renames the given table.\n */\n async renameTable(oldTableOrName: Table | string, newTableOrName: Table | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new column from the column in the table.\n */\n async addColumn(tableOrName: Table | string, column: TableColumn): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new columns from the column in the table.\n */\n async addColumns(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Renames column in the given table.\n */\n async renameColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newTableColumnOrName: TableColumn | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Changes a column in the table.\n */\n async changeColumn(tableOrName: Table | string, oldTableColumnOrName: TableColumn | string, newColumn: TableColumn): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Changes a column in the table.\n */\n async changeColumns(tableOrName: Table | string, changedColumns: { newColumn: TableColumn, oldColumn: TableColumn }[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops column in the table.\n */\n async dropColumn(tableOrName: Table | string, columnOrName: TableColumn | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops the columns in the table.\n */\n async dropColumns(tableOrName: Table | string, columns: TableColumn[] | string[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new primary key.\n */\n async createPrimaryKey(tableOrName: Table | string, columnNames: string[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Updates composite primary keys.\n */\n async updatePrimaryKeys(tableOrName: Table | string, columns: TableColumn[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a primary key.\n */\n async dropPrimaryKey(tableOrName: Table | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new unique constraint.\n */\n async createUniqueConstraint(tableOrName: Table | string, uniqueConstraint: TableUnique): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new unique constraints.\n */\n async createUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an unique constraint.\n */\n async dropUniqueConstraint(tableOrName: Table | string, uniqueOrName: TableUnique | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an unique constraints.\n */\n async dropUniqueConstraints(tableOrName: Table | string, uniqueConstraints: TableUnique[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new check constraint.\n */\n async createCheckConstraint(tableOrName: Table | string, checkConstraint: TableCheck): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new check constraints.\n */\n async createCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops check constraint.\n */\n async dropCheckConstraint(tableOrName: Table | string, checkOrName: TableCheck | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops check constraints.\n */\n async dropCheckConstraints(tableOrName: Table | string, checkConstraints: TableCheck[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new exclusion constraint.\n */\n async createExclusionConstraint(tableOrName: Table | string, exclusionConstraint: TableExclusion): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new exclusion constraints.\n */\n async createExclusionConstraints(tableOrName: Table | string, exclusionConstraints: TableExclusion[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops exclusion constraint.\n */\n async dropExclusionConstraint(tableOrName: Table | string, exclusionOrName: TableExclusion | string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops exclusion constraints.\n */\n async dropExclusionConstraints(tableOrName: Table | string, exclusionConstraints: TableExclusion[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new foreign key.\n */\n async createForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new foreign keys.\n */\n async createForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a foreign key from the table.\n */\n async dropForeignKey(tableOrName: Table | string, foreignKey: TableForeignKey): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops a foreign keys from the table.\n */\n async dropForeignKeys(tableOrName: Table | string, foreignKeys: TableForeignKey[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new index.\n */\n async createIndex(tableOrName: Table | string, index: TableIndex): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Creates a new indices\n */\n async createIndices(tableOrName: Table | string, indices: TableIndex[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an index from the table.\n */\n async dropIndex(collectionName: string, indexName: string): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops an indices from the table.\n */\n async dropIndices(tableOrName: Table | string, indices: TableIndex[]): Promise<void> {\n throw new TypeORMError(`Schema update queries are not supported by MongoDB driver.`);\n }\n\n /**\n * Drops collection.\n */\n async clearTable(collectionName: string): Promise<void> {\n await this.databaseConnection\n .db(this.connection.driver.database!)\n .dropCollection(collectionName);\n }\n\n /**\n * Enables special query runner mode in which sql queries won't be executed,\n * instead they will be memorized into a special variable inside query runner.\n * You can get memorized sql using getMemorySql() method.\n */\n enableSqlMemory(): void {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Disables special query runner mode in which sql queries won't be executed\n * started by calling enableSqlMemory() method.\n *\n * Previously memorized sql will be flushed.\n */\n disableSqlMemory(): void {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Flushes all memorized sqls.\n */\n clearSqlMemory(): void {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Gets sql stored in the memory. Parameters in the sql are already replaced.\n */\n getMemorySql(): SqlInMemory {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Executes up sql queries.\n */\n async executeMemoryUpSql(): Promise<void> {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n /**\n * Executes down sql queries.\n */\n async executeMemoryDownSql(): Promise<void> {\n throw new TypeORMError(`This operation is not supported by MongoDB driver.`);\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Gets collection from the database with a given name.\n */\n protected getCollection(collectionName: string): Collection<any> {\n return this.databaseConnection.db(this.connection.driver.database!).collection(collectionName);\n }\n\n}\n"],"sourceRoot":"../.."}
package/package.json CHANGED
@@ -1 +1 @@
1
- { "name": "typeorm", "private": false, "version": "0.2.41-dev.29cb891", "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.", "license": "MIT", "readmeFilename": "README.md", "author": { "name": "Umed Khudoiberdiev", "email": "pleerock.me@gmail.com" }, "main": "./index.js", "browser": { "./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js", "./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js", "./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js", "./index.js": "./browser/index.js" }, "repository": { "type": "git", "url": "https://github.com/typeorm/typeorm.git" }, "bugs": { "url": "https://github.com/typeorm/typeorm/issues" }, "tags": [ "orm", "typescript", "typescript-orm", "mysql", "mysql-orm", "postgresql", "postgresql-orm", "mariadb", "mariadb-orm", "sqlite", "sqlite-orm", "sql-server", "sql-server-orm", "oracle", "oracle-orm" ], "devDependencies": { "@types/app-root-path": "^1.2.4", "@types/chai": "^4.2.15", "@types/chai-as-promised": "^7.1.3", "@types/debug": "^4.1.5", "@types/dotenv": "^8.2.0", "@types/js-yaml": "^4.0.0", "@types/mkdirp": "^1.0.1", "@types/mocha": "^8.2.1", "@types/node": "^14.14.31", "@types/rimraf": "^3.0.0", "@types/sha.js": "^2.4.0", "@types/sinon": "^9.0.10", "@types/source-map-support": "^0.5.3", "@types/xml2js": "^0.4.8", "@types/yargs": "^17.0.2", "@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/parser": "^4.15.2", "better-sqlite3": "^7.1.2", "chai": "^4.3.0", "chai-as-promised": "^7.1.1", "class-transformer": "^0.4.0", "conventional-changelog-angular": "^5.0.12", "conventional-changelog-cli": "^2.1.1", "del": "^6.0.0", "eslint": "^7.20.0", "gulp": "^4.0.2", "gulp-eslint": "^6.0.0", "gulp-istanbul": "^1.1.3", "gulp-mocha": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-replace": "^1.0.0", "gulp-shell": "^0.8.0", "gulp-sourcemaps": "^3.0.0", "gulp-typescript": "^6.0.0-alpha.1", "gulpclass": "^0.2.0", "husky": "^5.1.1", "lint-staged": "^10.5.4", "mocha": "^8.3.0", "mongodb": "^3.6.4", "mssql": "^6.3.1", "mysql": "^2.18.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "remap-istanbul": "^0.13.0", "rimraf": "^3.0.2", "sinon": "^9.2.4", "sinon-chai": "^3.5.0", "source-map-support": "^0.5.19", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "ts-node": "^9.1.1", "typeorm-aurora-data-api-driver": "^2.0.0", "typescript": "^4.2.2" }, "peerDependencies": { "@sap/hana-client": "*", "better-sqlite3": "*", "hdb-pool": "*", "ioredis": "*", "mongodb": "^3.6.0", "mssql": "*", "mysql2": "*", "oracledb": "*", "pg": "*", "pg-native": "*", "pg-query-stream": "*", "redis": "*", "sql.js": "*", "sqlite3": "*", "typeorm-aurora-data-api-driver": "*" }, "peerDependenciesMeta": { "@sap/hana-client": { "optional": true }, "better-sqlite3": { "optional": true }, "hdb-pool": { "optional": true }, "ioredis": { "optional": true }, "mongodb": { "optional": true }, "mssql": { "optional": true }, "mysql2": { "optional": true }, "oracledb": { "optional": true }, "pg": { "optional": true }, "pg-native": { "optional": true }, "pg-query-stream": { "optional": true }, "redis": { "optional": true }, "sql.js": { "optional": true }, "sqlite3": { "optional": true }, "typeorm-aurora-data-api-driver": { "optional": true } }, "dependencies": { "@sqltools/formatter": "^1.2.2", "app-root-path": "^3.0.0", "buffer": "^6.0.3", "chalk": "^4.1.0", "cli-highlight": "^2.1.11", "debug": "^4.3.1", "dotenv": "^8.2.0", "glob": "^7.1.6", "js-yaml": "^4.0.0", "mkdirp": "^1.0.4", "reflect-metadata": "^0.1.13", "sha.js": "^2.4.11", "tslib": "^2.1.0", "xml2js": "^0.4.23", "yargs": "^17.0.1", "zen-observable-ts": "^1.0.0" }, "lint-staged": { "*.ts": [ "eslint --fix", "git add" ] }, "scripts": { "test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "compile": "rimraf ./build && tsc", "watch": "./node_modules/.bin/tsc -w", "package": "gulp package", "pack": "gulp pack", "lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 2" }, "bin": { "typeorm": "./cli.js" }, "funding": "https://opencollective.com/typeorm", "collective": { "type": "opencollective", "url": "https://opencollective.com/typeorm", "logo": "https://opencollective.com/opencollective/logo.txt" }, "nyc": { "all": true, "cache": false, "exclude": [ "**/*.d.ts" ], "extension": [ ".ts" ], "include": [ "build/compiled/src/**", "src/**" ], "reporter": "json" } }
1
+ { "name": "typeorm", "private": false, "version": "0.2.41-dev.2d0abe7", "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.", "license": "MIT", "readmeFilename": "README.md", "author": { "name": "Umed Khudoiberdiev", "email": "pleerock.me@gmail.com" }, "main": "./index.js", "browser": { "./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js", "./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js", "./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js", "./index.js": "./browser/index.js" }, "repository": { "type": "git", "url": "https://github.com/typeorm/typeorm.git" }, "bugs": { "url": "https://github.com/typeorm/typeorm/issues" }, "tags": [ "orm", "typescript", "typescript-orm", "mysql", "mysql-orm", "postgresql", "postgresql-orm", "mariadb", "mariadb-orm", "sqlite", "sqlite-orm", "sql-server", "sql-server-orm", "oracle", "oracle-orm" ], "devDependencies": { "@types/app-root-path": "^1.2.4", "@types/chai": "^4.2.15", "@types/chai-as-promised": "^7.1.3", "@types/debug": "^4.1.5", "@types/dotenv": "^8.2.0", "@types/js-yaml": "^4.0.0", "@types/mkdirp": "^1.0.1", "@types/mocha": "^8.2.1", "@types/node": "^14.14.31", "@types/rimraf": "^3.0.0", "@types/sha.js": "^2.4.0", "@types/sinon": "^9.0.10", "@types/source-map-support": "^0.5.3", "@types/xml2js": "^0.4.8", "@types/yargs": "^17.0.2", "@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/parser": "^4.15.2", "better-sqlite3": "^7.1.2", "chai": "^4.3.0", "chai-as-promised": "^7.1.1", "class-transformer": "^0.4.0", "conventional-changelog-angular": "^5.0.12", "conventional-changelog-cli": "^2.1.1", "del": "^6.0.0", "eslint": "^7.20.0", "gulp": "^4.0.2", "gulp-eslint": "^6.0.0", "gulp-istanbul": "^1.1.3", "gulp-mocha": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-replace": "^1.0.0", "gulp-shell": "^0.8.0", "gulp-sourcemaps": "^3.0.0", "gulp-typescript": "^6.0.0-alpha.1", "gulpclass": "^0.2.0", "husky": "^5.1.1", "lint-staged": "^10.5.4", "mocha": "^8.3.0", "mongodb": "^3.6.4", "mssql": "^6.3.1", "mysql": "^2.18.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "remap-istanbul": "^0.13.0", "rimraf": "^3.0.2", "sinon": "^9.2.4", "sinon-chai": "^3.5.0", "source-map-support": "^0.5.19", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "ts-node": "^9.1.1", "typeorm-aurora-data-api-driver": "^2.0.0", "typescript": "^4.2.2" }, "peerDependencies": { "@sap/hana-client": "*", "better-sqlite3": "*", "hdb-pool": "*", "ioredis": "*", "mongodb": "^3.6.0", "mssql": "*", "mysql2": "*", "oracledb": "*", "pg": "*", "pg-native": "*", "pg-query-stream": "*", "redis": "*", "sql.js": "*", "sqlite3": "*", "typeorm-aurora-data-api-driver": "*" }, "peerDependenciesMeta": { "@sap/hana-client": { "optional": true }, "better-sqlite3": { "optional": true }, "hdb-pool": { "optional": true }, "ioredis": { "optional": true }, "mongodb": { "optional": true }, "mssql": { "optional": true }, "mysql2": { "optional": true }, "oracledb": { "optional": true }, "pg": { "optional": true }, "pg-native": { "optional": true }, "pg-query-stream": { "optional": true }, "redis": { "optional": true }, "sql.js": { "optional": true }, "sqlite3": { "optional": true }, "typeorm-aurora-data-api-driver": { "optional": true } }, "dependencies": { "@sqltools/formatter": "^1.2.2", "app-root-path": "^3.0.0", "buffer": "^6.0.3", "chalk": "^4.1.0", "cli-highlight": "^2.1.11", "debug": "^4.3.1", "dotenv": "^8.2.0", "glob": "^7.1.6", "js-yaml": "^4.0.0", "mkdirp": "^1.0.4", "reflect-metadata": "^0.1.13", "sha.js": "^2.4.11", "tslib": "^2.1.0", "xml2js": "^0.4.23", "yargs": "^17.0.1", "zen-observable-ts": "^1.0.0" }, "lint-staged": { "*.ts": [ "eslint --fix", "git add" ] }, "scripts": { "test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "compile": "rimraf ./build && tsc", "watch": "./node_modules/.bin/tsc -w", "package": "gulp package", "pack": "gulp pack", "lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 2" }, "bin": { "typeorm": "./cli.js" }, "funding": "https://opencollective.com/typeorm", "collective": { "type": "opencollective", "url": "https://opencollective.com/typeorm", "logo": "https://opencollective.com/opencollective/logo.txt" }, "nyc": { "all": true, "cache": false, "exclude": [ "**/*.d.ts" ], "extension": [ ".ts" ], "include": [ "build/compiled/src/**", "src/**" ], "reporter": "json" } }
@@ -115,6 +115,7 @@ export declare abstract class BaseQueryRunner {
115
115
  * Executes down sql queries.
116
116
  */
117
117
  executeMemoryDownSql(): Promise<void>;
118
+ getReplicationMode(): ReplicationMode;
118
119
  /**
119
120
  * Gets view from previously loaded views, otherwise loads it from database.
120
121
  */
@@ -234,6 +234,9 @@ var BaseQueryRunner = /** @class */ (function () {
234
234
  });
235
235
  });
236
236
  };
237
+ BaseQueryRunner.prototype.getReplicationMode = function () {
238
+ return this.mode;
239
+ };
237
240
  // -------------------------------------------------------------------------
238
241
  // Protected Methods
239
242
  // -------------------------------------------------------------------------