typeorm 0.2.42-dev.54cf660 → 0.2.42-dev.e52b26c

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 (130) hide show
  1. package/browser/cache/RedisQueryResultCache.js +40 -35
  2. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  3. package/browser/connection/Connection.d.ts +2 -2
  4. package/browser/connection/Connection.js +1 -1
  5. package/browser/connection/Connection.js.map +1 -1
  6. package/browser/decorator/Unique.d.ts +5 -4
  7. package/browser/decorator/Unique.js +7 -3
  8. package/browser/decorator/Unique.js.map +1 -1
  9. package/browser/decorator/options/UniqueOptions.d.ts +10 -0
  10. package/browser/decorator/options/UniqueOptions.js +3 -0
  11. package/browser/decorator/options/UniqueOptions.js.map +1 -0
  12. package/browser/driver/postgres/PostgresQueryRunner.js +10 -3
  13. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  14. package/browser/entity-manager/EntityManager.d.ts +2 -2
  15. package/browser/entity-manager/EntityManager.js +1 -1
  16. package/browser/entity-manager/EntityManager.js.map +1 -1
  17. package/browser/entity-manager/MongoEntityManager.js +2 -1
  18. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  19. package/browser/entity-schema/EntitySchemaOptions.d.ts +6 -0
  20. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  21. package/browser/entity-schema/EntitySchemaTransformer.js +3 -1
  22. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  23. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  24. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  25. package/browser/metadata/UniqueMetadata.d.ts +5 -0
  26. package/browser/metadata/UniqueMetadata.js +1 -0
  27. package/browser/metadata/UniqueMetadata.js.map +1 -1
  28. package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  29. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  30. package/browser/query-builder/DeleteQueryBuilder.d.ts +1 -1
  31. package/browser/query-builder/DeleteQueryBuilder.js +1 -1
  32. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  33. package/browser/query-builder/InsertQueryBuilder.d.ts +1 -1
  34. package/browser/query-builder/InsertQueryBuilder.js +1 -1
  35. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  36. package/browser/query-builder/QueryBuilder.d.ts +1 -1
  37. package/browser/query-builder/QueryBuilder.js.map +1 -1
  38. package/browser/query-builder/RelationQueryBuilder.d.ts +1 -1
  39. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  40. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  41. package/browser/query-builder/SelectQueryBuilder.d.ts +1 -1
  42. package/browser/query-builder/SelectQueryBuilder.js +1 -1
  43. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  44. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  45. package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
  46. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  47. package/browser/query-builder/UpdateQueryBuilder.d.ts +1 -1
  48. package/browser/query-builder/UpdateQueryBuilder.js +1 -1
  49. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  50. package/browser/repository/AbstractRepository.d.ts +2 -2
  51. package/browser/repository/AbstractRepository.js +2 -2
  52. package/browser/repository/AbstractRepository.js.map +1 -1
  53. package/browser/repository/BaseEntity.d.ts +1 -1
  54. package/browser/repository/BaseEntity.js +1 -1
  55. package/browser/repository/BaseEntity.js.map +1 -1
  56. package/browser/repository/Repository.d.ts +1 -1
  57. package/browser/repository/Repository.js +1 -1
  58. package/browser/repository/Repository.js.map +1 -1
  59. package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  60. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  61. package/browser/schema-builder/table/TableUnique.d.ts +5 -0
  62. package/browser/schema-builder/table/TableUnique.js +5 -2
  63. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  64. package/cache/RedisQueryResultCache.js +39 -34
  65. package/cache/RedisQueryResultCache.js.map +1 -1
  66. package/commands/QueryCommand.d.ts +1 -1
  67. package/commands/QueryCommand.js +1 -1
  68. package/commands/QueryCommand.js.map +1 -1
  69. package/connection/Connection.d.ts +2 -2
  70. package/connection/Connection.js +1 -1
  71. package/connection/Connection.js.map +1 -1
  72. package/decorator/Unique.d.ts +5 -4
  73. package/decorator/Unique.js +7 -3
  74. package/decorator/Unique.js.map +1 -1
  75. package/decorator/options/UniqueOptions.d.ts +10 -0
  76. package/decorator/options/UniqueOptions.js +4 -0
  77. package/decorator/options/UniqueOptions.js.map +1 -0
  78. package/driver/postgres/PostgresQueryRunner.js +10 -3
  79. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  80. package/entity-manager/EntityManager.d.ts +2 -2
  81. package/entity-manager/EntityManager.js +1 -1
  82. package/entity-manager/EntityManager.js.map +1 -1
  83. package/entity-manager/MongoEntityManager.js +2 -1
  84. package/entity-manager/MongoEntityManager.js.map +1 -1
  85. package/entity-schema/EntitySchemaOptions.d.ts +6 -0
  86. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  87. package/entity-schema/EntitySchemaTransformer.js +3 -1
  88. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  89. package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  90. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  91. package/metadata/UniqueMetadata.d.ts +5 -0
  92. package/metadata/UniqueMetadata.js +1 -0
  93. package/metadata/UniqueMetadata.js.map +1 -1
  94. package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  95. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  96. package/package.json +1 -1
  97. package/query-builder/DeleteQueryBuilder.d.ts +1 -1
  98. package/query-builder/DeleteQueryBuilder.js +1 -1
  99. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  100. package/query-builder/InsertQueryBuilder.d.ts +1 -1
  101. package/query-builder/InsertQueryBuilder.js +1 -1
  102. package/query-builder/InsertQueryBuilder.js.map +1 -1
  103. package/query-builder/QueryBuilder.d.ts +1 -1
  104. package/query-builder/QueryBuilder.js.map +1 -1
  105. package/query-builder/RelationQueryBuilder.d.ts +1 -1
  106. package/query-builder/RelationQueryBuilder.js +1 -1
  107. package/query-builder/RelationQueryBuilder.js.map +1 -1
  108. package/query-builder/SelectQueryBuilder.d.ts +1 -1
  109. package/query-builder/SelectQueryBuilder.js +1 -1
  110. package/query-builder/SelectQueryBuilder.js.map +1 -1
  111. package/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  112. package/query-builder/SoftDeleteQueryBuilder.js +1 -1
  113. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  114. package/query-builder/UpdateQueryBuilder.d.ts +1 -1
  115. package/query-builder/UpdateQueryBuilder.js +1 -1
  116. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  117. package/repository/AbstractRepository.d.ts +2 -2
  118. package/repository/AbstractRepository.js +2 -2
  119. package/repository/AbstractRepository.js.map +1 -1
  120. package/repository/BaseEntity.d.ts +1 -1
  121. package/repository/BaseEntity.js +1 -1
  122. package/repository/BaseEntity.js.map +1 -1
  123. package/repository/Repository.d.ts +1 -1
  124. package/repository/Repository.js +1 -1
  125. package/repository/Repository.js.map +1 -1
  126. package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  127. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  128. package/schema-builder/table/TableUnique.d.ts +5 -0
  129. package/schema-builder/table/TableUnique.js +5 -2
  130. package/schema-builder/table/TableUnique.js.map +1 -1
@@ -5,9 +5,12 @@ var globals_1 = require("../globals");
5
5
  /**
6
6
  * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.
7
7
  */
8
- function Unique(nameOrFields, maybeFields) {
9
- var name = typeof nameOrFields === "string" ? nameOrFields : undefined;
10
- var fields = typeof nameOrFields === "string" ? maybeFields : nameOrFields;
8
+ function Unique(nameOrFieldsOrOptions, maybeFieldsOrOptions, maybeOptions) {
9
+ var name = typeof nameOrFieldsOrOptions === "string" ? nameOrFieldsOrOptions : undefined;
10
+ var fields = typeof nameOrFieldsOrOptions === "string" ? maybeFieldsOrOptions : nameOrFieldsOrOptions;
11
+ var options = (typeof nameOrFieldsOrOptions === "object" && !Array.isArray(nameOrFieldsOrOptions)) ? nameOrFieldsOrOptions : maybeOptions;
12
+ if (!options)
13
+ options = (typeof maybeFieldsOrOptions === "object" && !Array.isArray(maybeFieldsOrOptions)) ? maybeFieldsOrOptions : maybeOptions;
11
14
  return function (clsOrObject, propertyName) {
12
15
  var columns = fields;
13
16
  if (propertyName !== undefined) {
@@ -24,6 +27,7 @@ function Unique(nameOrFields, maybeFields) {
24
27
  target: propertyName ? clsOrObject.constructor : clsOrObject,
25
28
  name: name,
26
29
  columns: columns,
30
+ deferrable: options ? options.deferrable : undefined,
27
31
  };
28
32
  (0, globals_1.getMetadataArgsStorage)().uniques.push(args);
29
33
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/decorator/Unique.ts"],"names":[],"mappings":";;;AAAA,sCAAoD;AAuBpD;;GAEG;AACH,SAAgB,MAAM,CAAC,YAAyF,EAC5G,WAAgF;IAChF,IAAM,IAAI,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAM,MAAM,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAqE,WAAW,CAAC,CAAC,CAAC,YAAwB,CAAC;IAE7J,OAAO,UAAU,WAA8B,EAAE,YAA8B;QAE3E,IAAI,OAAO,GAAG,MAAM,CAAC;QAErB,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,QAAQ,OAAO,CAAC,YAAY,CAAC,EAAE;gBAC3B,KAAK,QAAQ;oBACT,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;oBACzB,MAAM;gBAEV,KAAK,QAAQ;oBACT,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACpC,MAAM;aACb;SACJ;QAED,IAAM,IAAI,GAAuB;YAC7B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,WAAuB;YACxE,IAAI,EAAE,IAAI;YACV,OAAO,SAAA;SACV,CAAC;QACF,IAAA,gCAAsB,GAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC;AACN,CAAC;AA5BD,wBA4BC","file":"Unique.js","sourcesContent":["import { getMetadataArgsStorage } from \"../globals\";\nimport { UniqueMetadataArgs } from \"../metadata-args/UniqueMetadataArgs\";\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(name: string, fields: string[]): ClassDecorator & PropertyDecorator;\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(fields: string[]): ClassDecorator & PropertyDecorator;\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(fields: (object?: any) => (any[] | { [key: string]: number })): ClassDecorator & PropertyDecorator;\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(name: string, fields: (object?: any) => (any[] | { [key: string]: number })): ClassDecorator & PropertyDecorator;\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(nameOrFields?: string | string[] | ((object: any) => (any[] | { [key: string]: number })),\n maybeFields?: ((object?: any) => (any[] | { [key: string]: number })) | string[]): ClassDecorator & PropertyDecorator {\n const name = typeof nameOrFields === \"string\" ? nameOrFields : undefined;\n const fields = typeof nameOrFields === \"string\" ? <((object?: any) => (any[] | { [key: string]: number })) | string[]>maybeFields : nameOrFields as string[];\n\n return function (clsOrObject: Function | Object, propertyName?: string | symbol) {\n\n let columns = fields;\n\n if (propertyName !== undefined) {\n switch (typeof (propertyName)) {\n case \"string\":\n columns = [propertyName];\n break;\n\n case \"symbol\":\n columns = [propertyName.toString()];\n break;\n }\n }\n\n const args: UniqueMetadataArgs = {\n target: propertyName ? clsOrObject.constructor : clsOrObject as Function,\n name: name,\n columns,\n };\n getMetadataArgsStorage().uniques.push(args);\n };\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/decorator/Unique.ts"],"names":[],"mappings":";;;AAAA,sCAAoD;AAwBpD;;GAEG;AACH,SAAgB,MAAM,CAAC,qBAAkH,EAClH,oBAAyG,EACzG,YAA4B;IAC/C,IAAM,IAAI,GAAG,OAAO,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,IAAM,MAAM,GAAG,OAAO,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAqE,oBAAoB,CAAC,CAAC,CAAC,qBAAiC,CAAC;IACxL,IAAI,OAAO,GAAG,CAAC,OAAO,qBAAqB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAsC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC3J,IAAI,CAAC,OAAO;QACR,OAAO,GAAG,CAAC,OAAO,oBAAoB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAqC,CAAC,CAAC,CAAC,YAAY,CAAC;IAExJ,OAAO,UAAU,WAA8B,EAAE,YAA8B;QAE3E,IAAI,OAAO,GAAG,MAAM,CAAC;QAErB,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,QAAQ,OAAO,CAAC,YAAY,CAAC,EAAE;gBAC3B,KAAK,QAAQ;oBACT,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;oBACzB,MAAM;gBAEV,KAAK,QAAQ;oBACT,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACpC,MAAM;aACb;SACJ;QAED,IAAM,IAAI,GAAuB;YAC7B,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,WAAuB;YACxE,IAAI,EAAE,IAAI;YACV,OAAO,SAAA;YACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACvD,CAAC;QACF,IAAA,gCAAsB,GAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC;AACN,CAAC;AAjCD,wBAiCC","file":"Unique.js","sourcesContent":["import { getMetadataArgsStorage } from \"../globals\";\nimport { UniqueMetadataArgs } from \"../metadata-args/UniqueMetadataArgs\";\nimport { UniqueOptions } from \"./options/UniqueOptions\";\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(name: string, fields: string[], options?: UniqueOptions): ClassDecorator & PropertyDecorator;\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(fields: string[], options?: UniqueOptions): ClassDecorator & PropertyDecorator;\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(fields: (object?: any) => (any[] | { [key: string]: number }), options?: UniqueOptions): ClassDecorator & PropertyDecorator;\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(name: string, fields: (object?: any) => (any[] | { [key: string]: number }), options?: UniqueOptions): ClassDecorator & PropertyDecorator;\n\n/**\n * Composite unique constraint must be set on entity classes and must specify entity's fields to be unique.\n */\nexport function Unique(nameOrFieldsOrOptions?: string | string[] | ((object: any) => (any[] | { [key: string]: number })) | UniqueOptions,\n maybeFieldsOrOptions?: ((object?: any) => (any[] | { [key: string]: number })) | string[] | UniqueOptions,\n maybeOptions?: UniqueOptions): ClassDecorator & PropertyDecorator {\n const name = typeof nameOrFieldsOrOptions === \"string\" ? nameOrFieldsOrOptions : undefined;\n const fields = typeof nameOrFieldsOrOptions === \"string\" ? <((object?: any) => (any[] | { [key: string]: number })) | string[]>maybeFieldsOrOptions : nameOrFieldsOrOptions as string[];\n let options = (typeof nameOrFieldsOrOptions === \"object\" && !Array.isArray(nameOrFieldsOrOptions)) ? nameOrFieldsOrOptions as UniqueOptions : maybeOptions;\n if (!options)\n options = (typeof maybeFieldsOrOptions === \"object\" && !Array.isArray(maybeFieldsOrOptions)) ? maybeFieldsOrOptions as UniqueOptions : maybeOptions;\n\n return function (clsOrObject: Function | Object, propertyName?: string | symbol) {\n\n let columns = fields;\n\n if (propertyName !== undefined) {\n switch (typeof (propertyName)) {\n case \"string\":\n columns = [propertyName];\n break;\n\n case \"symbol\":\n columns = [propertyName.toString()];\n break;\n }\n }\n\n const args: UniqueMetadataArgs = {\n target: propertyName ? clsOrObject.constructor : clsOrObject as Function,\n name: name,\n columns,\n deferrable: options ? options.deferrable : undefined,\n };\n getMetadataArgsStorage().uniques.push(args);\n };\n}\n"],"sourceRoot":".."}
@@ -0,0 +1,10 @@
1
+ import { DeferrableType } from "../../metadata/types/DeferrableType";
2
+ /**
3
+ * Describes all unique options.
4
+ */
5
+ export interface UniqueOptions {
6
+ /**
7
+ * Indicate if unique constraints can be deferred.
8
+ */
9
+ deferrable?: DeferrableType;
10
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+
4
+ //# sourceMappingURL=UniqueOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/decorator/options/UniqueOptions.ts"],"names":[],"mappings":"","file":"UniqueOptions.js","sourcesContent":["import { DeferrableType } from \"../../metadata/types/DeferrableType\";\n\n/**\n * Describes all unique options.\n */\nexport interface UniqueOptions {\n\n /**\n * Indicate if unique constraints can be deferred.\n */\n deferrable?: DeferrableType;\n\n}\n"],"sourceRoot":"../.."}
@@ -2750,7 +2750,8 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2750
2750
  var uniques = dbConstraints.filter(function (dbC) { return dbC["constraint_name"] === constraint["constraint_name"]; });
2751
2751
  return new TableUnique_1.TableUnique({
2752
2752
  name: constraint["constraint_name"],
2753
- columnNames: uniques.map(function (u) { return u["column_name"]; })
2753
+ columnNames: uniques.map(function (u) { return u["column_name"]; }),
2754
+ deferrable: constraint["deferrable"] ? constraint["deferred"] : undefined,
2754
2755
  });
2755
2756
  });
2756
2757
  tableCheckConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter(function (dbConstraint) {
@@ -2845,7 +2846,10 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2845
2846
  var uniquesSql = table.uniques.map(function (unique) {
2846
2847
  var uniqueName = unique.name ? unique.name : _this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames);
2847
2848
  var columnNames = unique.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
2848
- return "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
2849
+ var constraint = "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
2850
+ if (unique.deferrable)
2851
+ constraint += " DEFERRABLE " + unique.deferrable;
2852
+ return constraint;
2849
2853
  }).join(", ");
2850
2854
  sql += ", " + uniquesSql;
2851
2855
  }
@@ -3077,7 +3081,10 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
3077
3081
  */
3078
3082
  PostgresQueryRunner.prototype.createUniqueConstraintSql = function (table, uniqueConstraint) {
3079
3083
  var columnNames = uniqueConstraint.columnNames.map(function (column) { return "\"" + column + "\""; }).join(", ");
3080
- return new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (" + columnNames + ")");
3084
+ var sql = "ALTER TABLE " + this.escapePath(table) + " ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (" + columnNames + ")";
3085
+ if (uniqueConstraint.deferrable)
3086
+ sql += " DEFERRABLE " + uniqueConstraint.deferrable;
3087
+ return new Query_1.Query(sql);
3081
3088
  };
3082
3089
  /**
3083
3090
  * Builds drop unique constraint sql.