typeorm 0.3.18-dev.fbd45db → 0.3.18-dev.fdb9866

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 (252) hide show
  1. package/browser/data-source/DataSource.d.ts +4 -0
  2. package/browser/data-source/DataSource.js +12 -0
  3. package/browser/data-source/DataSource.js.map +1 -1
  4. package/browser/decorator/Index.js +1 -0
  5. package/browser/decorator/Index.js.map +1 -1
  6. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  7. package/browser/decorator/options/IndexOptions.js.map +1 -1
  8. package/browser/driver/Driver.d.ts +4 -0
  9. package/browser/driver/Driver.js.map +1 -1
  10. package/browser/driver/DriverUtils.js +2 -5
  11. package/browser/driver/DriverUtils.js.map +1 -1
  12. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  13. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  14. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  15. package/browser/driver/cockroachdb/CockroachDriver.js +10 -1
  16. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  17. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  18. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  19. package/browser/driver/mongodb/typings.d.ts +3 -3
  20. package/browser/driver/mongodb/typings.js.map +1 -1
  21. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  22. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  23. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  24. package/browser/driver/oracle/OracleDriver.js +11 -2
  25. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  26. package/browser/driver/oracle/OracleQueryRunner.js +34 -2
  27. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  28. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  29. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  30. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  31. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  32. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  33. package/browser/driver/postgres/PostgresDriver.js +13 -4
  34. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  35. package/browser/driver/postgres/PostgresQueryRunner.js +29 -17
  36. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  37. package/browser/driver/sap/SapDriver.d.ts +8 -0
  38. package/browser/driver/sap/SapDriver.js +14 -3
  39. package/browser/driver/sap/SapDriver.js.map +1 -1
  40. package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
  41. package/browser/driver/sap/SapQueryRunner.js +53 -55
  42. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  43. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  44. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  45. package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
  46. package/browser/driver/spanner/SpannerDriver.js +10 -1
  47. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  48. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -10
  49. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  50. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -0
  51. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  52. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  53. package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
  54. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  55. package/browser/entity-manager/EntityManager.d.ts +5 -1
  56. package/browser/entity-manager/EntityManager.js +15 -2
  57. package/browser/entity-manager/EntityManager.js.map +1 -1
  58. package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
  59. package/browser/entity-manager/MongoEntityManager.js +8 -2
  60. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  61. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  62. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  63. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  64. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  65. package/browser/error/QueryFailedError.d.ts +3 -3
  66. package/browser/error/QueryFailedError.js.map +1 -1
  67. package/browser/find-options/FindOptionsUtils.js +1 -1
  68. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  69. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  70. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  71. package/browser/metadata/IndexMetadata.d.ts +5 -0
  72. package/browser/metadata/IndexMetadata.js +1 -0
  73. package/browser/metadata/IndexMetadata.js.map +1 -1
  74. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  75. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  76. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  77. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  78. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  79. package/browser/naming-strategy/DefaultNamingStrategy.js +0 -3
  80. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  81. package/browser/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  82. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  83. package/browser/persistence/SubjectExecutor.js +4 -1
  84. package/browser/persistence/SubjectExecutor.js.map +1 -1
  85. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  86. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  87. package/browser/platform/PlatformTools.js +2 -0
  88. package/browser/platform/PlatformTools.js.map +1 -1
  89. package/browser/query-builder/InsertQueryBuilder.js +10 -6
  90. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  91. package/browser/query-builder/QueryBuilder.js +1 -1
  92. package/browser/query-builder/QueryBuilder.js.map +1 -1
  93. package/browser/query-builder/SelectQueryBuilder.js +9 -3
  94. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  95. package/browser/repository/BaseEntity.d.ts +12 -0
  96. package/browser/repository/BaseEntity.js +12 -0
  97. package/browser/repository/BaseEntity.js.map +1 -1
  98. package/browser/repository/MongoRepository.d.ts +8 -4
  99. package/browser/repository/MongoRepository.js +6 -0
  100. package/browser/repository/MongoRepository.js.map +1 -1
  101. package/browser/repository/Repository.d.ts +14 -2
  102. package/browser/repository/Repository.js +26 -6
  103. package/browser/repository/Repository.js.map +1 -1
  104. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  105. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  106. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  107. package/browser/schema-builder/table/TableIndex.js +3 -0
  108. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  109. package/browser/subscriber/Broadcaster.d.ts +1 -1
  110. package/browser/subscriber/Broadcaster.js +2 -1
  111. package/browser/subscriber/Broadcaster.js.map +1 -1
  112. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  113. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  114. package/browser/util/DateUtils.js +4 -2
  115. package/browser/util/DateUtils.js.map +1 -1
  116. package/browser/util/OrmUtils.d.ts +6 -0
  117. package/browser/util/OrmUtils.js +66 -0
  118. package/browser/util/OrmUtils.js.map +1 -1
  119. package/commands/CommandUtils.js +3 -0
  120. package/commands/CommandUtils.js.map +1 -1
  121. package/commands/EntityCreateCommand.d.ts +3 -0
  122. package/commands/EntityCreateCommand.js +7 -0
  123. package/commands/EntityCreateCommand.js.map +1 -1
  124. package/commands/MigrationCreateCommand.d.ts +5 -1
  125. package/commands/MigrationCreateCommand.js +6 -1
  126. package/commands/MigrationCreateCommand.js.map +1 -1
  127. package/commands/MigrationGenerateCommand.d.ts +5 -1
  128. package/commands/MigrationGenerateCommand.js +8 -1
  129. package/commands/MigrationGenerateCommand.js.map +1 -1
  130. package/commands/SubscriberCreateCommand.d.ts +3 -0
  131. package/commands/SubscriberCreateCommand.js +7 -0
  132. package/commands/SubscriberCreateCommand.js.map +1 -1
  133. package/data-source/DataSource.d.ts +4 -0
  134. package/data-source/DataSource.js +12 -0
  135. package/data-source/DataSource.js.map +1 -1
  136. package/decorator/Index.js +1 -0
  137. package/decorator/Index.js.map +1 -1
  138. package/decorator/options/IndexOptions.d.ts +5 -0
  139. package/decorator/options/IndexOptions.js.map +1 -1
  140. package/driver/Driver.d.ts +4 -0
  141. package/driver/Driver.js.map +1 -1
  142. package/driver/DriverUtils.js +2 -5
  143. package/driver/DriverUtils.js.map +1 -1
  144. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  145. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  146. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  147. package/driver/cockroachdb/CockroachDriver.js +10 -1
  148. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  149. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  150. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  151. package/driver/mongodb/typings.d.ts +3 -3
  152. package/driver/mongodb/typings.js.map +1 -1
  153. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  154. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  155. package/driver/oracle/OracleDriver.d.ts +4 -0
  156. package/driver/oracle/OracleDriver.js +11 -2
  157. package/driver/oracle/OracleDriver.js.map +1 -1
  158. package/driver/oracle/OracleQueryRunner.js +34 -2
  159. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  160. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  161. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  162. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  163. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  164. package/driver/postgres/PostgresDriver.d.ts +4 -0
  165. package/driver/postgres/PostgresDriver.js +13 -4
  166. package/driver/postgres/PostgresDriver.js.map +1 -1
  167. package/driver/postgres/PostgresQueryRunner.js +29 -17
  168. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  169. package/driver/sap/SapDriver.d.ts +8 -0
  170. package/driver/sap/SapDriver.js +15 -4
  171. package/driver/sap/SapDriver.js.map +1 -1
  172. package/driver/sap/SapQueryRunner.d.ts +5 -14
  173. package/driver/sap/SapQueryRunner.js +53 -55
  174. package/driver/sap/SapQueryRunner.js.map +1 -1
  175. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  176. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  177. package/driver/spanner/SpannerDriver.d.ts +4 -0
  178. package/driver/spanner/SpannerDriver.js +10 -1
  179. package/driver/spanner/SpannerDriver.js.map +1 -1
  180. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -10
  181. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  182. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -0
  183. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  184. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  185. package/driver/sqlserver/SqlServerDriver.js +10 -1
  186. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  187. package/entity-manager/EntityManager.d.ts +5 -1
  188. package/entity-manager/EntityManager.js +15 -2
  189. package/entity-manager/EntityManager.js.map +1 -1
  190. package/entity-manager/MongoEntityManager.d.ts +8 -4
  191. package/entity-manager/MongoEntityManager.js +8 -2
  192. package/entity-manager/MongoEntityManager.js.map +1 -1
  193. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  194. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  195. package/entity-schema/EntitySchemaTransformer.js +7 -0
  196. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  197. package/error/QueryFailedError.d.ts +3 -3
  198. package/error/QueryFailedError.js.map +1 -1
  199. package/find-options/FindOptionsUtils.js +1 -1
  200. package/find-options/FindOptionsUtils.js.map +1 -1
  201. package/find-options/FindOptionsWhere.d.ts +1 -1
  202. package/find-options/FindOptionsWhere.js.map +1 -1
  203. package/metadata/IndexMetadata.d.ts +5 -0
  204. package/metadata/IndexMetadata.js +1 -0
  205. package/metadata/IndexMetadata.js.map +1 -1
  206. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  207. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  208. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  209. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  210. package/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  211. package/naming-strategy/DefaultNamingStrategy.js +0 -3
  212. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  213. package/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  214. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  215. package/package.json +1 -1
  216. package/persistence/SubjectExecutor.js +4 -1
  217. package/persistence/SubjectExecutor.js.map +1 -1
  218. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  219. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  220. package/platform/PlatformTools.js +2 -0
  221. package/platform/PlatformTools.js.map +1 -1
  222. package/query-builder/InsertQueryBuilder.js +10 -6
  223. package/query-builder/InsertQueryBuilder.js.map +1 -1
  224. package/query-builder/QueryBuilder.js +1 -1
  225. package/query-builder/QueryBuilder.js.map +1 -1
  226. package/query-builder/SelectQueryBuilder.js +9 -3
  227. package/query-builder/SelectQueryBuilder.js.map +1 -1
  228. package/repository/BaseEntity.d.ts +12 -0
  229. package/repository/BaseEntity.js +12 -0
  230. package/repository/BaseEntity.js.map +1 -1
  231. package/repository/MongoRepository.d.ts +8 -4
  232. package/repository/MongoRepository.js +6 -0
  233. package/repository/MongoRepository.js.map +1 -1
  234. package/repository/Repository.d.ts +14 -2
  235. package/repository/Repository.js +26 -6
  236. package/repository/Repository.js.map +1 -1
  237. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  238. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  239. package/schema-builder/table/TableIndex.d.ts +5 -0
  240. package/schema-builder/table/TableIndex.js +3 -0
  241. package/schema-builder/table/TableIndex.js.map +1 -1
  242. package/subscriber/Broadcaster.d.ts +1 -1
  243. package/subscriber/Broadcaster.js +2 -1
  244. package/subscriber/Broadcaster.js.map +1 -1
  245. package/subscriber/event/InsertEvent.d.ts +5 -0
  246. package/subscriber/event/InsertEvent.js.map +1 -1
  247. package/typeorm-model-shim.js +61 -53
  248. package/util/DateUtils.js +5 -2
  249. package/util/DateUtils.js.map +1 -1
  250. package/util/OrmUtils.d.ts +6 -0
  251. package/util/OrmUtils.js +66 -0
  252. package/util/OrmUtils.js.map +1 -1
@@ -32,4 +32,9 @@ export interface PostgresConnectionCredentialsOptions {
32
32
  * Object with ssl parameters
33
33
  */
34
34
  readonly ssl?: boolean | TlsOptions;
35
+ /**
36
+ * sets the application_name var to help db administrators identify
37
+ * the service using this connection. Defaults to 'undefined'
38
+ */
39
+ readonly applicationName?: string;
35
40
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/postgres/PostgresConnectionCredentialsOptions.ts"],"names":[],"mappings":"","file":"PostgresConnectionCredentialsOptions.js","sourcesContent":["import { TlsOptions } from \"tls\"\n\n/**\n * Postgres specific connection credential options.\n */\nexport interface PostgresConnectionCredentialsOptions {\n /**\n * Connection url where perform connection to.\n */\n readonly url?: string\n\n /**\n * Database host.\n */\n readonly host?: string\n\n /**\n * Database host port.\n */\n readonly port?: number\n\n /**\n * Database username.\n */\n readonly username?: string\n\n /**\n * Database password.\n */\n readonly password?: string | (() => string) | (() => Promise<string>)\n\n /**\n * Database name to connect to.\n */\n readonly database?: string\n\n /**\n * Object with ssl parameters\n */\n readonly ssl?: boolean | TlsOptions\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/postgres/PostgresConnectionCredentialsOptions.ts"],"names":[],"mappings":"","file":"PostgresConnectionCredentialsOptions.js","sourcesContent":["import { TlsOptions } from \"tls\"\n\n/**\n * Postgres specific connection credential options.\n */\nexport interface PostgresConnectionCredentialsOptions {\n /**\n * Connection url where perform connection to.\n */\n readonly url?: string\n\n /**\n * Database host.\n */\n readonly host?: string\n\n /**\n * Database host port.\n */\n readonly port?: number\n\n /**\n * Database username.\n */\n readonly username?: string\n\n /**\n * Database password.\n */\n readonly password?: string | (() => string) | (() => Promise<string>)\n\n /**\n * Database name to connect to.\n */\n readonly database?: string\n\n /**\n * Object with ssl parameters\n */\n readonly ssl?: boolean | TlsOptions\n\n /**\n * sets the application_name var to help db administrators identify\n * the service using this connection. Defaults to 'undefined'\n */\n readonly applicationName?: string\n}\n"],"sourceRoot":"../.."}
@@ -1,4 +1,5 @@
1
1
  import { BaseDataSourceOptions } from "../../data-source/BaseDataSourceOptions";
2
+ import { ReplicationMode } from "../types/ReplicationMode";
2
3
  import { PostgresConnectionCredentialsOptions } from "./PostgresConnectionCredentialsOptions";
3
4
  /**
4
5
  * Postgres-specific connection options.
@@ -38,6 +39,11 @@ export interface PostgresConnectionOptions extends BaseDataSourceOptions, Postgr
38
39
  * List of read-from severs (slaves).
39
40
  */
40
41
  readonly slaves: PostgresConnectionCredentialsOptions[];
42
+ /**
43
+ * Default connection pool to use for SELECT queries
44
+ * @default "slave"
45
+ */
46
+ readonly defaultMode?: ReplicationMode;
41
47
  };
42
48
  /**
43
49
  * The milliseconds before a timeout occurs during the initial connection to the postgres
@@ -59,11 +65,6 @@ export interface PostgresConnectionOptions extends BaseDataSourceOptions, Postgr
59
65
  * Automatically install postgres extensions
60
66
  */
61
67
  readonly installExtensions?: boolean;
62
- /**
63
- * sets the application_name var to help db administrators identify
64
- * the service using this connection. Defaults to 'undefined'
65
- */
66
- readonly applicationName?: string;
67
68
  /**
68
69
  * Return 64-bit integers (int8) as JavaScript integers.
69
70
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/postgres/PostgresConnectionOptions.ts"],"names":[],"mappings":"","file":"PostgresConnectionOptions.js","sourcesContent":["import { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\nimport { PostgresConnectionCredentialsOptions } from \"./PostgresConnectionCredentialsOptions\"\n\n/**\n * Postgres-specific connection options.\n */\nexport interface PostgresConnectionOptions\n extends BaseDataSourceOptions,\n PostgresConnectionCredentialsOptions {\n /**\n * Database type.\n */\n readonly type: \"postgres\"\n\n /**\n * Schema name.\n */\n readonly schema?: string\n\n /**\n * The driver object\n * This defaults to `require(\"pg\")`.\n */\n readonly driver?: any\n\n /**\n * The driver object\n * This defaults to `require(\"pg-native\")`.\n */\n readonly nativeDriver?: any\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 * Replication setup.\n */\n readonly replication?: {\n /**\n * Master server used by orm to perform writes.\n */\n readonly master: PostgresConnectionCredentialsOptions\n\n /**\n * List of read-from severs (slaves).\n */\n readonly slaves: PostgresConnectionCredentialsOptions[]\n }\n\n /**\n * The milliseconds before a timeout occurs during the initial connection to the postgres\n * server. If undefined, or set to 0, there is no timeout. Defaults to undefined.\n */\n readonly connectTimeoutMS?: number\n\n /**\n * The Postgres extension to use to generate UUID columns. Defaults to uuid-ossp.\n * If pgcrypto is selected, TypeORM will use the gen_random_uuid() function from this extension.\n * If uuid-ossp is selected, TypeORM will use the uuid_generate_v4() function from this extension.\n */\n readonly uuidExtension?: \"pgcrypto\" | \"uuid-ossp\"\n\n /*\n * Function handling errors thrown by drivers pool.\n * Defaults to logging error with `warn` level.\n */\n readonly poolErrorHandler?: (err: any) => any\n\n /**\n * Include notification messages from Postgres server in client logs\n */\n readonly logNotifications?: boolean\n\n /**\n * Automatically install postgres extensions\n */\n readonly installExtensions?: boolean\n\n /**\n * sets the application_name var to help db administrators identify\n * the service using this connection. Defaults to 'undefined'\n */\n readonly applicationName?: string\n\n /**\n * Return 64-bit integers (int8) as JavaScript integers.\n *\n * Because JavaScript doesn't have support for 64-bit integers node-postgres cannot confidently\n * parse int8 data type results as numbers because if you have a huge number it will overflow\n * and the result you'd get back from node-postgres would not be the result in the database.\n * That would be a very bad thing so node-postgres just returns int8 results as strings and leaves the parsing up to you.\n *\n * Enabling parseInt8 will cause node-postgres to parse int8 results as numbers.\n * Note: the maximum safe integer in js is: Number.MAX_SAFE_INTEGER (`+2^53`)\n *\n * @see [JavaScript Number objects](http://ecma262-5.com/ELS5_HTML.htm#Section_8.5)\n * @see [node-postgres int8 explanation](https://github.com/brianc/node-pg-types#:~:text=on%20projects%3A%20return-,64%2Dbit%20integers,-(int8)%20as)\n * @see [node-postgres defaults.parseInt8 implementation](https://github.com/brianc/node-postgres/blob/pg%408.8.0/packages/pg/lib/defaults.js#L80)\n */\n readonly parseInt8?: boolean\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/postgres/PostgresConnectionOptions.ts"],"names":[],"mappings":"","file":"PostgresConnectionOptions.js","sourcesContent":["import { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\nimport { PostgresConnectionCredentialsOptions } from \"./PostgresConnectionCredentialsOptions\"\n\n/**\n * Postgres-specific connection options.\n */\nexport interface PostgresConnectionOptions\n extends BaseDataSourceOptions,\n PostgresConnectionCredentialsOptions {\n /**\n * Database type.\n */\n readonly type: \"postgres\"\n\n /**\n * Schema name.\n */\n readonly schema?: string\n\n /**\n * The driver object\n * This defaults to `require(\"pg\")`.\n */\n readonly driver?: any\n\n /**\n * The driver object\n * This defaults to `require(\"pg-native\")`.\n */\n readonly nativeDriver?: any\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 * Replication setup.\n */\n readonly replication?: {\n /**\n * Master server used by orm to perform writes.\n */\n readonly master: PostgresConnectionCredentialsOptions\n\n /**\n * List of read-from severs (slaves).\n */\n readonly slaves: PostgresConnectionCredentialsOptions[]\n\n /**\n * Default connection pool to use for SELECT queries\n * @default \"slave\"\n */\n readonly defaultMode?: ReplicationMode\n }\n\n /**\n * The milliseconds before a timeout occurs during the initial connection to the postgres\n * server. If undefined, or set to 0, there is no timeout. Defaults to undefined.\n */\n readonly connectTimeoutMS?: number\n\n /**\n * The Postgres extension to use to generate UUID columns. Defaults to uuid-ossp.\n * If pgcrypto is selected, TypeORM will use the gen_random_uuid() function from this extension.\n * If uuid-ossp is selected, TypeORM will use the uuid_generate_v4() function from this extension.\n */\n readonly uuidExtension?: \"pgcrypto\" | \"uuid-ossp\"\n\n /*\n * Function handling errors thrown by drivers pool.\n * Defaults to logging error with `warn` level.\n */\n readonly poolErrorHandler?: (err: any) => any\n\n /**\n * Include notification messages from Postgres server in client logs\n */\n readonly logNotifications?: boolean\n\n /**\n * Automatically install postgres extensions\n */\n readonly installExtensions?: boolean\n\n /**\n * Return 64-bit integers (int8) as JavaScript integers.\n *\n * Because JavaScript doesn't have support for 64-bit integers node-postgres cannot confidently\n * parse int8 data type results as numbers because if you have a huge number it will overflow\n * and the result you'd get back from node-postgres would not be the result in the database.\n * That would be a very bad thing so node-postgres just returns int8 results as strings and leaves the parsing up to you.\n *\n * Enabling parseInt8 will cause node-postgres to parse int8 results as numbers.\n * Note: the maximum safe integer in js is: Number.MAX_SAFE_INTEGER (`+2^53`)\n *\n * @see [JavaScript Number objects](http://ecma262-5.com/ELS5_HTML.htm#Section_8.5)\n * @see [node-postgres int8 explanation](https://github.com/brianc/node-pg-types#:~:text=on%20projects%3A%20return-,64%2Dbit%20integers,-(int8)%20as)\n * @see [node-postgres defaults.parseInt8 implementation](https://github.com/brianc/node-postgres/blob/pg%408.8.0/packages/pg/lib/defaults.js#L80)\n */\n readonly parseInt8?: boolean\n}\n"],"sourceRoot":"../.."}
@@ -111,6 +111,10 @@ export declare class PostgresDriver implements Driver {
111
111
  * Column types are driver dependant.
112
112
  */
113
113
  mappedDataTypes: MappedColumnTypes;
114
+ /**
115
+ * The prefix used for the parameters
116
+ */
117
+ parametersPrefix: string;
114
118
  /**
115
119
  * Default values of length, precision and scale depends on column data type.
116
120
  * Used in the cases when length/precision/scale is not specified by user.
@@ -180,6 +180,10 @@ class PostgresDriver {
180
180
  metadataName: "varchar",
181
181
  metadataValue: "text",
182
182
  };
183
+ /**
184
+ * The prefix used for the parameters
185
+ */
186
+ this.parametersPrefix = "$";
183
187
  /**
184
188
  * Default values of length, precision and scale depends on column data type.
185
189
  * Used in the cases when length/precision/scale is not specified by user.
@@ -595,10 +599,14 @@ class PostgresDriver {
595
599
  const escapedParameters = Object.keys(nativeParameters).map((key) => nativeParameters[key]);
596
600
  if (!parameters || !Object.keys(parameters).length)
597
601
  return [sql, escapedParameters];
602
+ const parameterIndexMap = new Map();
598
603
  sql = sql.replace(/:(\.\.\.)?([A-Za-z0-9_.]+)/g, (full, isArray, key) => {
599
604
  if (!parameters.hasOwnProperty(key)) {
600
605
  return full;
601
606
  }
607
+ if (parameterIndexMap.has(key)) {
608
+ return this.parametersPrefix + parameterIndexMap.get(key);
609
+ }
602
610
  let value = parameters[key];
603
611
  if (isArray) {
604
612
  return value
@@ -612,6 +620,7 @@ class PostgresDriver {
612
620
  return value();
613
621
  }
614
622
  escapedParameters.push(value);
623
+ parameterIndexMap.set(key, escapedParameters.length);
615
624
  return this.createParameter(key, escapedParameters.length - 1);
616
625
  }); // todo: make replace only in value statements, otherwise problems
617
626
  return [sql, escapedParameters];
@@ -1081,7 +1090,7 @@ class PostgresDriver {
1081
1090
  * Creates an escaped parameter.
1082
1091
  */
1083
1092
  createParameter(parameterName, index) {
1084
- return "$" + (index + 1);
1093
+ return this.parametersPrefix + (index + 1);
1085
1094
  }
1086
1095
  // -------------------------------------------------------------------------
1087
1096
  // Public Methods
@@ -1124,7 +1133,7 @@ class PostgresDriver {
1124
1133
  * Creates a new connection pool for a given database credentials.
1125
1134
  */
1126
1135
  async createPool(options, credentials) {
1127
- var _a;
1136
+ var _a, _b;
1128
1137
  const { logger } = this.connection;
1129
1138
  credentials = Object.assign({}, credentials);
1130
1139
  // build connection options for the driver
@@ -1138,12 +1147,12 @@ class PostgresDriver {
1138
1147
  port: credentials.port,
1139
1148
  ssl: credentials.ssl,
1140
1149
  connectionTimeoutMillis: options.connectTimeoutMS,
1141
- application_name: options.applicationName,
1150
+ application_name: (_a = options.applicationName) !== null && _a !== void 0 ? _a : credentials.applicationName,
1142
1151
  max: options.poolSize,
1143
1152
  }, options.extra || {});
1144
1153
  if (options.parseInt8 !== undefined) {
1145
1154
  if (this.postgres.defaults &&
1146
- ((_a = Object.getOwnPropertyDescriptor(this.postgres.defaults, "parseInt8")) === null || _a === void 0 ? void 0 : _a.set)) {
1155
+ ((_b = Object.getOwnPropertyDescriptor(this.postgres.defaults, "parseInt8")) === null || _b === void 0 ? void 0 : _b.set)) {
1147
1156
  this.postgres.defaults.parseInt8 = options.parseInt8;
1148
1157
  }
1149
1158
  else {