typeorm 0.3.6 → 0.3.7-dev.ec23922

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 (307) hide show
  1. package/README.md +1 -1
  2. package/browser/cache/RedisQueryResultCache.js +3 -0
  3. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  4. package/browser/cli-ts-node-commonjs.js +0 -0
  5. package/browser/cli-ts-node-esm.js +0 -0
  6. package/browser/decorator/options/ColumnOptions.d.ts +10 -2
  7. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  8. package/browser/decorator/options/JoinColumnOptions.d.ts +4 -0
  9. package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
  10. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +4 -0
  11. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  12. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +4 -0
  13. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  14. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.d.ts +4 -0
  15. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  16. package/browser/decorator/relations/JoinColumn.js +1 -0
  17. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  18. package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +1 -1
  19. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  20. package/browser/driver/cockroachdb/CockroachDriver.js +4 -1
  21. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  22. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +3 -3
  23. package/browser/driver/cockroachdb/CockroachQueryRunner.js +233 -33
  24. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  25. package/browser/driver/expo/ExpoQueryRunner.js +8 -21
  26. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  27. package/browser/driver/mongodb/typings.d.ts +5 -5
  28. package/browser/driver/mongodb/typings.js.map +1 -1
  29. package/browser/driver/mysql/MysqlDriver.d.ts +1 -0
  30. package/browser/driver/mysql/MysqlDriver.js +94 -23
  31. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  32. package/browser/driver/mysql/MysqlQueryRunner.js +219 -24
  33. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  34. package/browser/driver/oracle/OracleDriver.js +79 -15
  35. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  36. package/browser/driver/oracle/OracleQueryRunner.d.ts +3 -3
  37. package/browser/driver/oracle/OracleQueryRunner.js +216 -42
  38. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  39. package/browser/driver/postgres/PostgresDriver.js +95 -18
  40. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  41. package/browser/driver/postgres/PostgresQueryRunner.d.ts +3 -3
  42. package/browser/driver/postgres/PostgresQueryRunner.js +159 -59
  43. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  44. package/browser/driver/spanner/SpannerDriver.d.ts +1 -0
  45. package/browser/driver/spanner/SpannerDriver.js +52 -13
  46. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  47. package/browser/driver/spanner/SpannerQueryRunner.js +129 -43
  48. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  49. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +65 -16
  50. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  51. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +218 -32
  52. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  53. package/browser/driver/sqlserver/SqlServerDriver.d.ts +3 -1
  54. package/browser/driver/sqlserver/SqlServerDriver.js +99 -26
  55. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  56. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +3 -3
  57. package/browser/driver/sqlserver/SqlServerQueryRunner.js +251 -37
  58. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  59. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +1 -1
  60. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  61. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +2 -2
  62. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  63. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +2 -2
  64. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  65. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +2 -2
  66. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  67. package/browser/entity-manager/EntityManager.js +1 -1
  68. package/browser/entity-manager/EntityManager.js.map +1 -1
  69. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +6 -2
  70. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  71. package/browser/entity-schema/EntitySchemaOptions.d.ts +7 -0
  72. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  73. package/browser/entity-schema/EntitySchemaRelationIdOptions.d.ts +15 -0
  74. package/browser/entity-schema/EntitySchemaRelationIdOptions.js +3 -0
  75. package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -0
  76. package/browser/entity-schema/EntitySchemaTransformer.js +16 -0
  77. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  78. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  79. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  80. package/browser/index.d.ts +2 -0
  81. package/browser/index.js.map +1 -1
  82. package/browser/metadata/ColumnMetadata.d.ts +10 -2
  83. package/browser/metadata/ColumnMetadata.js +8 -0
  84. package/browser/metadata/ColumnMetadata.js.map +1 -1
  85. package/browser/metadata/EntityMetadata.js +1 -1
  86. package/browser/metadata/EntityMetadata.js.map +1 -1
  87. package/browser/metadata/ForeignKeyMetadata.d.ts +7 -0
  88. package/browser/metadata/ForeignKeyMetadata.js +4 -1
  89. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  90. package/browser/metadata-args/JoinColumnMetadataArgs.d.ts +4 -0
  91. package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  92. package/browser/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
  93. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  94. package/browser/metadata-builder/EntityMetadataValidator.js +17 -0
  95. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  96. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +5 -0
  97. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  98. package/browser/metadata-builder/RelationJoinColumnBuilder.js +2 -0
  99. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  100. package/browser/migration/MigrationExecutor.js +1 -1
  101. package/browser/migration/MigrationExecutor.js.map +1 -1
  102. package/browser/persistence/SubjectDatabaseEntityLoader.d.ts +1 -1
  103. package/browser/persistence/SubjectDatabaseEntityLoader.js +1 -1
  104. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  105. package/browser/persistence/SubjectExecutor.js +1 -1
  106. package/browser/persistence/SubjectExecutor.js.map +1 -1
  107. package/browser/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
  108. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +1 -1
  109. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  110. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +1 -1
  111. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  112. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  113. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  114. package/browser/query-builder/QueryBuilder.d.ts +1 -1
  115. package/browser/query-builder/QueryBuilder.js +15 -15
  116. package/browser/query-builder/QueryBuilder.js.map +1 -1
  117. package/browser/query-builder/QueryExpressionMap.d.ts +1 -1
  118. package/browser/query-builder/QueryExpressionMap.js +1 -1
  119. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  120. package/browser/query-builder/ReturningResultsEntityUpdator.js +2 -2
  121. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  122. package/browser/query-runner/BaseQueryRunner.d.ts +10 -0
  123. package/browser/query-runner/BaseQueryRunner.js +25 -1
  124. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  125. package/browser/query-runner/QueryRunner.d.ts +2 -2
  126. package/browser/query-runner/QueryRunner.js.map +1 -1
  127. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +6 -2
  128. package/browser/schema-builder/RdbmsSchemaBuilder.js +11 -5
  129. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  130. package/browser/schema-builder/options/TableColumnOptions.d.ts +10 -2
  131. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  132. package/browser/schema-builder/options/TableForeignKeyOptions.d.ts +1 -1
  133. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  134. package/browser/schema-builder/table/TableColumn.d.ts +6 -2
  135. package/browser/schema-builder/table/TableColumn.js +2 -0
  136. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  137. package/browser/schema-builder/util/TableUtils.js +1 -0
  138. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  139. package/browser/util/OrmUtils.d.ts +1 -1
  140. package/browser/util/OrmUtils.js +4 -4
  141. package/browser/util/OrmUtils.js.map +1 -1
  142. package/browser/util/escapeRegExp.d.ts +1 -0
  143. package/browser/util/escapeRegExp.js +6 -0
  144. package/browser/util/escapeRegExp.js.map +1 -0
  145. package/cache/RedisQueryResultCache.js +3 -0
  146. package/cache/RedisQueryResultCache.js.map +1 -1
  147. package/cli-ts-node-commonjs.js +0 -0
  148. package/cli-ts-node-esm.js +0 -0
  149. package/cli.js +0 -0
  150. package/commands/CacheClearCommand.js +1 -1
  151. package/commands/CacheClearCommand.js.map +1 -1
  152. package/commands/InitCommand.js +25 -5
  153. package/commands/InitCommand.js.map +1 -1
  154. package/commands/MigrationGenerateCommand.js +3 -2
  155. package/commands/MigrationGenerateCommand.js.map +1 -1
  156. package/commands/MigrationRevertCommand.js +1 -1
  157. package/commands/MigrationRevertCommand.js.map +1 -1
  158. package/commands/MigrationRunCommand.js +1 -1
  159. package/commands/MigrationRunCommand.js.map +1 -1
  160. package/commands/MigrationShowCommand.js +1 -1
  161. package/commands/MigrationShowCommand.js.map +1 -1
  162. package/commands/QueryCommand.js +1 -1
  163. package/commands/QueryCommand.js.map +1 -1
  164. package/commands/SchemaDropCommand.js +1 -1
  165. package/commands/SchemaDropCommand.js.map +1 -1
  166. package/commands/SchemaSyncCommand.js +1 -1
  167. package/commands/SchemaSyncCommand.js.map +1 -1
  168. package/decorator/options/ColumnOptions.d.ts +10 -2
  169. package/decorator/options/ColumnOptions.js.map +1 -1
  170. package/decorator/options/JoinColumnOptions.d.ts +4 -0
  171. package/decorator/options/JoinColumnOptions.js.map +1 -1
  172. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +4 -0
  173. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  174. package/decorator/options/PrimaryGeneratedColumnNumericOptions.d.ts +4 -0
  175. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  176. package/decorator/options/PrimaryGeneratedColumnUUIDOptions.d.ts +4 -0
  177. package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  178. package/decorator/relations/JoinColumn.js +1 -0
  179. package/decorator/relations/JoinColumn.js.map +1 -1
  180. package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +1 -1
  181. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  182. package/driver/cockroachdb/CockroachDriver.js +4 -1
  183. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  184. package/driver/cockroachdb/CockroachQueryRunner.d.ts +3 -3
  185. package/driver/cockroachdb/CockroachQueryRunner.js +233 -33
  186. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  187. package/driver/expo/ExpoQueryRunner.js +8 -21
  188. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  189. package/driver/mongodb/typings.d.ts +5 -5
  190. package/driver/mongodb/typings.js.map +1 -1
  191. package/driver/mysql/MysqlDriver.d.ts +1 -0
  192. package/driver/mysql/MysqlDriver.js +94 -23
  193. package/driver/mysql/MysqlDriver.js.map +1 -1
  194. package/driver/mysql/MysqlQueryRunner.js +219 -24
  195. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  196. package/driver/oracle/OracleDriver.js +79 -15
  197. package/driver/oracle/OracleDriver.js.map +1 -1
  198. package/driver/oracle/OracleQueryRunner.d.ts +3 -3
  199. package/driver/oracle/OracleQueryRunner.js +216 -42
  200. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  201. package/driver/postgres/PostgresDriver.js +95 -18
  202. package/driver/postgres/PostgresDriver.js.map +1 -1
  203. package/driver/postgres/PostgresQueryRunner.d.ts +3 -3
  204. package/driver/postgres/PostgresQueryRunner.js +159 -59
  205. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  206. package/driver/spanner/SpannerDriver.d.ts +1 -0
  207. package/driver/spanner/SpannerDriver.js +52 -13
  208. package/driver/spanner/SpannerDriver.js.map +1 -1
  209. package/driver/spanner/SpannerQueryRunner.js +129 -43
  210. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  211. package/driver/sqlite-abstract/AbstractSqliteDriver.js +65 -16
  212. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  213. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +218 -32
  214. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  215. package/driver/sqlserver/SqlServerDriver.d.ts +3 -1
  216. package/driver/sqlserver/SqlServerDriver.js +99 -26
  217. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  218. package/driver/sqlserver/SqlServerQueryRunner.d.ts +3 -3
  219. package/driver/sqlserver/SqlServerQueryRunner.js +251 -37
  220. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  221. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +1 -1
  222. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  223. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +2 -2
  224. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  225. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +2 -2
  226. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  227. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +2 -2
  228. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  229. package/entity-manager/EntityManager.js +1 -1
  230. package/entity-manager/EntityManager.js.map +1 -1
  231. package/entity-schema/EntitySchemaColumnOptions.d.ts +6 -2
  232. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  233. package/entity-schema/EntitySchemaOptions.d.ts +7 -0
  234. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  235. package/entity-schema/EntitySchemaRelationIdOptions.d.ts +15 -0
  236. package/entity-schema/EntitySchemaRelationIdOptions.js +4 -0
  237. package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -0
  238. package/entity-schema/EntitySchemaTransformer.js +16 -0
  239. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  240. package/find-options/FindOptionsWhere.d.ts +1 -1
  241. package/find-options/FindOptionsWhere.js.map +1 -1
  242. package/index.d.ts +2 -0
  243. package/index.js.map +1 -1
  244. package/metadata/ColumnMetadata.d.ts +10 -2
  245. package/metadata/ColumnMetadata.js +8 -0
  246. package/metadata/ColumnMetadata.js.map +1 -1
  247. package/metadata/EntityMetadata.js +1 -1
  248. package/metadata/EntityMetadata.js.map +1 -1
  249. package/metadata/ForeignKeyMetadata.d.ts +7 -0
  250. package/metadata/ForeignKeyMetadata.js +4 -1
  251. package/metadata/ForeignKeyMetadata.js.map +1 -1
  252. package/metadata-args/JoinColumnMetadataArgs.d.ts +4 -0
  253. package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  254. package/metadata-args/RelationIdMetadataArgs.d.ts +1 -1
  255. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  256. package/metadata-builder/EntityMetadataValidator.js +17 -0
  257. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  258. package/metadata-builder/JunctionEntityMetadataBuilder.js +5 -0
  259. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  260. package/metadata-builder/RelationJoinColumnBuilder.js +2 -0
  261. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  262. package/migration/MigrationExecutor.js +1 -1
  263. package/migration/MigrationExecutor.js.map +1 -1
  264. package/package.json +1 -268
  265. package/persistence/SubjectDatabaseEntityLoader.d.ts +1 -1
  266. package/persistence/SubjectDatabaseEntityLoader.js +1 -1
  267. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  268. package/persistence/SubjectExecutor.js +1 -1
  269. package/persistence/SubjectExecutor.js.map +1 -1
  270. package/persistence/subject-builder/CascadesSubjectBuilder.d.ts +1 -1
  271. package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -1
  272. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  273. package/persistence/subject-builder/ManyToManySubjectBuilder.js +1 -1
  274. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  275. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
  276. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  277. package/query-builder/QueryBuilder.d.ts +1 -1
  278. package/query-builder/QueryBuilder.js +15 -15
  279. package/query-builder/QueryBuilder.js.map +1 -1
  280. package/query-builder/QueryExpressionMap.d.ts +1 -1
  281. package/query-builder/QueryExpressionMap.js +1 -1
  282. package/query-builder/QueryExpressionMap.js.map +1 -1
  283. package/query-builder/ReturningResultsEntityUpdator.js +2 -2
  284. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  285. package/query-runner/BaseQueryRunner.d.ts +10 -0
  286. package/query-runner/BaseQueryRunner.js +25 -1
  287. package/query-runner/BaseQueryRunner.js.map +1 -1
  288. package/query-runner/QueryRunner.d.ts +2 -2
  289. package/query-runner/QueryRunner.js.map +1 -1
  290. package/schema-builder/RdbmsSchemaBuilder.d.ts +6 -2
  291. package/schema-builder/RdbmsSchemaBuilder.js +11 -5
  292. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  293. package/schema-builder/options/TableColumnOptions.d.ts +10 -2
  294. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  295. package/schema-builder/options/TableForeignKeyOptions.d.ts +1 -1
  296. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  297. package/schema-builder/table/TableColumn.d.ts +6 -2
  298. package/schema-builder/table/TableColumn.js +2 -0
  299. package/schema-builder/table/TableColumn.js.map +1 -1
  300. package/schema-builder/util/TableUtils.js +1 -0
  301. package/schema-builder/util/TableUtils.js.map +1 -1
  302. package/util/OrmUtils.d.ts +1 -1
  303. package/util/OrmUtils.js +4 -4
  304. package/util/OrmUtils.js.map +1 -1
  305. package/util/escapeRegExp.d.ts +1 -0
  306. package/util/escapeRegExp.js +10 -0
  307. package/util/escapeRegExp.js.map +1 -0
@@ -37,9 +37,6 @@ export class ExpoQueryRunner extends AbstractSqliteQueryRunner {
37
37
  this.isTransactionActive = false;
38
38
  throw err;
39
39
  }
40
- if (this.transactionDepth > 0) {
41
- await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
42
- }
43
40
  this.transactionDepth += 1;
44
41
  await this.broadcaster.broadcast("AfterTransactionStart");
45
42
  }
@@ -56,13 +53,8 @@ export class ExpoQueryRunner extends AbstractSqliteQueryRunner {
56
53
  typeof this.transaction === "undefined")
57
54
  throw new TransactionNotStartedError();
58
55
  await this.broadcaster.broadcast("BeforeTransactionCommit");
59
- if (this.transactionDepth > 1) {
60
- await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
61
- }
62
- else {
63
- this.transaction = undefined;
64
- this.isTransactionActive = false;
65
- }
56
+ this.transaction = undefined;
57
+ this.isTransactionActive = false;
66
58
  this.transactionDepth -= 1;
67
59
  await this.broadcaster.broadcast("AfterTransactionCommit");
68
60
  }
@@ -78,13 +70,8 @@ export class ExpoQueryRunner extends AbstractSqliteQueryRunner {
78
70
  typeof this.transaction === "undefined")
79
71
  throw new TransactionNotStartedError();
80
72
  await this.broadcaster.broadcast("BeforeTransactionRollback");
81
- if (this.transactionDepth > 1) {
82
- await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
83
- }
84
- else {
85
- this.transaction = undefined;
86
- this.isTransactionActive = false;
87
- }
73
+ this.transaction = undefined;
74
+ this.isTransactionActive = false;
88
75
  this.transactionDepth -= 1;
89
76
  await this.broadcaster.broadcast("AfterTransactionRollback");
90
77
  }
@@ -132,10 +119,6 @@ export class ExpoQueryRunner extends AbstractSqliteQueryRunner {
132
119
  this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
133
120
  }
134
121
  const result = new QueryResult();
135
- // return id of inserted row, if query was insert statement.
136
- if (query.substr(0, 11) === "INSERT INTO") {
137
- result.raw = raw.insertId;
138
- }
139
122
  if (raw === null || raw === void 0 ? void 0 : raw.hasOwnProperty("rowsAffected")) {
140
123
  result.affected = raw.rowsAffected;
141
124
  }
@@ -147,6 +130,10 @@ export class ExpoQueryRunner extends AbstractSqliteQueryRunner {
147
130
  result.raw = resultSet;
148
131
  result.records = resultSet;
149
132
  }
133
+ // return id of inserted row, if query was insert statement.
134
+ if (query.startsWith("INSERT INTO")) {
135
+ result.raw = raw.insertId;
136
+ }
150
137
  if (useStructuredResult) {
151
138
  ok(result);
152
139
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/expo/ExpoQueryRunner.ts"],"names":[],"mappings":"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","file":"ExpoQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { TransactionNotStartedError } from \"../../error/TransactionNotStartedError\"\nimport { ExpoDriver } from \"./ExpoDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\n// Needed to satisfy the Typescript compiler\ninterface IResultSet {\n insertId: number | undefined\n rowsAffected: number\n rows: {\n length: number\n item: (idx: number) => any\n _array: any[]\n }\n}\ninterface ITransaction {\n executeSql: (\n sql: string,\n args: any[] | undefined,\n ok: (tsx: ITransaction, resultSet: IResultSet) => void,\n fail: (tsx: ITransaction, err: any) => void,\n ) => void\n}\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class ExpoQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: ExpoDriver\n\n /**\n * Database transaction object\n */\n private transaction?: ITransaction\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: ExpoDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n /**\n * Starts transaction. Within Expo, all database operations happen in a\n * transaction context, so issuing a `BEGIN TRANSACTION` command is\n * redundant and will result in the following error:\n *\n * `Error: Error code 1: cannot start a transaction within a transaction`\n *\n * Instead, we keep track of a `Transaction` object in `this.transaction`\n * and continue using the same object until we wish to commit the\n * transaction.\n */\n async startTransaction(): Promise<void> {\n this.isTransactionActive = true\n try {\n await this.broadcaster.broadcast(\"BeforeTransactionStart\")\n } catch (err) {\n this.isTransactionActive = false\n throw err\n }\n\n if (this.transactionDepth > 0) {\n await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`)\n }\n this.transactionDepth += 1\n\n await this.broadcaster.broadcast(\"AfterTransactionStart\")\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n * Since Expo will automatically commit the transaction once all the\n * callbacks of the transaction object have been completed, \"committing\" a\n * transaction in this driver's context means that we delete the transaction\n * object and set the stage for the next transaction.\n */\n async commitTransaction(): Promise<void> {\n if (\n !this.isTransactionActive &&\n typeof this.transaction === \"undefined\"\n )\n throw new TransactionNotStartedError()\n\n await this.broadcaster.broadcast(\"BeforeTransactionCommit\")\n\n if (this.transactionDepth > 1) {\n await this.query(\n `RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`,\n )\n } else {\n this.transaction = undefined\n this.isTransactionActive = false\n }\n this.transactionDepth -= 1\n\n await this.broadcaster.broadcast(\"AfterTransactionCommit\")\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n * This method's functionality is identical to `commitTransaction()` because\n * the transaction lifecycle is handled within the Expo transaction object.\n * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.\n */\n async rollbackTransaction(): Promise<void> {\n if (\n !this.isTransactionActive &&\n typeof this.transaction === \"undefined\"\n )\n throw new TransactionNotStartedError()\n\n await this.broadcaster.broadcast(\"BeforeTransactionRollback\")\n\n if (this.transactionDepth > 1) {\n await this.query(\n `ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`,\n )\n } else {\n this.transaction = undefined\n this.isTransactionActive = false\n }\n this.transactionDepth -= 1\n\n await this.broadcaster.broadcast(\"AfterTransactionRollback\")\n }\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n const databaseConnection = await this.connect()\n return new Promise((ok, fail) => {\n databaseConnection.exec(\n [{ sql: \"PRAGMA foreign_keys = OFF\", args: [] }],\n false,\n (err: any) => (err ? fail(err) : ok()),\n )\n })\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n const databaseConnection = await this.connect()\n return new Promise((ok, fail) => {\n databaseConnection.exec(\n [{ sql: \"PRAGMA foreign_keys = ON\", args: [] }],\n false,\n (err: any) => (err ? fail(err) : ok()),\n )\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 return new Promise<any>(async (ok, fail) => {\n const databaseConnection = await this.connect()\n this.driver.connection.logger.logQuery(query, parameters, this)\n const queryStartTime = +new Date()\n // All Expo SQL queries are executed in a transaction context\n databaseConnection.transaction(\n async (transaction: ITransaction) => {\n if (typeof this.transaction === \"undefined\") {\n await this.startTransaction()\n this.transaction = transaction\n }\n this.transaction.executeSql(\n query,\n parameters,\n (t: ITransaction, raw: IResultSet) => {\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 =\n 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\n const result = new QueryResult()\n\n // return id of inserted row, if query was insert statement.\n if (query.substr(0, 11) === \"INSERT INTO\") {\n result.raw = raw.insertId\n }\n\n if (raw?.hasOwnProperty(\"rowsAffected\")) {\n result.affected = raw.rowsAffected\n }\n\n if (raw?.hasOwnProperty(\"rows\")) {\n let resultSet = []\n for (let i = 0; i < raw.rows.length; i++) {\n resultSet.push(raw.rows.item(i))\n }\n\n result.raw = resultSet\n result.records = resultSet\n }\n\n if (useStructuredResult) {\n ok(result)\n } else {\n ok(result.raw)\n }\n },\n (t: ITransaction, err: any) => {\n this.driver.connection.logger.logQueryError(\n err,\n query,\n parameters,\n this,\n )\n fail(new QueryFailedError(query, parameters, err))\n },\n )\n },\n async (err: any) => {\n await this.rollbackTransaction()\n fail(err)\n },\n () => {\n this.isTransactionActive = false\n this.transaction = undefined\n },\n )\n })\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/expo/ExpoQueryRunner.ts"],"names":[],"mappings":"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","file":"ExpoQueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { TransactionNotStartedError } from \"../../error/TransactionNotStartedError\"\nimport { ExpoDriver } from \"./ExpoDriver\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\n// Needed to satisfy the Typescript compiler\ninterface IResultSet {\n insertId: number | undefined\n rowsAffected: number\n rows: {\n length: number\n item: (idx: number) => any\n _array: any[]\n }\n}\ninterface ITransaction {\n executeSql: (\n sql: string,\n args: any[] | undefined,\n ok: (tsx: ITransaction, resultSet: IResultSet) => void,\n fail: (tsx: ITransaction, err: any) => void,\n ) => void\n}\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class ExpoQueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: ExpoDriver\n\n /**\n * Database transaction object\n */\n private transaction?: ITransaction\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: ExpoDriver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n }\n\n /**\n * Starts transaction. Within Expo, all database operations happen in a\n * transaction context, so issuing a `BEGIN TRANSACTION` command is\n * redundant and will result in the following error:\n *\n * `Error: Error code 1: cannot start a transaction within a transaction`\n *\n * Instead, we keep track of a `Transaction` object in `this.transaction`\n * and continue using the same object until we wish to commit the\n * transaction.\n */\n async startTransaction(): Promise<void> {\n this.isTransactionActive = true\n try {\n await this.broadcaster.broadcast(\"BeforeTransactionStart\")\n } catch (err) {\n this.isTransactionActive = false\n throw err\n }\n\n this.transactionDepth += 1\n\n await this.broadcaster.broadcast(\"AfterTransactionStart\")\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n * Since Expo will automatically commit the transaction once all the\n * callbacks of the transaction object have been completed, \"committing\" a\n * transaction in this driver's context means that we delete the transaction\n * object and set the stage for the next transaction.\n */\n async commitTransaction(): Promise<void> {\n if (\n !this.isTransactionActive &&\n typeof this.transaction === \"undefined\"\n )\n throw new TransactionNotStartedError()\n\n await this.broadcaster.broadcast(\"BeforeTransactionCommit\")\n\n this.transaction = undefined\n this.isTransactionActive = false\n\n this.transactionDepth -= 1\n\n await this.broadcaster.broadcast(\"AfterTransactionCommit\")\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n * This method's functionality is identical to `commitTransaction()` because\n * the transaction lifecycle is handled within the Expo transaction object.\n * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.\n */\n async rollbackTransaction(): Promise<void> {\n if (\n !this.isTransactionActive &&\n typeof this.transaction === \"undefined\"\n )\n throw new TransactionNotStartedError()\n\n await this.broadcaster.broadcast(\"BeforeTransactionRollback\")\n\n this.transaction = undefined\n this.isTransactionActive = false\n\n this.transactionDepth -= 1\n\n await this.broadcaster.broadcast(\"AfterTransactionRollback\")\n }\n\n /**\n * Called before migrations are run.\n */\n async beforeMigration(): Promise<void> {\n const databaseConnection = await this.connect()\n return new Promise((ok, fail) => {\n databaseConnection.exec(\n [{ sql: \"PRAGMA foreign_keys = OFF\", args: [] }],\n false,\n (err: any) => (err ? fail(err) : ok()),\n )\n })\n }\n\n /**\n * Called after migrations are run.\n */\n async afterMigration(): Promise<void> {\n const databaseConnection = await this.connect()\n return new Promise((ok, fail) => {\n databaseConnection.exec(\n [{ sql: \"PRAGMA foreign_keys = ON\", args: [] }],\n false,\n (err: any) => (err ? fail(err) : ok()),\n )\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 return new Promise<any>(async (ok, fail) => {\n const databaseConnection = await this.connect()\n this.driver.connection.logger.logQuery(query, parameters, this)\n const queryStartTime = +new Date()\n // All Expo SQL queries are executed in a transaction context\n databaseConnection.transaction(\n async (transaction: ITransaction) => {\n if (typeof this.transaction === \"undefined\") {\n await this.startTransaction()\n this.transaction = transaction\n }\n this.transaction.executeSql(\n query,\n parameters,\n (t: ITransaction, raw: IResultSet) => {\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 =\n 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\n const result = new QueryResult()\n\n if (raw?.hasOwnProperty(\"rowsAffected\")) {\n result.affected = raw.rowsAffected\n }\n\n if (raw?.hasOwnProperty(\"rows\")) {\n let resultSet = []\n for (let i = 0; i < raw.rows.length; i++) {\n resultSet.push(raw.rows.item(i))\n }\n\n result.raw = resultSet\n result.records = resultSet\n }\n\n // return id of inserted row, if query was insert statement.\n if (query.startsWith(\"INSERT INTO\")) {\n result.raw = raw.insertId\n }\n\n if (useStructuredResult) {\n ok(result)\n } else {\n ok(result.raw)\n }\n },\n (t: ITransaction, err: any) => {\n this.driver.connection.logger.logQueryError(\n err,\n query,\n parameters,\n this,\n )\n fail(new QueryFailedError(query, parameters, err))\n },\n )\n },\n async (err: any) => {\n await this.rollbackTransaction()\n fail(err)\n },\n () => {\n this.isTransactionActive = false\n this.transaction = undefined\n },\n )\n })\n }\n}\n"],"sourceRoot":"../.."}
@@ -4882,7 +4882,7 @@ export interface AggregationCursor<T> extends Readable {
4882
4882
  close(callback: MongoCallback<AggregationCursorResult>): void;
4883
4883
  /**
4884
4884
  * Iterates over all the documents for this cursor. As with {cursor.toArray}, not all of the elements will
4885
- * be iterated if this cursor had been previouly accessed. In that case, {cursor.rewind} can be used to reset
4885
+ * be iterated if this cursor had been previously accessed. In that case, {cursor.rewind} can be used to reset
4886
4886
  * the cursor. However, unlike {cursor.toArray}, the cursor will only hold a maximum of batch size elements
4887
4887
  * at any given time if batch size is specified. Otherwise, the caller is responsible for making sure
4888
4888
  * that the entire result can fit the memory.
@@ -4992,7 +4992,7 @@ export interface AggregationCursor<T> extends Readable {
4992
4992
  /**
4993
4993
  * Returns an array of documents. The caller is responsible for making sure that there
4994
4994
  * is enough memory to store the results. Note that the array only contain partial
4995
- * results when this cursor had been previouly accessed. In that case,
4995
+ * results when this cursor had been previously accessed. In that case,
4996
4996
  * cursor.rewind() can be used to reset the cursor.
4997
4997
  * @see http://mongodb.github.io/node-mongodb-native/2.1/api/AggregationCursor.html#toArray
4998
4998
  */
@@ -5000,7 +5000,7 @@ export interface AggregationCursor<T> extends Readable {
5000
5000
  /**
5001
5001
  * Returns an array of documents. The caller is responsible for making sure that there
5002
5002
  * is enough memory to store the results. Note that the array only contain partial
5003
- * results when this cursor had been previouly accessed. In that case,
5003
+ * results when this cursor had been previously accessed. In that case,
5004
5004
  * cursor.rewind() can be used to reset the cursor.
5005
5005
  * @param callback The result callback.
5006
5006
  * @see http://mongodb.github.io/node-mongodb-native/2.1/api/AggregationCursor.html#toArray
@@ -5096,13 +5096,13 @@ export interface CommandCursor extends Readable {
5096
5096
  setReadPreference(readPreference: string | ReadPreference): CommandCursor;
5097
5097
  /**
5098
5098
  * Returns an array of documents. The caller is responsible for making sure that there is enough memory
5099
- * to store the results. Note that the array only contain partial results when this cursor had been previouly accessed.
5099
+ * to store the results. Note that the array only contain partial results when this cursor had been previously accessed.
5100
5100
  * @see http://mongodb.github.io/node-mongodb-native/2.1/api/CommandCursor.html#toArray
5101
5101
  */
5102
5102
  toArray(): Promise<any[]>;
5103
5103
  /**
5104
5104
  * Returns an array of documents. The caller is responsible for making sure that there is enough memory
5105
- * to store the results. Note that the array only contain partial results when this cursor had been previouly accessed.
5105
+ * to store the results. Note that the array only contain partial results when this cursor had been previously accessed.
5106
5106
  * @param callback The result callback.
5107
5107
  * @see http://mongodb.github.io/node-mongodb-native/2.1/api/CommandCursor.html#toArray
5108
5108
  */