typeorm 0.3.18-dev.48f5f85 → 0.3.18-dev.6d5b5d9

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 (103) hide show
  1. package/browser/decorator/Index.js +1 -0
  2. package/browser/decorator/Index.js.map +1 -1
  3. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  4. package/browser/decorator/options/IndexOptions.js.map +1 -1
  5. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  6. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  7. package/browser/driver/mongodb/typings.d.ts +3 -3
  8. package/browser/driver/mongodb/typings.js.map +1 -1
  9. package/browser/driver/oracle/OracleQueryRunner.js +34 -2
  10. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  11. package/browser/driver/postgres/PostgresQueryRunner.js +26 -15
  12. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  13. package/browser/driver/sap/SapDriver.d.ts +8 -0
  14. package/browser/driver/sap/SapDriver.js +13 -2
  15. package/browser/driver/sap/SapDriver.js.map +1 -1
  16. package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
  17. package/browser/driver/sap/SapQueryRunner.js +53 -55
  18. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  19. package/browser/entity-manager/MongoEntityManager.d.ts +3 -3
  20. package/browser/entity-manager/MongoEntityManager.js +1 -2
  21. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  22. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  23. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  24. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  25. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  26. package/browser/metadata/IndexMetadata.d.ts +5 -0
  27. package/browser/metadata/IndexMetadata.js +1 -0
  28. package/browser/metadata/IndexMetadata.js.map +1 -1
  29. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  30. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  31. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  32. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  33. package/browser/persistence/SubjectExecutor.js +4 -1
  34. package/browser/persistence/SubjectExecutor.js.map +1 -1
  35. package/browser/platform/PlatformTools.js +2 -0
  36. package/browser/platform/PlatformTools.js.map +1 -1
  37. package/browser/query-builder/SelectQueryBuilder.js +4 -1
  38. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  39. package/browser/repository/MongoRepository.d.ts +3 -3
  40. package/browser/repository/MongoRepository.js.map +1 -1
  41. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  42. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  43. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  44. package/browser/schema-builder/table/TableIndex.js +3 -0
  45. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  46. package/browser/subscriber/Broadcaster.d.ts +1 -1
  47. package/browser/subscriber/Broadcaster.js +2 -1
  48. package/browser/subscriber/Broadcaster.js.map +1 -1
  49. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  50. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  51. package/commands/MigrationGenerateCommand.js +3 -1
  52. package/commands/MigrationGenerateCommand.js.map +1 -1
  53. package/decorator/Index.js +1 -0
  54. package/decorator/Index.js.map +1 -1
  55. package/decorator/options/IndexOptions.d.ts +5 -0
  56. package/decorator/options/IndexOptions.js.map +1 -1
  57. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  58. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  59. package/driver/mongodb/typings.d.ts +3 -3
  60. package/driver/mongodb/typings.js.map +1 -1
  61. package/driver/oracle/OracleQueryRunner.js +34 -2
  62. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  63. package/driver/postgres/PostgresQueryRunner.js +26 -15
  64. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  65. package/driver/sap/SapDriver.d.ts +8 -0
  66. package/driver/sap/SapDriver.js +13 -2
  67. package/driver/sap/SapDriver.js.map +1 -1
  68. package/driver/sap/SapQueryRunner.d.ts +5 -14
  69. package/driver/sap/SapQueryRunner.js +53 -55
  70. package/driver/sap/SapQueryRunner.js.map +1 -1
  71. package/entity-manager/MongoEntityManager.d.ts +3 -3
  72. package/entity-manager/MongoEntityManager.js +1 -2
  73. package/entity-manager/MongoEntityManager.js.map +1 -1
  74. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  75. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  76. package/entity-schema/EntitySchemaTransformer.js +7 -0
  77. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  78. package/metadata/IndexMetadata.d.ts +5 -0
  79. package/metadata/IndexMetadata.js +1 -0
  80. package/metadata/IndexMetadata.js.map +1 -1
  81. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  82. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  83. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  84. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  85. package/package.json +1 -1
  86. package/persistence/SubjectExecutor.js +4 -1
  87. package/persistence/SubjectExecutor.js.map +1 -1
  88. package/platform/PlatformTools.js +2 -0
  89. package/platform/PlatformTools.js.map +1 -1
  90. package/query-builder/SelectQueryBuilder.js +4 -1
  91. package/query-builder/SelectQueryBuilder.js.map +1 -1
  92. package/repository/MongoRepository.d.ts +3 -3
  93. package/repository/MongoRepository.js.map +1 -1
  94. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  95. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  96. package/schema-builder/table/TableIndex.d.ts +5 -0
  97. package/schema-builder/table/TableIndex.js +3 -0
  98. package/schema-builder/table/TableIndex.js.map +1 -1
  99. package/subscriber/Broadcaster.d.ts +1 -1
  100. package/subscriber/Broadcaster.js +2 -1
  101. package/subscriber/Broadcaster.js.map +1 -1
  102. package/subscriber/event/InsertEvent.d.ts +5 -0
  103. package/subscriber/event/InsertEvent.js.map +1 -1
@@ -1857,26 +1857,34 @@ export class PostgresQueryRunner extends BaseQueryRunner {
1857
1857
  tableColumn.name = dbColumn["column_name"];
1858
1858
  tableColumn.type = dbColumn["regtype"].toLowerCase();
1859
1859
  if (tableColumn.type === "numeric" ||
1860
+ tableColumn.type === "numeric[]" ||
1860
1861
  tableColumn.type === "decimal" ||
1861
1862
  tableColumn.type === "float") {
1863
+ let numericPrecision = dbColumn["numeric_precision"];
1864
+ let numericScale = dbColumn["numeric_scale"];
1865
+ if (dbColumn["data_type"] === "ARRAY") {
1866
+ const numericSize = dbColumn["format_type"].match(/^numeric\(([0-9]+),([0-9]+)\)\[\]$/);
1867
+ if (numericSize) {
1868
+ numericPrecision = +numericSize[1];
1869
+ numericScale = +numericSize[2];
1870
+ }
1871
+ }
1862
1872
  // If one of these properties was set, and another was not, Postgres sets '0' in to unspecified property
1863
1873
  // we set 'undefined' in to unspecified property to avoid changing column on sync
1864
- if (dbColumn["numeric_precision"] !== null &&
1865
- !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["numeric_precision"])) {
1866
- tableColumn.precision =
1867
- dbColumn["numeric_precision"];
1874
+ if (numericPrecision !== null &&
1875
+ !this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
1876
+ tableColumn.precision = numericPrecision;
1868
1877
  }
1869
- else if (dbColumn["numeric_scale"] !== null &&
1870
- !this.isDefaultColumnScale(table, tableColumn, dbColumn["numeric_scale"])) {
1878
+ else if (numericScale !== null &&
1879
+ !this.isDefaultColumnScale(table, tableColumn, numericScale)) {
1871
1880
  tableColumn.precision = undefined;
1872
1881
  }
1873
- if (dbColumn["numeric_scale"] !== null &&
1874
- !this.isDefaultColumnScale(table, tableColumn, dbColumn["numeric_scale"])) {
1875
- tableColumn.scale =
1876
- dbColumn["numeric_scale"];
1882
+ if (numericScale !== null &&
1883
+ !this.isDefaultColumnScale(table, tableColumn, numericScale)) {
1884
+ tableColumn.scale = numericScale;
1877
1885
  }
1878
- else if (dbColumn["numeric_precision"] !== null &&
1879
- !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["numeric_precision"])) {
1886
+ else if (numericPrecision !== null &&
1887
+ !this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
1880
1888
  tableColumn.scale = undefined;
1881
1889
  }
1882
1890
  }
@@ -2380,7 +2388,7 @@ export class PostgresQueryRunner extends BaseQueryRunner {
2380
2388
  const columns = index.columnNames
2381
2389
  .map((columnName) => `"${columnName}"`)
2382
2390
  .join(", ");
2383
- return new Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
2391
+ return new Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}${index.isConcurrent ? "CONCURRENTLY " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
2384
2392
  }
2385
2393
  /**
2386
2394
  * Builds create view index sql.
@@ -2398,10 +2406,13 @@ export class PostgresQueryRunner extends BaseQueryRunner {
2398
2406
  let indexName = InstanceChecker.isTableIndex(indexOrName)
2399
2407
  ? indexOrName.name
2400
2408
  : indexOrName;
2409
+ const concurrent = InstanceChecker.isTableIndex(indexOrName)
2410
+ ? indexOrName.isConcurrent
2411
+ : false;
2401
2412
  const { schema } = this.driver.parseTableName(table);
2402
2413
  return schema
2403
- ? new Query(`DROP INDEX "${schema}"."${indexName}"`)
2404
- : new Query(`DROP INDEX "${indexName}"`);
2414
+ ? new Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${schema}"."${indexName}"`)
2415
+ : new Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${indexName}"`);
2405
2416
  }
2406
2417
  /**
2407
2418
  * Builds create primary key sql.