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
@@ -16,6 +16,7 @@ import { Query } from "../Query";
16
16
  import { QueryFailedError, TypeORMError } from "../../error";
17
17
  import { QueryResult } from "../../query-runner/QueryResult";
18
18
  import { QueryLock } from "../../query-runner/QueryLock";
19
+ import { MetadataTableType } from "../types/MetadataTableType";
19
20
  /**
20
21
  * Runs queries on a single SQL Server database connection.
21
22
  */
@@ -2024,7 +2025,7 @@ var SapQueryRunner = /** @class */ (function (_super) {
2024
2025
  }
2025
2026
  return "(\"t\".\"schema\" = '" + schema + "' AND \"t\".\"name\" = '" + name + "')";
2026
2027
  }).join(" OR ");
2027
- query = "SELECT \"t\".* FROM " + this.escapePath(this.getTypeormMetadataTableName()) + " \"t\" WHERE \"t\".\"type\" = 'VIEW' " + (viewsCondition ? "AND (" + viewsCondition + ")" : "");
2028
+ query = "SELECT \"t\".* FROM " + this.escapePath(this.getTypeormMetadataTableName()) + " \"t\" WHERE \"t\".\"type\" = '" + MetadataTableType.VIEW + "' " + (viewsCondition ? "AND (" + viewsCondition + ")" : "");
2028
2029
  return [4 /*yield*/, this.query(query)];
2029
2030
  case 4:
2030
2031
  dbViews = _a.sent();
@@ -2143,28 +2144,29 @@ var SapQueryRunner = /** @class */ (function (_super) {
2143
2144
  return [4 /*yield*/, Promise.all(dbColumns
2144
2145
  .filter(function (dbColumn) { return dbColumn["TABLE_NAME"] === dbTable["TABLE_NAME"] && dbColumn["SCHEMA_NAME"] === dbTable["SCHEMA_NAME"]; })
2145
2146
  .map(function (dbColumn) { return __awaiter(_this, void 0, void 0, function () {
2146
- var columnConstraints, columnUniqueIndex, tableMetadata, hasIgnoredIndex, isConstraintComposite, tableColumn, length_1;
2147
+ var columnConstraints, columnUniqueIndices, tableMetadata, hasIgnoredIndex, isConstraintComposite, tableColumn, length_1;
2147
2148
  var _this = this;
2148
2149
  return __generator(this, function (_a) {
2149
2150
  columnConstraints = dbConstraints.filter(function (dbConstraint) { return (dbConstraint["TABLE_NAME"] === dbColumn["TABLE_NAME"] &&
2150
2151
  dbConstraint["SCHEMA_NAME"] === dbColumn["SCHEMA_NAME"] &&
2151
2152
  dbConstraint["COLUMN_NAME"] === dbColumn["COLUMN_NAME"]); });
2152
- columnUniqueIndex = dbIndices.find(function (dbIndex) {
2153
- if (dbIndex["TABLE_NAME"] !== dbTable["TABLE_NAME"] || dbIndex["SCHEMA_NAME"] !== dbTable["SCHEMA_NAME"]) {
2154
- return false;
2155
- }
2156
- // Index is not for this column
2157
- if (dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]) {
2158
- return false;
2159
- }
2160
- return dbIndex["CONSTRAINT"] && dbIndex["CONSTRAINT"].indexOf("UNIQUE") !== -1;
2153
+ columnUniqueIndices = dbIndices.filter(function (dbIndex) {
2154
+ return dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"]
2155
+ && dbIndex["SCHEMA_NAME"] === dbTable["SCHEMA_NAME"]
2156
+ && dbIndex["COLUMN_NAME"] === dbColumn["COLUMN_NAME"]
2157
+ && dbIndex["CONSTRAINT"] && dbIndex["CONSTRAINT"].indexOf("UNIQUE") !== -1;
2161
2158
  });
2162
2159
  tableMetadata = this.connection.entityMetadatas.find(function (metadata) { return _this.getTablePath(table) === _this.getTablePath(metadata); });
2163
- hasIgnoredIndex = columnUniqueIndex && tableMetadata && tableMetadata.indices
2164
- .some(function (index) { return index.name === columnUniqueIndex["INDEX_NAME"] && index.synchronize === false; });
2165
- isConstraintComposite = columnUniqueIndex
2166
- ? !!dbIndices.find(function (dbIndex) { return dbIndex["INDEX_NAME"] === columnUniqueIndex["INDEX_NAME"] && dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]; })
2167
- : false;
2160
+ hasIgnoredIndex = columnUniqueIndices.length > 0
2161
+ && tableMetadata
2162
+ && tableMetadata.indices.some(function (index) {
2163
+ return columnUniqueIndices.some(function (uniqueIndex) {
2164
+ return index.name === uniqueIndex["INDEX_NAME"] && index.synchronize === false;
2165
+ });
2166
+ });
2167
+ isConstraintComposite = columnUniqueIndices.every(function (uniqueIndex) {
2168
+ return dbIndices.some(function (dbIndex) { return dbIndex["INDEX_NAME"] === uniqueIndex["INDEX_NAME"] && dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]; });
2169
+ });
2168
2170
  tableColumn = new TableColumn();
2169
2171
  tableColumn.name = dbColumn["COLUMN_NAME"];
2170
2172
  tableColumn.type = dbColumn["DATA_TYPE_NAME"].toLowerCase();
@@ -2193,7 +2195,7 @@ var SapQueryRunner = /** @class */ (function (_super) {
2193
2195
  length_1 = dbColumn["LENGTH"].toString();
2194
2196
  tableColumn.length = !this.isDefaultColumnLength(table, tableColumn, length_1) ? length_1 : "";
2195
2197
  }
2196
- tableColumn.isUnique = !!columnUniqueIndex && !hasIgnoredIndex && !isConstraintComposite;
2198
+ tableColumn.isUnique = columnUniqueIndices.length > 0 && !hasIgnoredIndex && !isConstraintComposite;
2197
2199
  tableColumn.isNullable = dbColumn["IS_NULLABLE"] === "TRUE";
2198
2200
  tableColumn.isPrimary = !!columnConstraints.find(function (constraint) { return constraint["IS_PRIMARY_KEY"] === "TRUE"; });
2199
2201
  tableColumn.isGenerated = dbColumn["GENERATION_TYPE"] === "ALWAYS AS IDENTITY";
@@ -2371,24 +2373,24 @@ var SapQueryRunner = /** @class */ (function (_super) {
2371
2373
  };
2372
2374
  SapQueryRunner.prototype.insertViewDefinitionSql = function (view) {
2373
2375
  return __awaiter(this, void 0, void 0, function () {
2374
- var _a, schema, name, expression, _b, query, parameters;
2375
- return __generator(this, function (_c) {
2376
- switch (_c.label) {
2376
+ var _a, schema, name, expression;
2377
+ return __generator(this, function (_b) {
2378
+ switch (_b.label) {
2377
2379
  case 0:
2378
2380
  _a = this.driver.parseTableName(view), schema = _a.schema, name = _a.tableName;
2379
2381
  if (!!schema) return [3 /*break*/, 2];
2380
2382
  return [4 /*yield*/, this.getCurrentSchema()];
2381
2383
  case 1:
2382
- schema = _c.sent();
2383
- _c.label = 2;
2384
+ schema = _b.sent();
2385
+ _b.label = 2;
2384
2386
  case 2:
2385
2387
  expression = typeof view.expression === "string" ? view.expression.trim() : view.expression(this.connection).getQuery();
2386
- _b = __read(this.connection.createQueryBuilder()
2387
- .insert()
2388
- .into(this.getTypeormMetadataTableName())
2389
- .values({ type: "VIEW", schema: schema, name: name, value: expression })
2390
- .getQueryAndParameters(), 2), query = _b[0], parameters = _b[1];
2391
- return [2 /*return*/, new Query(query, parameters)];
2388
+ return [2 /*return*/, this.insertTypeormMetadataSql({
2389
+ type: MetadataTableType.VIEW,
2390
+ schema: schema,
2391
+ name: name,
2392
+ value: expression
2393
+ })];
2392
2394
  }
2393
2395
  });
2394
2396
  });
@@ -2404,25 +2406,17 @@ var SapQueryRunner = /** @class */ (function (_super) {
2404
2406
  */
2405
2407
  SapQueryRunner.prototype.deleteViewDefinitionSql = function (viewOrPath) {
2406
2408
  return __awaiter(this, void 0, void 0, function () {
2407
- var _a, schema, name, qb, _b, query, parameters;
2408
- return __generator(this, function (_c) {
2409
- switch (_c.label) {
2409
+ var _a, schema, name;
2410
+ return __generator(this, function (_b) {
2411
+ switch (_b.label) {
2410
2412
  case 0:
2411
2413
  _a = this.driver.parseTableName(viewOrPath), schema = _a.schema, name = _a.tableName;
2412
2414
  if (!!schema) return [3 /*break*/, 2];
2413
2415
  return [4 /*yield*/, this.getCurrentSchema()];
2414
2416
  case 1:
2415
- schema = _c.sent();
2416
- _c.label = 2;
2417
- case 2:
2418
- qb = this.connection.createQueryBuilder();
2419
- _b = __read(qb.delete()
2420
- .from(this.getTypeormMetadataTableName())
2421
- .where(qb.escape("type") + " = 'VIEW'")
2422
- .andWhere(qb.escape("schema") + " = :schema", { schema: schema })
2423
- .andWhere(qb.escape("name") + " = :name", { name: name })
2424
- .getQueryAndParameters(), 2), query = _b[0], parameters = _b[1];
2425
- return [2 /*return*/, new Query(query, parameters)];
2417
+ schema = _b.sent();
2418
+ _b.label = 2;
2419
+ case 2: return [2 /*return*/, this.deleteTypeormMetadataSql({ type: MetadataTableType.VIEW, schema: schema, name: name })];
2426
2420
  }
2427
2421
  });
2428
2422
  });