typeorm 0.3.18-dev.fdb9866 → 0.3.18

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 (269) hide show
  1. package/browser/cache/DbQueryResultCache.js +3 -0
  2. package/browser/cache/DbQueryResultCache.js.map +1 -1
  3. package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
  4. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  5. package/browser/data-source/DataSource.js +3 -0
  6. package/browser/data-source/DataSource.js.map +1 -1
  7. package/browser/decorator/entity/Entity.js +1 -0
  8. package/browser/decorator/entity/Entity.js.map +1 -1
  9. package/browser/decorator/options/EntityOptions.d.ts +4 -0
  10. package/browser/decorator/options/EntityOptions.js.map +1 -1
  11. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  12. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  13. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  14. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  15. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  16. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  17. package/browser/driver/capacitor/CapacitorDriver.js +2 -2
  18. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  19. package/browser/driver/capacitor/CapacitorQueryRunner.js +2 -2
  20. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  21. package/browser/driver/cockroachdb/CockroachDriver.js +20 -10
  22. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  23. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  24. package/browser/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  25. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  26. package/browser/driver/cordova/CordovaDriver.js +2 -2
  27. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  28. package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
  29. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  30. package/browser/driver/expo/ExpoQueryRunner.js +9 -2
  31. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  32. package/browser/driver/mongodb/MongoQueryRunner.d.ts +4 -0
  33. package/browser/driver/mongodb/MongoQueryRunner.js +6 -0
  34. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  35. package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  36. package/browser/driver/mysql/MysqlQueryRunner.js +47 -10
  37. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  38. package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  39. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  40. package/browser/driver/oracle/OracleDriver.js +6 -0
  41. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  42. package/browser/driver/oracle/OracleQueryRunner.d.ts +4 -0
  43. package/browser/driver/oracle/OracleQueryRunner.js +21 -5
  44. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  45. package/browser/driver/postgres/PostgresDriver.js +1 -4
  46. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  47. package/browser/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  48. package/browser/driver/postgres/PostgresQueryRunner.js +24 -7
  49. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  50. package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
  51. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  52. package/browser/driver/sap/SapQueryRunner.d.ts +4 -0
  53. package/browser/driver/sap/SapQueryRunner.js +28 -10
  54. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  55. package/browser/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  56. package/browser/driver/spanner/SpannerQueryRunner.js +13 -1
  57. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  58. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  59. package/browser/driver/sqlite/SqliteQueryRunner.js +60 -46
  60. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  61. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  62. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +16 -7
  63. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  64. package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
  65. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  66. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +0 -5
  67. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  68. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  69. package/browser/driver/sqlserver/SqlServerQueryRunner.js +19 -6
  70. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  71. package/browser/entity-manager/MongoEntityManager.js +4 -8
  72. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  73. package/browser/error/EntityNotFoundError.d.ts +2 -0
  74. package/browser/error/EntityNotFoundError.js +2 -0
  75. package/browser/error/EntityNotFoundError.js.map +1 -1
  76. package/browser/find-options/FindOperatorType.d.ts +1 -1
  77. package/browser/find-options/FindOperatorType.js.map +1 -1
  78. package/browser/find-options/operator/Or.d.ts +2 -0
  79. package/browser/find-options/operator/Or.js +6 -0
  80. package/browser/find-options/operator/Or.js.map +1 -0
  81. package/browser/index.d.ts +1 -0
  82. package/browser/index.js +1 -0
  83. package/browser/index.js.map +1 -1
  84. package/browser/logger/AbstractLogger.js +1 -1
  85. package/browser/logger/AbstractLogger.js.map +1 -1
  86. package/browser/metadata/ColumnMetadata.js +4 -0
  87. package/browser/metadata/ColumnMetadata.js.map +1 -1
  88. package/browser/metadata/EntityMetadata.d.ts +7 -3
  89. package/browser/metadata/EntityMetadata.js +8 -3
  90. package/browser/metadata/EntityMetadata.js.map +1 -1
  91. package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
  92. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  93. package/browser/persistence/SubjectExecutor.js +1 -1
  94. package/browser/persistence/SubjectExecutor.js.map +1 -1
  95. package/browser/platform/BrowserPlatformTools.d.ts +0 -7
  96. package/browser/platform/BrowserPlatformTools.js +3 -2
  97. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  98. package/browser/query-builder/InsertQueryBuilder.js +10 -1
  99. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  100. package/browser/query-builder/QueryBuilder.d.ts +5 -0
  101. package/browser/query-builder/QueryBuilder.js +35 -23
  102. package/browser/query-builder/QueryBuilder.js.map +1 -1
  103. package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
  104. package/browser/query-builder/QueryExpressionMap.js +0 -4
  105. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  106. package/browser/query-builder/SelectQueryBuilder.js +5 -1
  107. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  108. package/browser/query-builder/WhereClause.d.ts +1 -1
  109. package/browser/query-builder/WhereClause.js.map +1 -1
  110. package/browser/query-builder/index.d.ts +1 -0
  111. package/browser/query-builder/index.js +17 -0
  112. package/browser/query-builder/index.js.map +1 -0
  113. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  114. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  115. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  116. package/browser/query-runner/BaseQueryRunner.js +1 -0
  117. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  118. package/browser/query-runner/QueryRunner.d.ts +4 -0
  119. package/browser/query-runner/QueryRunner.js.map +1 -1
  120. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  121. package/browser/schema-builder/RdbmsSchemaBuilder.js +15 -0
  122. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  123. package/browser/schema-builder/options/TableOptions.d.ts +4 -0
  124. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  125. package/browser/schema-builder/table/Table.d.ts +4 -0
  126. package/browser/schema-builder/table/Table.js +3 -0
  127. package/browser/schema-builder/table/Table.js.map +1 -1
  128. package/browser/subscriber/Broadcaster.d.ts +10 -0
  129. package/browser/subscriber/Broadcaster.js +46 -0
  130. package/browser/subscriber/Broadcaster.js.map +1 -1
  131. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
  132. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  133. package/browser/subscriber/event/QueryEvent.d.ts +50 -0
  134. package/browser/subscriber/event/QueryEvent.js +3 -0
  135. package/browser/subscriber/event/QueryEvent.js.map +1 -0
  136. package/cache/DbQueryResultCache.js +3 -0
  137. package/cache/DbQueryResultCache.js.map +1 -1
  138. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  139. package/data-source/BaseDataSourceOptions.js.map +1 -1
  140. package/data-source/DataSource.js +3 -0
  141. package/data-source/DataSource.js.map +1 -1
  142. package/decorator/entity/Entity.js +1 -0
  143. package/decorator/entity/Entity.js.map +1 -1
  144. package/decorator/options/EntityOptions.d.ts +4 -0
  145. package/decorator/options/EntityOptions.js.map +1 -1
  146. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  147. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  148. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  149. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  150. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  151. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  152. package/driver/capacitor/CapacitorDriver.js +2 -2
  153. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  154. package/driver/capacitor/CapacitorQueryRunner.js +2 -2
  155. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  156. package/driver/cockroachdb/CockroachDriver.js +20 -10
  157. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  158. package/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  159. package/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  160. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  161. package/driver/cordova/CordovaDriver.js +2 -2
  162. package/driver/cordova/CordovaDriver.js.map +1 -1
  163. package/driver/cordova/CordovaQueryRunner.js +8 -0
  164. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  165. package/driver/expo/ExpoQueryRunner.js +9 -2
  166. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  167. package/driver/mongodb/MongoQueryRunner.d.ts +4 -0
  168. package/driver/mongodb/MongoQueryRunner.js +6 -0
  169. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  170. package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  171. package/driver/mysql/MysqlQueryRunner.js +47 -10
  172. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  173. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  174. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  175. package/driver/oracle/OracleDriver.js +6 -0
  176. package/driver/oracle/OracleDriver.js.map +1 -1
  177. package/driver/oracle/OracleQueryRunner.d.ts +4 -0
  178. package/driver/oracle/OracleQueryRunner.js +21 -5
  179. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  180. package/driver/postgres/PostgresDriver.js +1 -4
  181. package/driver/postgres/PostgresDriver.js.map +1 -1
  182. package/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  183. package/driver/postgres/PostgresQueryRunner.js +24 -7
  184. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  185. package/driver/react-native/ReactNativeQueryRunner.js +10 -2
  186. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  187. package/driver/sap/SapQueryRunner.d.ts +4 -0
  188. package/driver/sap/SapQueryRunner.js +28 -10
  189. package/driver/sap/SapQueryRunner.js.map +1 -1
  190. package/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  191. package/driver/spanner/SpannerQueryRunner.js +13 -1
  192. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  193. package/driver/sqlite/SqliteDriver.js.map +1 -1
  194. package/driver/sqlite/SqliteQueryRunner.js +60 -46
  195. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  196. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  197. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +16 -7
  198. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  199. package/driver/sqljs/SqljsQueryRunner.js +11 -3
  200. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  201. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +0 -5
  202. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  203. package/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  204. package/driver/sqlserver/SqlServerQueryRunner.js +19 -6
  205. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  206. package/entity-manager/MongoEntityManager.js +4 -8
  207. package/entity-manager/MongoEntityManager.js.map +1 -1
  208. package/error/EntityNotFoundError.d.ts +2 -0
  209. package/error/EntityNotFoundError.js +2 -0
  210. package/error/EntityNotFoundError.js.map +1 -1
  211. package/find-options/FindOperatorType.d.ts +1 -1
  212. package/find-options/FindOperatorType.js.map +1 -1
  213. package/find-options/operator/Or.d.ts +2 -0
  214. package/find-options/operator/Or.js +10 -0
  215. package/find-options/operator/Or.js.map +1 -0
  216. package/index.d.ts +1 -0
  217. package/index.js +1 -0
  218. package/index.js.map +1 -1
  219. package/index.mjs +2 -0
  220. package/logger/AbstractLogger.js +1 -1
  221. package/logger/AbstractLogger.js.map +1 -1
  222. package/metadata/ColumnMetadata.js +4 -0
  223. package/metadata/ColumnMetadata.js.map +1 -1
  224. package/metadata/EntityMetadata.d.ts +7 -3
  225. package/metadata/EntityMetadata.js +8 -3
  226. package/metadata/EntityMetadata.js.map +1 -1
  227. package/metadata-args/TableMetadataArgs.d.ts +4 -0
  228. package/metadata-args/TableMetadataArgs.js.map +1 -1
  229. package/package.json +273 -1
  230. package/persistence/SubjectExecutor.js +1 -1
  231. package/persistence/SubjectExecutor.js.map +1 -1
  232. package/query-builder/InsertQueryBuilder.js +10 -1
  233. package/query-builder/InsertQueryBuilder.js.map +1 -1
  234. package/query-builder/QueryBuilder.d.ts +5 -0
  235. package/query-builder/QueryBuilder.js +35 -23
  236. package/query-builder/QueryBuilder.js.map +1 -1
  237. package/query-builder/QueryExpressionMap.d.ts +2 -1
  238. package/query-builder/QueryExpressionMap.js +0 -4
  239. package/query-builder/QueryExpressionMap.js.map +1 -1
  240. package/query-builder/SelectQueryBuilder.js +5 -1
  241. package/query-builder/SelectQueryBuilder.js.map +1 -1
  242. package/query-builder/WhereClause.d.ts +1 -1
  243. package/query-builder/WhereClause.js.map +1 -1
  244. package/query-builder/index.d.ts +1 -0
  245. package/query-builder/index.js +21 -0
  246. package/query-builder/index.js.map +1 -0
  247. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  248. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  249. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  250. package/query-runner/BaseQueryRunner.js +1 -0
  251. package/query-runner/BaseQueryRunner.js.map +1 -1
  252. package/query-runner/QueryRunner.d.ts +4 -0
  253. package/query-runner/QueryRunner.js.map +1 -1
  254. package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  255. package/schema-builder/RdbmsSchemaBuilder.js +15 -0
  256. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  257. package/schema-builder/options/TableOptions.d.ts +4 -0
  258. package/schema-builder/options/TableOptions.js.map +1 -1
  259. package/schema-builder/table/Table.d.ts +4 -0
  260. package/schema-builder/table/Table.js +3 -0
  261. package/schema-builder/table/Table.js.map +1 -1
  262. package/subscriber/Broadcaster.d.ts +10 -0
  263. package/subscriber/Broadcaster.js +46 -0
  264. package/subscriber/Broadcaster.js.map +1 -1
  265. package/subscriber/EntitySubscriberInterface.d.ts +9 -0
  266. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  267. package/subscriber/event/QueryEvent.d.ts +50 -0
  268. package/subscriber/event/QueryEvent.js +4 -0
  269. package/subscriber/event/QueryEvent.js.map +1 -0
@@ -3,6 +3,7 @@ import { AbstractSqliteQueryRunner } from "../sqlite-abstract/AbstractSqliteQuer
3
3
  import { Broadcaster } from "../../subscriber/Broadcaster";
4
4
  import { QueryFailedError } from "../../error/QueryFailedError";
5
5
  import { QueryResult } from "../../query-runner/QueryResult";
6
+ import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
6
7
  /**
7
8
  * Runs queries on a single sqlite database connection.
8
9
  */
@@ -63,7 +64,9 @@ export class SqljsQueryRunner extends AbstractSqliteQueryRunner {
63
64
  throw new QueryRunnerAlreadyReleasedError();
64
65
  const command = query.trim().split(" ", 1)[0];
65
66
  const databaseConnection = this.driver.databaseConnection;
67
+ const broadcasterResult = new BroadcasterResult();
66
68
  this.driver.connection.logger.logQuery(query, parameters, this);
69
+ this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
67
70
  const queryStartTime = +new Date();
68
71
  let statement;
69
72
  try {
@@ -83,6 +86,7 @@ export class SqljsQueryRunner extends AbstractSqliteQueryRunner {
83
86
  while (statement.step()) {
84
87
  records.push(statement.getAsObject());
85
88
  }
89
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, records, undefined);
86
90
  const result = new QueryResult();
87
91
  result.affected = databaseConnection.getRowsModified();
88
92
  result.records = records;
@@ -98,12 +102,16 @@ export class SqljsQueryRunner extends AbstractSqliteQueryRunner {
98
102
  return result.raw;
99
103
  }
100
104
  }
101
- catch (e) {
105
+ catch (err) {
102
106
  if (statement) {
103
107
  statement.free();
104
108
  }
105
- this.driver.connection.logger.logQueryError(e, query, parameters, this);
106
- throw new QueryFailedError(query, parameters, e);
109
+ this.driver.connection.logger.logQueryError(err, query, parameters, this);
110
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
111
+ throw new QueryFailedError(query, parameters, err);
112
+ }
113
+ finally {
114
+ await broadcasterResult.wait();
107
115
  }
108
116
  }
109
117
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/sqljs/SqljsQueryRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAE5D;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,yBAAyB;IAW3D,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,YAAY,MAAmB;QAC3B,KAAK,EAAE,CAAA;QAfX;;WAEG;QACK,YAAO,GAAG,KAAK,CAAA;QAanB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,KAAK,CAAC,eAAe;QACjB,MAAM,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAChB,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAChD,CAAC;IAEO,KAAK,CAAC,KAAK;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;SACvB;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAClB,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB;QACnB,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;SACrB;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACP,KAAa,EACb,aAAoB,EAAE,EACtB,mBAAmB,GAAG,KAAK;QAE3B,IAAI,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,+BAA+B,EAAE,CAAA;QAEhE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAA;QACzD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QAC/D,MAAM,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;QAClC,IAAI,SAAc,CAAA;QAClB,IAAI;YACA,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI,UAAU,EAAE;gBACZ,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACtC,CAAA;gBAED,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;aAC7B;YAED,oDAAoD;YACpD,MAAM,qBAAqB,GACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAA;YAC7C,MAAM,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;YAChC,MAAM,kBAAkB,GAAG,YAAY,GAAG,cAAc,CAAA;YACxD,IACI,qBAAqB;gBACrB,kBAAkB,GAAG,qBAAqB;gBAE1C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CACtC,kBAAkB,EAClB,KAAK,EACL,UAAU,EACV,IAAI,CACP,CAAA;YAEL,MAAM,OAAO,GAAU,EAAE,CAAA;YAEzB,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;aACxC;YAED,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAA;YAEhC,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC,eAAe,EAAE,CAAA;YACtD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;YACxB,MAAM,CAAC,GAAG,GAAG,OAAO,CAAA;YAEpB,SAAS,CAAC,IAAI,EAAE,CAAA;YAEhB,IAAI,OAAO,KAAK,QAAQ,EAAE;gBACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;aACtB;YAED,IAAI,mBAAmB,EAAE;gBACrB,OAAO,MAAM,CAAA;aAChB;iBAAM;gBACH,OAAO,MAAM,CAAC,GAAG,CAAA;aACpB;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,IAAI,EAAE,CAAA;aACnB;YAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CACvC,CAAC,EACD,KAAK,EACL,UAAU,EACV,IAAI,CACP,CAAA;YACD,MAAM,IAAI,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;SACnD;IACL,CAAC;CACJ","file":"SqljsQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { SqljsDriver } from \"./SqljsDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class SqljsQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Flag to determine if a modification has happened since the last time this query runner has requested a save.\n */\n private isDirty = false\n\n /**\n * Database driver used by connection.\n */\n driver: SqljsDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: SqljsDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n // -------------------------------------------------------------------------\n // Public methods\n // -------------------------------------------------------------------------\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n private async flush() {\n if (this.isDirty) {\n await this.driver.autoSave()\n this.isDirty = false\n }\n }\n\n async release(): Promise<void> {\n await this.flush()\n return super.release()\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n async commitTransaction(): Promise<void> {\n await super.commitTransaction()\n if (!this.isTransactionActive) {\n await this.flush()\n }\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters: any[] = [],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const command = query.trim().split(\" \", 1)[0]\n\n const databaseConnection = this.driver.databaseConnection\n this.driver.connection.logger.logQuery(query, parameters, this)\n const queryStartTime = +new Date()\n let statement: any\n try {\n statement = databaseConnection.prepare(query)\n if (parameters) {\n parameters = parameters.map((p) =>\n typeof p !== \"undefined\" ? p : null,\n )\n\n statement.bind(parameters)\n }\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime =\n this.driver.options.maxQueryExecutionTime\n const queryEndTime = +new Date()\n const queryExecutionTime = queryEndTime - queryStartTime\n if (\n maxQueryExecutionTime &&\n queryExecutionTime > maxQueryExecutionTime\n )\n this.driver.connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n this,\n )\n\n const records: any[] = []\n\n while (statement.step()) {\n records.push(statement.getAsObject())\n }\n\n const result = new QueryResult()\n\n result.affected = databaseConnection.getRowsModified()\n result.records = records\n result.raw = records\n\n statement.free()\n\n if (command !== \"SELECT\") {\n this.isDirty = true\n }\n\n if (useStructuredResult) {\n return result\n } else {\n return result.raw\n }\n } catch (e) {\n if (statement) {\n statement.free()\n }\n\n this.driver.connection.logger.logQueryError(\n e,\n query,\n parameters,\n this,\n )\n throw new QueryFailedError(query, parameters, e)\n }\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/sqljs/SqljsQueryRunner.ts"],"names":[],"mappings":"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","file":"SqljsQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { SqljsDriver } from \"./SqljsDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\nimport { BroadcasterResult } from \"../../subscriber/BroadcasterResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class SqljsQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Flag to determine if a modification has happened since the last time this query runner has requested a save.\n */\n private isDirty = false\n\n /**\n * Database driver used by connection.\n */\n driver: SqljsDriver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: SqljsDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n // -------------------------------------------------------------------------\n // Public methods\n // -------------------------------------------------------------------------\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = OFF`)\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n await this.query(`PRAGMA foreign_keys = ON`)\n }\n\n private async flush() {\n if (this.isDirty) {\n await this.driver.autoSave()\n this.isDirty = false\n }\n }\n\n async release(): Promise<void> {\n await this.flush()\n return super.release()\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n async commitTransaction(): Promise<void> {\n await super.commitTransaction()\n if (!this.isTransactionActive) {\n await this.flush()\n }\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(\n query: string,\n parameters: any[] = [],\n useStructuredResult = false,\n ): Promise<any> {\n if (this.isReleased) throw new QueryRunnerAlreadyReleasedError()\n\n const command = query.trim().split(\" \", 1)[0]\n\n const databaseConnection = this.driver.databaseConnection\n const broadcasterResult = new BroadcasterResult()\n\n this.driver.connection.logger.logQuery(query, parameters, this)\n this.broadcaster.broadcastBeforeQueryEvent(\n broadcasterResult,\n query,\n parameters,\n )\n\n const queryStartTime = +new Date()\n let statement: any\n try {\n statement = databaseConnection.prepare(query)\n if (parameters) {\n parameters = parameters.map((p) =>\n typeof p !== \"undefined\" ? p : null,\n )\n\n statement.bind(parameters)\n }\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime =\n this.driver.options.maxQueryExecutionTime\n const queryEndTime = +new Date()\n const queryExecutionTime = queryEndTime - queryStartTime\n\n if (\n maxQueryExecutionTime &&\n queryExecutionTime > maxQueryExecutionTime\n )\n this.driver.connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n this,\n )\n\n const records: any[] = []\n\n while (statement.step()) {\n records.push(statement.getAsObject())\n }\n\n this.broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n true,\n queryExecutionTime,\n records,\n undefined,\n )\n\n const result = new QueryResult()\n\n result.affected = databaseConnection.getRowsModified()\n result.records = records\n result.raw = records\n\n statement.free()\n\n if (command !== \"SELECT\") {\n this.isDirty = true\n }\n\n if (useStructuredResult) {\n return result\n } else {\n return result.raw\n }\n } catch (err) {\n if (statement) {\n statement.free()\n }\n\n this.driver.connection.logger.logQueryError(\n err,\n query,\n parameters,\n this,\n )\n this.broadcaster.broadcastAfterQueryEvent(\n broadcasterResult,\n query,\n parameters,\n false,\n undefined,\n undefined,\n err,\n )\n\n throw new QueryFailedError(query, parameters, err)\n } finally {\n await broadcasterResult.wait()\n }\n }\n}\n"],"sourceRoot":"../.."}
@@ -50,11 +50,6 @@ export interface SqlServerConnectionOptions extends BaseDataSourceOptions, SqlSe
50
50
  * cycle of the event loop.
51
51
  */
52
52
  readonly maxWaitingClients?: number;
53
- /**
54
- * Should the pool validate resources before giving them to clients. Requires that either factory.validate or
55
- * factory.validateAsync to be specified
56
- */
57
- readonly testOnBorrow?: boolean;
58
53
  /**
59
54
  * Max milliseconds an acquire call will wait for a resource before timing out. (default no limit), if supplied should non-zero positive integer.
60
55
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/sqlserver/SqlServerConnectionOptions.ts"],"names":[],"mappings":"","file":"SqlServerConnectionOptions.js","sourcesContent":["import { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\nimport { SqlServerConnectionCredentialsOptions } from \"./SqlServerConnectionCredentialsOptions\"\n\n/**\n * Microsoft Sql Server specific connection options.\n */\nexport interface SqlServerConnectionOptions\n extends BaseDataSourceOptions,\n SqlServerConnectionCredentialsOptions {\n /**\n * Database type.\n */\n readonly type: \"mssql\"\n\n /**\n * Connection timeout in ms (default: 15000).\n */\n readonly connectionTimeout?: number\n\n /**\n * Request timeout in ms (default: 15000). NOTE: msnodesqlv8 driver doesn't support timeouts < 1 second.\n */\n readonly requestTimeout?: number\n\n /**\n * Stream recordsets/rows instead of returning them all at once as an argument of callback (default: false).\n * You can also enable streaming for each request independently (request.stream = true).\n * Always set to true if you plan to work with large amount of rows.\n */\n readonly stream?: boolean\n\n /**\n * Database schema.\n */\n readonly schema?: string\n\n /**\n * The driver object\n * This defaults to `require(\"mssql\")`\n */\n readonly driver?: any\n\n /**\n * An optional object/dictionary with the any of the properties\n */\n readonly pool?: {\n /**\n * Maximum number of resources to create at any given time. (default=1)\n */\n readonly max?: number\n\n /**\n * Minimum number of resources to keep in pool at any given time. If this is set >= max, the pool will silently\n * set the min to equal max. (default=0)\n */\n readonly min?: number\n\n /**\n * Maximum number of queued requests allowed, additional acquire calls will be callback with an err in a future\n * cycle of the event loop.\n */\n readonly maxWaitingClients?: number\n\n /**\n * Should the pool validate resources before giving them to clients. Requires that either factory.validate or\n * factory.validateAsync to be specified\n */\n readonly testOnBorrow?: boolean\n\n /**\n * Max milliseconds an acquire call will wait for a resource before timing out. (default no limit), if supplied should non-zero positive integer.\n */\n readonly acquireTimeoutMillis?: number\n\n /**\n * If true the oldest resources will be first to be allocated. If false the most recently released resources will\n * be the first to be allocated. This in effect turns the pool's behaviour from a queue into a stack. boolean,\n * (default true)\n */\n readonly fifo?: boolean\n\n /**\n * Int between 1 and x - if set, borrowers can specify their relative priority in the queue if no resources\n * are available. see example. (default 1)\n */\n readonly priorityRange?: number\n\n /**\n * How often to run eviction checks. Default: 0 (does not run).\n */\n readonly evictionRunIntervalMillis?: number\n\n /**\n * Number of resources to check each eviction run. Default: 3.\n */\n readonly numTestsPerRun?: number\n\n /**\n * Amount of time an object may sit idle in the pool before it is eligible for eviction by the idle object\n * evictor (if any), with the extra condition that at least \"min idle\" object instances remain in the pool.\n * Default -1 (nothing can get evicted)\n */\n readonly softIdleTimeoutMillis?: number\n\n /**\n * The minimum amount of time that an object may sit idle in the pool before it is eligible for eviction due\n * to idle time. Supercedes softIdleTimeoutMillis Default: 30000\n */\n readonly idleTimeoutMillis?: number\n\n /*\n * Function handling errors thrown by drivers pool.\n * Defaults to logging error with `warn` level.\n */\n readonly errorHandler?: (err: any) => any\n }\n\n /**\n * Extra options\n */\n readonly options?: {\n /**\n * The named instance to connect to\n */\n readonly instanceName?: string\n\n /**\n * By default, if the database requestion by options.database cannot be accessed, the connection will fail with\n * an error. However, if options.fallbackToDefaultDb is set to true, then the user's default database will\n * be used instead (Default: false).\n */\n readonly fallbackToDefaultDb?: boolean\n\n /**\n * If true, SET ANSI_NULL_DFLT_ON ON will be set in the initial sql. This means new columns will be nullable by\n * default. See the T-SQL documentation for more details. (Default: true).\n */\n readonly enableAnsiNullDefault?: boolean\n\n /**\n * The number of milliseconds before the attempt to connect is considered failed (default: 15000).\n */\n readonly connectTimeout?: number\n\n /**\n * The number of milliseconds before the cancel (abort) of a request is considered failed (default: 5000).\n */\n readonly cancelTimeout?: number\n\n /**\n * The size of TDS packets (subject to negotiation with the server). Should be a power of 2. (default: 4096).\n */\n readonly packetSize?: number\n\n /**\n * A boolean determining whether to pass time values in UTC or local time. (default: false).\n */\n readonly useUTC?: boolean\n\n /**\n * A boolean determining whether to rollback a transaction automatically if any error is encountered during\n * the given transaction's execution. This sets the value for SET XACT_ABORT during the initial SQL phase\n * of a connection (documentation).\n */\n readonly abortTransactionOnError?: boolean\n\n /**\n * A string indicating which network interface (ip address) to use when connecting to SQL Server.\n */\n readonly localAddress?: string\n\n /**\n * A boolean determining whether to return rows as arrays or key-value collections. (default: false).\n */\n readonly useColumnNames?: boolean\n\n /**\n * A boolean, controlling whether the column names returned will have the first letter converted to lower case\n * (true) or not. This value is ignored if you provide a columnNameReplacer. (default: false).\n */\n readonly camelCaseColumns?: boolean\n\n /**\n * A boolean, controlling whatever to disable RETURNING / OUTPUT statements.\n */\n readonly disableOutputReturning?: boolean\n\n /**\n * A boolean, controlling whether MssqlParameter types char, varchar, and text are converted to their unicode equivalents, nchar, nvarchar, and ntext.\n * (default: false, meaning that char/varchar/text parameters will be converted to nchar/nvarchar/ntext)\n */\n readonly disableAsciiToUnicodeParamConversion?: boolean\n\n /**\n * Debug options\n */\n readonly debug?: {\n /**\n * A boolean, controlling whether debug events will be emitted with text describing packet details\n * (default: false).\n */\n readonly packet?: boolean\n\n /**\n * A boolean, controlling whether debug events will be emitted with text describing packet data details\n * (default: false).\n */\n readonly data?: boolean\n\n /**\n * A boolean, controlling whether debug events will be emitted with text describing packet payload details\n * (default: false).\n */\n readonly payload?: boolean\n\n /**\n * A boolean, controlling whether debug events will be emitted with text describing token stream tokens\n * (default: false).\n */\n readonly token?: boolean\n }\n\n /**\n * The default isolation level that transactions will be run with. The isolation levels are available\n * from require('tedious').ISOLATION_LEVEL. (default: READ_COMMITTED).\n */\n readonly isolation?:\n | \"READ_UNCOMMITTED\"\n | \"READ_COMMITTED\"\n | \"REPEATABLE_READ\"\n | \"SERIALIZABLE\"\n | \"SNAPSHOT\"\n\n /**\n * The default isolation level for new connections. All out-of-transaction queries are executed with this\n * setting. The isolation levels are available from require('tedious').ISOLATION_LEVEL .\n */\n readonly connectionIsolationLevel?:\n | \"READ_UNCOMMITTED\"\n | \"READ_COMMITTED\"\n | \"REPEATABLE_READ\"\n | \"SERIALIZABLE\"\n | \"SNAPSHOT\"\n\n /**\n * A boolean, determining whether the connection will request read only access from a SQL Server\n * Availability Group. For more information, see here. (default: false).\n */\n readonly readOnlyIntent?: boolean\n\n /**\n * A boolean determining whether or not the connection will be encrypted. Set to true if you're on\n * Windows Azure. (default: true).\n */\n readonly encrypt?: boolean\n\n /**\n * When encryption is used, an object may be supplied that will be used for the first argument when calling\n * tls.createSecurePair (default: {}).\n */\n readonly cryptoCredentialsDetails?: any\n\n /**\n * A boolean, that when true will expose received rows in Requests' done* events. See done, doneInProc and\n * doneProc. (default: false)\n * Caution: If many row are received, enabling this option could result in excessive memory usage.\n */\n readonly rowCollectionOnDone?: boolean\n\n /**\n * A boolean, that when true will expose received rows in Requests' completion callback. See new Request. (default: false)\n * Caution: If many row are received, enabling this option could result in excessive memory usage.\n */\n readonly rowCollectionOnRequestCompletion?: boolean\n\n /**\n * The version of TDS to use. If server doesn't support specified version, negotiated version is used instead.\n * The versions are available from require('tedious').TDS_VERSION. (default: 7_4).\n */\n readonly tdsVersion?: string\n\n /**\n * A boolean, that when true will abort a query when an overflow or divide-by-zero error occurs during query execution.\n */\n readonly enableArithAbort?: boolean\n\n /**\n * Application name used for identifying a specific application in profiling, logging or tracing tools of SQL Server.\n * (default: node-mssql)\n */\n readonly appName?: string\n\n /**\n * A boolean, controlling whether encryption occurs if there is no verifiable server certificate.\n * (default: false)\n */\n readonly trustServerCertificate?: boolean\n }\n\n /**\n * Replication setup.\n */\n readonly replication?: {\n /**\n * Master server used by orm to perform writes.\n */\n readonly master: SqlServerConnectionCredentialsOptions\n\n /**\n * List of read-from severs (slaves).\n */\n readonly slaves: SqlServerConnectionCredentialsOptions[]\n\n /**\n * Default connection pool to use for SELECT queries\n * @default \"slave\"\n */\n readonly defaultMode?: ReplicationMode\n }\n\n readonly poolSize?: never\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/sqlserver/SqlServerConnectionOptions.ts"],"names":[],"mappings":"","file":"SqlServerConnectionOptions.js","sourcesContent":["import { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\nimport { SqlServerConnectionCredentialsOptions } from \"./SqlServerConnectionCredentialsOptions\"\n\n/**\n * Microsoft Sql Server specific connection options.\n */\nexport interface SqlServerConnectionOptions\n extends BaseDataSourceOptions,\n SqlServerConnectionCredentialsOptions {\n /**\n * Database type.\n */\n readonly type: \"mssql\"\n\n /**\n * Connection timeout in ms (default: 15000).\n */\n readonly connectionTimeout?: number\n\n /**\n * Request timeout in ms (default: 15000). NOTE: msnodesqlv8 driver doesn't support timeouts < 1 second.\n */\n readonly requestTimeout?: number\n\n /**\n * Stream recordsets/rows instead of returning them all at once as an argument of callback (default: false).\n * You can also enable streaming for each request independently (request.stream = true).\n * Always set to true if you plan to work with large amount of rows.\n */\n readonly stream?: boolean\n\n /**\n * Database schema.\n */\n readonly schema?: string\n\n /**\n * The driver object\n * This defaults to `require(\"mssql\")`\n */\n readonly driver?: any\n\n /**\n * An optional object/dictionary with the any of the properties\n */\n readonly pool?: {\n /**\n * Maximum number of resources to create at any given time. (default=1)\n */\n readonly max?: number\n\n /**\n * Minimum number of resources to keep in pool at any given time. If this is set >= max, the pool will silently\n * set the min to equal max. (default=0)\n */\n readonly min?: number\n\n /**\n * Maximum number of queued requests allowed, additional acquire calls will be callback with an err in a future\n * cycle of the event loop.\n */\n readonly maxWaitingClients?: number\n\n /**\n * Max milliseconds an acquire call will wait for a resource before timing out. (default no limit), if supplied should non-zero positive integer.\n */\n readonly acquireTimeoutMillis?: number\n\n /**\n * If true the oldest resources will be first to be allocated. If false the most recently released resources will\n * be the first to be allocated. This in effect turns the pool's behaviour from a queue into a stack. boolean,\n * (default true)\n */\n readonly fifo?: boolean\n\n /**\n * Int between 1 and x - if set, borrowers can specify their relative priority in the queue if no resources\n * are available. see example. (default 1)\n */\n readonly priorityRange?: number\n\n /**\n * How often to run eviction checks. Default: 0 (does not run).\n */\n readonly evictionRunIntervalMillis?: number\n\n /**\n * Number of resources to check each eviction run. Default: 3.\n */\n readonly numTestsPerRun?: number\n\n /**\n * Amount of time an object may sit idle in the pool before it is eligible for eviction by the idle object\n * evictor (if any), with the extra condition that at least \"min idle\" object instances remain in the pool.\n * Default -1 (nothing can get evicted)\n */\n readonly softIdleTimeoutMillis?: number\n\n /**\n * The minimum amount of time that an object may sit idle in the pool before it is eligible for eviction due\n * to idle time. Supercedes softIdleTimeoutMillis Default: 30000\n */\n readonly idleTimeoutMillis?: number\n\n /*\n * Function handling errors thrown by drivers pool.\n * Defaults to logging error with `warn` level.\n */\n readonly errorHandler?: (err: any) => any\n }\n\n /**\n * Extra options\n */\n readonly options?: {\n /**\n * The named instance to connect to\n */\n readonly instanceName?: string\n\n /**\n * By default, if the database requestion by options.database cannot be accessed, the connection will fail with\n * an error. However, if options.fallbackToDefaultDb is set to true, then the user's default database will\n * be used instead (Default: false).\n */\n readonly fallbackToDefaultDb?: boolean\n\n /**\n * If true, SET ANSI_NULL_DFLT_ON ON will be set in the initial sql. This means new columns will be nullable by\n * default. See the T-SQL documentation for more details. (Default: true).\n */\n readonly enableAnsiNullDefault?: boolean\n\n /**\n * The number of milliseconds before the attempt to connect is considered failed (default: 15000).\n */\n readonly connectTimeout?: number\n\n /**\n * The number of milliseconds before the cancel (abort) of a request is considered failed (default: 5000).\n */\n readonly cancelTimeout?: number\n\n /**\n * The size of TDS packets (subject to negotiation with the server). Should be a power of 2. (default: 4096).\n */\n readonly packetSize?: number\n\n /**\n * A boolean determining whether to pass time values in UTC or local time. (default: false).\n */\n readonly useUTC?: boolean\n\n /**\n * A boolean determining whether to rollback a transaction automatically if any error is encountered during\n * the given transaction's execution. This sets the value for SET XACT_ABORT during the initial SQL phase\n * of a connection (documentation).\n */\n readonly abortTransactionOnError?: boolean\n\n /**\n * A string indicating which network interface (ip address) to use when connecting to SQL Server.\n */\n readonly localAddress?: string\n\n /**\n * A boolean determining whether to return rows as arrays or key-value collections. (default: false).\n */\n readonly useColumnNames?: boolean\n\n /**\n * A boolean, controlling whether the column names returned will have the first letter converted to lower case\n * (true) or not. This value is ignored if you provide a columnNameReplacer. (default: false).\n */\n readonly camelCaseColumns?: boolean\n\n /**\n * A boolean, controlling whatever to disable RETURNING / OUTPUT statements.\n */\n readonly disableOutputReturning?: boolean\n\n /**\n * A boolean, controlling whether MssqlParameter types char, varchar, and text are converted to their unicode equivalents, nchar, nvarchar, and ntext.\n * (default: false, meaning that char/varchar/text parameters will be converted to nchar/nvarchar/ntext)\n */\n readonly disableAsciiToUnicodeParamConversion?: boolean\n\n /**\n * Debug options\n */\n readonly debug?: {\n /**\n * A boolean, controlling whether debug events will be emitted with text describing packet details\n * (default: false).\n */\n readonly packet?: boolean\n\n /**\n * A boolean, controlling whether debug events will be emitted with text describing packet data details\n * (default: false).\n */\n readonly data?: boolean\n\n /**\n * A boolean, controlling whether debug events will be emitted with text describing packet payload details\n * (default: false).\n */\n readonly payload?: boolean\n\n /**\n * A boolean, controlling whether debug events will be emitted with text describing token stream tokens\n * (default: false).\n */\n readonly token?: boolean\n }\n\n /**\n * The default isolation level that transactions will be run with. The isolation levels are available\n * from require('tedious').ISOLATION_LEVEL. (default: READ_COMMITTED).\n */\n readonly isolation?:\n | \"READ_UNCOMMITTED\"\n | \"READ_COMMITTED\"\n | \"REPEATABLE_READ\"\n | \"SERIALIZABLE\"\n | \"SNAPSHOT\"\n\n /**\n * The default isolation level for new connections. All out-of-transaction queries are executed with this\n * setting. The isolation levels are available from require('tedious').ISOLATION_LEVEL .\n */\n readonly connectionIsolationLevel?:\n | \"READ_UNCOMMITTED\"\n | \"READ_COMMITTED\"\n | \"REPEATABLE_READ\"\n | \"SERIALIZABLE\"\n | \"SNAPSHOT\"\n\n /**\n * A boolean, determining whether the connection will request read only access from a SQL Server\n * Availability Group. For more information, see here. (default: false).\n */\n readonly readOnlyIntent?: boolean\n\n /**\n * A boolean determining whether or not the connection will be encrypted. Set to true if you're on\n * Windows Azure. (default: true).\n */\n readonly encrypt?: boolean\n\n /**\n * When encryption is used, an object may be supplied that will be used for the first argument when calling\n * tls.createSecurePair (default: {}).\n */\n readonly cryptoCredentialsDetails?: any\n\n /**\n * A boolean, that when true will expose received rows in Requests' done* events. See done, doneInProc and\n * doneProc. (default: false)\n * Caution: If many row are received, enabling this option could result in excessive memory usage.\n */\n readonly rowCollectionOnDone?: boolean\n\n /**\n * A boolean, that when true will expose received rows in Requests' completion callback. See new Request. (default: false)\n * Caution: If many row are received, enabling this option could result in excessive memory usage.\n */\n readonly rowCollectionOnRequestCompletion?: boolean\n\n /**\n * The version of TDS to use. If server doesn't support specified version, negotiated version is used instead.\n * The versions are available from require('tedious').TDS_VERSION. (default: 7_4).\n */\n readonly tdsVersion?: string\n\n /**\n * A boolean, that when true will abort a query when an overflow or divide-by-zero error occurs during query execution.\n */\n readonly enableArithAbort?: boolean\n\n /**\n * Application name used for identifying a specific application in profiling, logging or tracing tools of SQL Server.\n * (default: node-mssql)\n */\n readonly appName?: string\n\n /**\n * A boolean, controlling whether encryption occurs if there is no verifiable server certificate.\n * (default: false)\n */\n readonly trustServerCertificate?: boolean\n }\n\n /**\n * Replication setup.\n */\n readonly replication?: {\n /**\n * Master server used by orm to perform writes.\n */\n readonly master: SqlServerConnectionCredentialsOptions\n\n /**\n * List of read-from severs (slaves).\n */\n readonly slaves: SqlServerConnectionCredentialsOptions[]\n\n /**\n * Default connection pool to use for SELECT queries\n * @default \"slave\"\n */\n readonly defaultMode?: ReplicationMode\n }\n\n readonly poolSize?: never\n}\n"],"sourceRoot":"../.."}
@@ -355,4 +355,8 @@ export declare class SqlServerQueryRunner extends BaseQueryRunner implements Que
355
355
  * The underlying mssql driver requires an enum for the isolation level.
356
356
  */
357
357
  convertIsolationLevel(isolation: IsolationLevel): any;
358
+ /**
359
+ * Change table comment.
360
+ */
361
+ changeTableComment(tableOrName: Table | string, comment?: string): Promise<void>;
358
362
  }
@@ -17,6 +17,7 @@ import { TypeORMError } from "../../error";
17
17
  import { QueryLock } from "../../query-runner/QueryLock";
18
18
  import { MetadataTableType } from "../types/MetadataTableType";
19
19
  import { InstanceChecker } from "../../util/InstanceChecker";
20
+ import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
20
21
  /**
21
22
  * Runs queries on a single SQL Server database connection.
22
23
  */
@@ -76,6 +77,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
76
77
  ok();
77
78
  };
78
79
  if (this.transactionDepth === 0) {
80
+ this.transactionDepth += 1;
79
81
  const pool = await (this.mode === "slave"
80
82
  ? this.driver.obtainSlaveConnection()
81
83
  : this.driver.obtainMasterConnection());
@@ -90,10 +92,10 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
90
92
  }
91
93
  }
92
94
  else {
93
- await this.query(`SAVE TRANSACTION typeorm_${this.transactionDepth}`);
95
+ this.transactionDepth += 1;
96
+ await this.query(`SAVE TRANSACTION typeorm_${this.transactionDepth - 1}`);
94
97
  ok();
95
98
  }
96
- this.transactionDepth += 1;
97
99
  });
98
100
  await this.broadcaster.broadcast("AfterTransactionStart");
99
101
  }
@@ -109,6 +111,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
109
111
  await this.broadcaster.broadcast("BeforeTransactionCommit");
110
112
  if (this.transactionDepth === 1) {
111
113
  return new Promise((ok, fail) => {
114
+ this.transactionDepth -= 1;
112
115
  this.databaseConnection.commit(async (err) => {
113
116
  if (err)
114
117
  return fail(err);
@@ -117,7 +120,6 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
117
120
  await this.broadcaster.broadcast("AfterTransactionCommit");
118
121
  ok();
119
122
  this.connection.logger.logQuery("COMMIT");
120
- this.transactionDepth -= 1;
121
123
  });
122
124
  });
123
125
  }
@@ -134,11 +136,12 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
134
136
  throw new TransactionNotStartedError();
135
137
  await this.broadcaster.broadcast("BeforeTransactionRollback");
136
138
  if (this.transactionDepth > 1) {
137
- await this.query(`ROLLBACK TRANSACTION typeorm_${this.transactionDepth - 1}`);
138
139
  this.transactionDepth -= 1;
140
+ await this.query(`ROLLBACK TRANSACTION typeorm_${this.transactionDepth}`);
139
141
  }
140
142
  else {
141
143
  return new Promise((ok, fail) => {
144
+ this.transactionDepth -= 1;
142
145
  this.databaseConnection.rollback(async (err) => {
143
146
  if (err)
144
147
  return fail(err);
@@ -147,7 +150,6 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
147
150
  await this.broadcaster.broadcast("AfterTransactionRollback");
148
151
  ok();
149
152
  this.connection.logger.logQuery("ROLLBACK");
150
- this.transactionDepth -= 1;
151
153
  });
152
154
  });
153
155
  }
@@ -159,8 +161,10 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
159
161
  if (this.isReleased)
160
162
  throw new QueryRunnerAlreadyReleasedError();
161
163
  const release = await this.lock.acquire();
164
+ const broadcasterResult = new BroadcasterResult();
162
165
  try {
163
166
  this.driver.connection.logger.logQuery(query, parameters, this);
167
+ this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
164
168
  const pool = await (this.mode === "slave"
165
169
  ? this.driver.obtainSlaveConnection()
166
170
  : this.driver.obtainMasterConnection());
@@ -189,6 +193,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
189
193
  const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
190
194
  const queryEndTime = +new Date();
191
195
  const queryExecutionTime = queryEndTime - queryStartTime;
196
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
192
197
  if (maxQueryExecutionTime &&
193
198
  queryExecutionTime > maxQueryExecutionTime) {
194
199
  this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
@@ -224,9 +229,11 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
224
229
  }
225
230
  catch (err) {
226
231
  this.driver.connection.logger.logQueryError(err, query, parameters, this);
232
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
227
233
  throw err;
228
234
  }
229
235
  finally {
236
+ await broadcasterResult.wait();
230
237
  release();
231
238
  }
232
239
  }
@@ -1921,7 +1928,7 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
1921
1928
  ? "STORED"
1922
1929
  : "VIRTUAL";
1923
1930
  // We cannot relay on information_schema.columns.generation_expression, because it is formatted different.
1924
- const asExpressionQuery = await this.selectTypeormMetadataSql({
1931
+ const asExpressionQuery = this.selectTypeormMetadataSql({
1925
1932
  database: dbTable["TABLE_CATALOG"],
1926
1933
  schema: dbTable["TABLE_SCHEMA"],
1927
1934
  table: dbTable["TABLE_NAME"],
@@ -2461,6 +2468,12 @@ export class SqlServerQueryRunner extends BaseQueryRunner {
2461
2468
  return ISOLATION_LEVEL.READ_COMMITTED;
2462
2469
  }
2463
2470
  }
2471
+ /**
2472
+ * Change table comment.
2473
+ */
2474
+ changeTableComment(tableOrName, comment) {
2475
+ throw new TypeORMError(`sqlserver driver does not support change table comment.`);
2476
+ }
2464
2477
  }
2465
2478
 
2466
2479
  //# sourceMappingURL=SqlServerQueryRunner.js.map