typeorm 0.2.40-dev.e80f97d → 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.
Files changed (101) hide show
  1. package/browser/cache/DbQueryResultCache.js +12 -3
  2. package/browser/cache/DbQueryResultCache.js.map +1 -1
  3. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +33 -39
  4. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  5. package/browser/driver/cockroachdb/CockroachQueryRunner.js +24 -30
  6. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  7. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  8. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  9. package/browser/driver/mongodb/MongoQueryRunner.d.ts +2 -0
  10. package/browser/driver/mongodb/MongoQueryRunner.js +3 -0
  11. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  12. package/browser/driver/mysql/MysqlQueryRunner.js +37 -39
  13. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  14. package/browser/driver/oracle/OracleDriver.js +1 -1
  15. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  16. package/browser/driver/oracle/OracleQueryRunner.js +13 -24
  17. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  18. package/browser/driver/postgres/PostgresDriver.d.ts +1 -0
  19. package/browser/driver/postgres/PostgresDriver.js +16 -7
  20. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  21. package/browser/driver/postgres/PostgresQueryRunner.d.ts +5 -0
  22. package/browser/driver/postgres/PostgresQueryRunner.js +314 -135
  23. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  24. package/browser/driver/sap/SapQueryRunner.js +36 -42
  25. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  26. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +8 -14
  27. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  28. package/browser/driver/sqlserver/SqlServerQueryRunner.js +31 -33
  29. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  30. package/browser/driver/types/MetadataTableType.d.ts +5 -0
  31. package/browser/driver/types/MetadataTableType.js +8 -0
  32. package/browser/driver/types/MetadataTableType.js.map +1 -0
  33. package/browser/find-options/FindTreeOptions.d.ts +5 -1
  34. package/browser/find-options/FindTreeOptions.js.map +1 -1
  35. package/browser/migration/MigrationExecutor.js +55 -48
  36. package/browser/migration/MigrationExecutor.js.map +1 -1
  37. package/browser/query-runner/BaseQueryRunner.d.ts +23 -0
  38. package/browser/query-runner/BaseQueryRunner.js +37 -0
  39. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  40. package/browser/query-runner/QueryRunner.d.ts +5 -0
  41. package/browser/query-runner/QueryRunner.js.map +1 -1
  42. package/browser/repository/FindTreesOptions.d.ts +9 -0
  43. package/browser/repository/FindTreesOptions.js +3 -0
  44. package/browser/repository/FindTreesOptions.js.map +1 -0
  45. package/browser/repository/TreeRepository.d.ts +4 -1
  46. package/browser/repository/TreeRepository.js +8 -4
  47. package/browser/repository/TreeRepository.js.map +1 -1
  48. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +5 -1
  49. package/browser/schema-builder/RdbmsSchemaBuilder.js +58 -49
  50. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  51. package/cache/DbQueryResultCache.js +12 -3
  52. package/cache/DbQueryResultCache.js.map +1 -1
  53. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +33 -39
  54. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  55. package/driver/cockroachdb/CockroachQueryRunner.js +24 -30
  56. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  57. package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  58. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  59. package/driver/mongodb/MongoQueryRunner.d.ts +2 -0
  60. package/driver/mongodb/MongoQueryRunner.js +3 -0
  61. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  62. package/driver/mysql/MysqlQueryRunner.js +37 -39
  63. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  64. package/driver/oracle/OracleDriver.js +1 -1
  65. package/driver/oracle/OracleDriver.js.map +1 -1
  66. package/driver/oracle/OracleQueryRunner.js +13 -24
  67. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  68. package/driver/postgres/PostgresDriver.d.ts +1 -0
  69. package/driver/postgres/PostgresDriver.js +16 -7
  70. package/driver/postgres/PostgresDriver.js.map +1 -1
  71. package/driver/postgres/PostgresQueryRunner.d.ts +5 -0
  72. package/driver/postgres/PostgresQueryRunner.js +314 -135
  73. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  74. package/driver/sap/SapQueryRunner.js +36 -42
  75. package/driver/sap/SapQueryRunner.js.map +1 -1
  76. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +8 -14
  77. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  78. package/driver/sqlserver/SqlServerQueryRunner.js +31 -33
  79. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  80. package/driver/types/MetadataTableType.d.ts +5 -0
  81. package/driver/types/MetadataTableType.js +11 -0
  82. package/driver/types/MetadataTableType.js.map +1 -0
  83. package/find-options/FindTreeOptions.d.ts +5 -1
  84. package/find-options/FindTreeOptions.js.map +1 -1
  85. package/migration/MigrationExecutor.js +55 -48
  86. package/migration/MigrationExecutor.js.map +1 -1
  87. package/package.json +1 -1
  88. package/query-runner/BaseQueryRunner.d.ts +23 -0
  89. package/query-runner/BaseQueryRunner.js +37 -0
  90. package/query-runner/BaseQueryRunner.js.map +1 -1
  91. package/query-runner/QueryRunner.d.ts +5 -0
  92. package/query-runner/QueryRunner.js.map +1 -1
  93. package/repository/FindTreesOptions.d.ts +9 -0
  94. package/repository/FindTreesOptions.js +4 -0
  95. package/repository/FindTreesOptions.js.map +1 -0
  96. package/repository/TreeRepository.d.ts +4 -1
  97. package/repository/TreeRepository.js +7 -3
  98. package/repository/TreeRepository.js.map +1 -1
  99. package/schema-builder/RdbmsSchemaBuilder.d.ts +5 -1
  100. package/schema-builder/RdbmsSchemaBuilder.js +58 -49
  101. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
@@ -19,6 +19,7 @@ var Query_1 = require("../Query");
19
19
  var error_1 = require("../../error");
20
20
  var QueryResult_1 = require("../../query-runner/QueryResult");
21
21
  var QueryLock_1 = require("../../query-runner/QueryLock");
22
+ var MetadataTableType_1 = require("../types/MetadataTableType");
22
23
  /**
23
24
  * Runs queries on a single SQL Server database connection.
24
25
  */
@@ -2027,7 +2028,7 @@ var SapQueryRunner = /** @class */ (function (_super) {
2027
2028
  }
2028
2029
  return "(\"t\".\"schema\" = '" + schema + "' AND \"t\".\"name\" = '" + name + "')";
2029
2030
  }).join(" OR ");
2030
- query = "SELECT \"t\".* FROM " + this.escapePath(this.getTypeormMetadataTableName()) + " \"t\" WHERE \"t\".\"type\" = 'VIEW' " + (viewsCondition ? "AND (" + viewsCondition + ")" : "");
2031
+ query = "SELECT \"t\".* FROM " + this.escapePath(this.getTypeormMetadataTableName()) + " \"t\" WHERE \"t\".\"type\" = '" + MetadataTableType_1.MetadataTableType.VIEW + "' " + (viewsCondition ? "AND (" + viewsCondition + ")" : "");
2031
2032
  return [4 /*yield*/, this.query(query)];
2032
2033
  case 4:
2033
2034
  dbViews = _a.sent();
@@ -2146,28 +2147,29 @@ var SapQueryRunner = /** @class */ (function (_super) {
2146
2147
  return [4 /*yield*/, Promise.all(dbColumns
2147
2148
  .filter(function (dbColumn) { return dbColumn["TABLE_NAME"] === dbTable["TABLE_NAME"] && dbColumn["SCHEMA_NAME"] === dbTable["SCHEMA_NAME"]; })
2148
2149
  .map(function (dbColumn) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
2149
- var columnConstraints, columnUniqueIndex, tableMetadata, hasIgnoredIndex, isConstraintComposite, tableColumn, length;
2150
+ var columnConstraints, columnUniqueIndices, tableMetadata, hasIgnoredIndex, isConstraintComposite, tableColumn, length;
2150
2151
  var _this = this;
2151
2152
  return (0, tslib_1.__generator)(this, function (_a) {
2152
2153
  columnConstraints = dbConstraints.filter(function (dbConstraint) { return (dbConstraint["TABLE_NAME"] === dbColumn["TABLE_NAME"] &&
2153
2154
  dbConstraint["SCHEMA_NAME"] === dbColumn["SCHEMA_NAME"] &&
2154
2155
  dbConstraint["COLUMN_NAME"] === dbColumn["COLUMN_NAME"]); });
2155
- columnUniqueIndex = dbIndices.find(function (dbIndex) {
2156
- if (dbIndex["TABLE_NAME"] !== dbTable["TABLE_NAME"] || dbIndex["SCHEMA_NAME"] !== dbTable["SCHEMA_NAME"]) {
2157
- return false;
2158
- }
2159
- // Index is not for this column
2160
- if (dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]) {
2161
- return false;
2162
- }
2163
- return dbIndex["CONSTRAINT"] && dbIndex["CONSTRAINT"].indexOf("UNIQUE") !== -1;
2156
+ columnUniqueIndices = dbIndices.filter(function (dbIndex) {
2157
+ return dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"]
2158
+ && dbIndex["SCHEMA_NAME"] === dbTable["SCHEMA_NAME"]
2159
+ && dbIndex["COLUMN_NAME"] === dbColumn["COLUMN_NAME"]
2160
+ && dbIndex["CONSTRAINT"] && dbIndex["CONSTRAINT"].indexOf("UNIQUE") !== -1;
2164
2161
  });
2165
2162
  tableMetadata = this.connection.entityMetadatas.find(function (metadata) { return _this.getTablePath(table) === _this.getTablePath(metadata); });
2166
- hasIgnoredIndex = columnUniqueIndex && tableMetadata && tableMetadata.indices
2167
- .some(function (index) { return index.name === columnUniqueIndex["INDEX_NAME"] && index.synchronize === false; });
2168
- isConstraintComposite = columnUniqueIndex
2169
- ? !!dbIndices.find(function (dbIndex) { return dbIndex["INDEX_NAME"] === columnUniqueIndex["INDEX_NAME"] && dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]; })
2170
- : false;
2163
+ hasIgnoredIndex = columnUniqueIndices.length > 0
2164
+ && tableMetadata
2165
+ && tableMetadata.indices.some(function (index) {
2166
+ return columnUniqueIndices.some(function (uniqueIndex) {
2167
+ return index.name === uniqueIndex["INDEX_NAME"] && index.synchronize === false;
2168
+ });
2169
+ });
2170
+ isConstraintComposite = columnUniqueIndices.every(function (uniqueIndex) {
2171
+ return dbIndices.some(function (dbIndex) { return dbIndex["INDEX_NAME"] === uniqueIndex["INDEX_NAME"] && dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]; });
2172
+ });
2171
2173
  tableColumn = new TableColumn_1.TableColumn();
2172
2174
  tableColumn.name = dbColumn["COLUMN_NAME"];
2173
2175
  tableColumn.type = dbColumn["DATA_TYPE_NAME"].toLowerCase();
@@ -2196,7 +2198,7 @@ var SapQueryRunner = /** @class */ (function (_super) {
2196
2198
  length = dbColumn["LENGTH"].toString();
2197
2199
  tableColumn.length = !this.isDefaultColumnLength(table, tableColumn, length) ? length : "";
2198
2200
  }
2199
- tableColumn.isUnique = !!columnUniqueIndex && !hasIgnoredIndex && !isConstraintComposite;
2201
+ tableColumn.isUnique = columnUniqueIndices.length > 0 && !hasIgnoredIndex && !isConstraintComposite;
2200
2202
  tableColumn.isNullable = dbColumn["IS_NULLABLE"] === "TRUE";
2201
2203
  tableColumn.isPrimary = !!columnConstraints.find(function (constraint) { return constraint["IS_PRIMARY_KEY"] === "TRUE"; });
2202
2204
  tableColumn.isGenerated = dbColumn["GENERATION_TYPE"] === "ALWAYS AS IDENTITY";
@@ -2374,24 +2376,24 @@ var SapQueryRunner = /** @class */ (function (_super) {
2374
2376
  };
2375
2377
  SapQueryRunner.prototype.insertViewDefinitionSql = function (view) {
2376
2378
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
2377
- var _a, schema, name, expression, _b, query, parameters;
2378
- return (0, tslib_1.__generator)(this, function (_c) {
2379
- switch (_c.label) {
2379
+ var _a, schema, name, expression;
2380
+ return (0, tslib_1.__generator)(this, function (_b) {
2381
+ switch (_b.label) {
2380
2382
  case 0:
2381
2383
  _a = this.driver.parseTableName(view), schema = _a.schema, name = _a.tableName;
2382
2384
  if (!!schema) return [3 /*break*/, 2];
2383
2385
  return [4 /*yield*/, this.getCurrentSchema()];
2384
2386
  case 1:
2385
- schema = _c.sent();
2386
- _c.label = 2;
2387
+ schema = _b.sent();
2388
+ _b.label = 2;
2387
2389
  case 2:
2388
2390
  expression = typeof view.expression === "string" ? view.expression.trim() : view.expression(this.connection).getQuery();
2389
- _b = (0, tslib_1.__read)(this.connection.createQueryBuilder()
2390
- .insert()
2391
- .into(this.getTypeormMetadataTableName())
2392
- .values({ type: "VIEW", schema: schema, name: name, value: expression })
2393
- .getQueryAndParameters(), 2), query = _b[0], parameters = _b[1];
2394
- return [2 /*return*/, new Query_1.Query(query, parameters)];
2391
+ return [2 /*return*/, this.insertTypeormMetadataSql({
2392
+ type: MetadataTableType_1.MetadataTableType.VIEW,
2393
+ schema: schema,
2394
+ name: name,
2395
+ value: expression
2396
+ })];
2395
2397
  }
2396
2398
  });
2397
2399
  });
@@ -2407,25 +2409,17 @@ var SapQueryRunner = /** @class */ (function (_super) {
2407
2409
  */
2408
2410
  SapQueryRunner.prototype.deleteViewDefinitionSql = function (viewOrPath) {
2409
2411
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
2410
- var _a, schema, name, qb, _b, query, parameters;
2411
- return (0, tslib_1.__generator)(this, function (_c) {
2412
- switch (_c.label) {
2412
+ var _a, schema, name;
2413
+ return (0, tslib_1.__generator)(this, function (_b) {
2414
+ switch (_b.label) {
2413
2415
  case 0:
2414
2416
  _a = this.driver.parseTableName(viewOrPath), schema = _a.schema, name = _a.tableName;
2415
2417
  if (!!schema) return [3 /*break*/, 2];
2416
2418
  return [4 /*yield*/, this.getCurrentSchema()];
2417
2419
  case 1:
2418
- schema = _c.sent();
2419
- _c.label = 2;
2420
- case 2:
2421
- qb = this.connection.createQueryBuilder();
2422
- _b = (0, tslib_1.__read)(qb.delete()
2423
- .from(this.getTypeormMetadataTableName())
2424
- .where(qb.escape("type") + " = 'VIEW'")
2425
- .andWhere(qb.escape("schema") + " = :schema", { schema: schema })
2426
- .andWhere(qb.escape("name") + " = :name", { name: name })
2427
- .getQueryAndParameters(), 2), query = _b[0], parameters = _b[1];
2428
- return [2 /*return*/, new Query_1.Query(query, parameters)];
2420
+ schema = _b.sent();
2421
+ _b.label = 2;
2422
+ case 2: return [2 /*return*/, this.deleteTypeormMetadataSql({ type: MetadataTableType_1.MetadataTableType.VIEW, schema: schema, name: name })];
2429
2423
  }
2430
2424
  });
2431
2425
  });