typeorm 0.3.11-dev.6eb674b → 0.3.11-dev.7fbc3ad

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 (139) hide show
  1. package/README.md +2 -2
  2. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +0 -6
  3. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  4. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +16 -0
  5. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  6. package/browser/driver/postgres/PostgresDriver.js +11 -1
  7. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  8. package/browser/driver/postgres/PostgresQueryRunner.d.ts +17 -1
  9. package/browser/driver/postgres/PostgresQueryRunner.js +97 -0
  10. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  11. package/browser/driver/react-native/ReactNativeQueryRunner.js +4 -4
  12. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  13. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +6 -0
  14. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  15. package/browser/driver/sqlite/SqliteDriver.js +18 -6
  16. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  17. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +6 -0
  18. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  19. package/browser/entity-manager/EntityManager.js +3 -1
  20. package/browser/entity-manager/EntityManager.js.map +1 -1
  21. package/browser/find-options/FindOperatorType.d.ts +1 -1
  22. package/browser/find-options/FindOperatorType.js.map +1 -1
  23. package/browser/find-options/FindOptionsOrder.d.ts +1 -1
  24. package/browser/find-options/FindOptionsOrder.js.map +1 -1
  25. package/browser/find-options/FindOptionsRelations.d.ts +1 -1
  26. package/browser/find-options/FindOptionsRelations.js.map +1 -1
  27. package/browser/find-options/FindOptionsSelect.d.ts +1 -1
  28. package/browser/find-options/FindOptionsSelect.js.map +1 -1
  29. package/browser/find-options/FindOptionsWhere.d.ts +2 -2
  30. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  31. package/browser/find-options/operator/And.d.ts +2 -0
  32. package/browser/find-options/operator/And.js +6 -0
  33. package/browser/find-options/operator/And.js.map +1 -0
  34. package/browser/index.d.ts +1 -0
  35. package/browser/index.js +1 -0
  36. package/browser/index.js.map +1 -1
  37. package/browser/migration/MigrationExecutor.js +1 -1
  38. package/browser/migration/MigrationExecutor.js.map +1 -1
  39. package/browser/naming-strategy/NamingStrategyInterface.d.ts +2 -1
  40. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  41. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +1 -0
  42. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +19 -4
  43. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  44. package/browser/query-builder/QueryBuilder.js +9 -0
  45. package/browser/query-builder/QueryBuilder.js.map +1 -1
  46. package/browser/query-builder/RelationLoader.js +1 -0
  47. package/browser/query-builder/RelationLoader.js.map +1 -1
  48. package/browser/query-builder/SelectQueryBuilder.js +4 -8
  49. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  50. package/browser/query-builder/WhereClause.d.ts +1 -1
  51. package/browser/query-builder/WhereClause.js.map +1 -1
  52. package/browser/query-runner/BaseQueryRunner.d.ts +1 -1
  53. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  54. package/browser/repository/Repository.d.ts +1 -1
  55. package/browser/repository/Repository.js.map +1 -1
  56. package/browser/repository/TreeRepository.d.ts +0 -4
  57. package/browser/repository/TreeRepository.js +0 -11
  58. package/browser/repository/TreeRepository.js.map +1 -1
  59. package/browser/repository/UpsertOptions.d.ts +3 -1
  60. package/browser/repository/UpsertOptions.js.map +1 -1
  61. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  62. package/browser/schema-builder/RdbmsSchemaBuilder.js +74 -2
  63. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  64. package/browser/schema-builder/view/View.d.ts +13 -1
  65. package/browser/schema-builder/view/View.js +16 -0
  66. package/browser/schema-builder/view/View.js.map +1 -1
  67. package/browser/util/TreeRepositoryUtils.js +16 -6
  68. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  69. package/commands/MigrationRevertCommand.js +1 -0
  70. package/commands/MigrationRevertCommand.js.map +1 -1
  71. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +0 -6
  72. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  73. package/driver/postgres/PostgresConnectionOptions.d.ts +16 -0
  74. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  75. package/driver/postgres/PostgresDriver.js +11 -1
  76. package/driver/postgres/PostgresDriver.js.map +1 -1
  77. package/driver/postgres/PostgresQueryRunner.d.ts +17 -1
  78. package/driver/postgres/PostgresQueryRunner.js +97 -0
  79. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  80. package/driver/react-native/ReactNativeQueryRunner.js +4 -4
  81. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  82. package/driver/sqlite/SqliteConnectionOptions.d.ts +6 -0
  83. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  84. package/driver/sqlite/SqliteDriver.js +18 -6
  85. package/driver/sqlite/SqliteDriver.js.map +1 -1
  86. package/driver/sqlite-abstract/AbstractSqliteDriver.js +6 -0
  87. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  88. package/entity-manager/EntityManager.js +3 -1
  89. package/entity-manager/EntityManager.js.map +1 -1
  90. package/find-options/FindOperatorType.d.ts +1 -1
  91. package/find-options/FindOperatorType.js.map +1 -1
  92. package/find-options/FindOptionsOrder.d.ts +1 -1
  93. package/find-options/FindOptionsOrder.js.map +1 -1
  94. package/find-options/FindOptionsRelations.d.ts +1 -1
  95. package/find-options/FindOptionsRelations.js.map +1 -1
  96. package/find-options/FindOptionsSelect.d.ts +1 -1
  97. package/find-options/FindOptionsSelect.js.map +1 -1
  98. package/find-options/FindOptionsWhere.d.ts +2 -2
  99. package/find-options/FindOptionsWhere.js.map +1 -1
  100. package/find-options/operator/And.d.ts +2 -0
  101. package/find-options/operator/And.js +10 -0
  102. package/find-options/operator/And.js.map +1 -0
  103. package/index.d.ts +1 -0
  104. package/index.js +1 -0
  105. package/index.js.map +1 -1
  106. package/index.mjs +2 -0
  107. package/migration/MigrationExecutor.js +1 -1
  108. package/migration/MigrationExecutor.js.map +1 -1
  109. package/naming-strategy/NamingStrategyInterface.d.ts +2 -1
  110. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  111. package/package.json +1 -1
  112. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +1 -0
  113. package/persistence/tree/MaterializedPathSubjectExecutor.js +19 -4
  114. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  115. package/query-builder/QueryBuilder.js +9 -0
  116. package/query-builder/QueryBuilder.js.map +1 -1
  117. package/query-builder/RelationLoader.js +1 -0
  118. package/query-builder/RelationLoader.js.map +1 -1
  119. package/query-builder/SelectQueryBuilder.js +4 -8
  120. package/query-builder/SelectQueryBuilder.js.map +1 -1
  121. package/query-builder/WhereClause.d.ts +1 -1
  122. package/query-builder/WhereClause.js.map +1 -1
  123. package/query-runner/BaseQueryRunner.d.ts +1 -1
  124. package/query-runner/BaseQueryRunner.js.map +1 -1
  125. package/repository/Repository.d.ts +1 -1
  126. package/repository/Repository.js.map +1 -1
  127. package/repository/TreeRepository.d.ts +0 -4
  128. package/repository/TreeRepository.js +0 -11
  129. package/repository/TreeRepository.js.map +1 -1
  130. package/repository/UpsertOptions.d.ts +3 -1
  131. package/repository/UpsertOptions.js.map +1 -1
  132. package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  133. package/schema-builder/RdbmsSchemaBuilder.js +74 -2
  134. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  135. package/schema-builder/view/View.d.ts +13 -1
  136. package/schema-builder/view/View.js +16 -0
  137. package/schema-builder/view/View.js.map +1 -1
  138. package/util/TreeRepositoryUtils.js +16 -6
  139. package/util/TreeRepositoryUtils.js.map +1 -1
package/README.md CHANGED
@@ -1000,7 +1000,7 @@ Let's change our photo's `@OneToOne` decorator a bit:
1000
1000
 
1001
1001
  ```javascript
1002
1002
  export class Photo {
1003
- /// ... other columns
1003
+ // ... other columns
1004
1004
 
1005
1005
  @OneToOne(() => PhotoMetadata, (metadata) => metadata.photo, {
1006
1006
  cascade: true,
@@ -1155,7 +1155,7 @@ Now let's add the inverse side of our relation to the `Photo` class:
1155
1155
 
1156
1156
  ```javascript
1157
1157
  export class Photo {
1158
- /// ... other columns
1158
+ // ... other columns
1159
1159
 
1160
1160
  @ManyToMany(() => Album, (album) => album.photos)
1161
1161
  albums: Album[]
@@ -66,12 +66,6 @@ export class BetterSqlite3QueryRunner extends AbstractSqliteQueryRunner {
66
66
  if (this.isReleased)
67
67
  throw new QueryRunnerAlreadyReleasedError();
68
68
  const connection = this.driver.connection;
69
- parameters = parameters || [];
70
- for (let i = 0; i < parameters.length; i++) {
71
- // in "where" clauses the parameters are not escaped by the driver
72
- if (typeof parameters[i] === "boolean")
73
- parameters[i] = +parameters[i];
74
- }
75
69
  this.driver.connection.logger.logQuery(query, parameters, this);
76
70
  const queryStartTime = +new Date();
77
71
  const stmt = await this.getStmt(query);
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/better-sqlite3/BetterSqlite3QueryRunner.ts"],"names":[],"mappings":"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","file":"BetterSqlite3QueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { BetterSqlite3Driver } from \"./BetterSqlite3Driver\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n *\n * Does not support compose primary keys with autoincrement field.\n * todo: need to throw exception for this case.\n */\nexport class BetterSqlite3QueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: BetterSqlite3Driver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: BetterSqlite3Driver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n if (typeof this.driver.options.statementCacheSize === \"number\") {\n this.cacheSize = this.driver.options.statementCacheSize\n } else {\n this.cacheSize = 100\n }\n }\n\n private cacheSize: number\n private stmtCache = new Map<string, any>()\n\n private async getStmt(query: string) {\n if (this.cacheSize > 0) {\n let stmt = this.stmtCache.get(query)\n if (!stmt) {\n const databaseConnection = await this.connect()\n stmt = databaseConnection.prepare(query)\n this.stmtCache.set(query, stmt)\n while (this.stmtCache.size > this.cacheSize) {\n // since es6 map keeps the insertion order,\n // it comes to be FIFO cache\n const key = this.stmtCache.keys().next().value\n this.stmtCache.delete(key)\n }\n }\n return stmt\n } else {\n const databaseConnection = await this.connect()\n return databaseConnection.prepare(query)\n }\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 /**\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 connection = this.driver.connection\n\n parameters = parameters || []\n for (let i = 0; i < parameters.length; i++) {\n // in \"where\" clauses the parameters are not escaped by the driver\n if (typeof parameters[i] === \"boolean\")\n parameters[i] = +parameters[i]\n }\n\n this.driver.connection.logger.logQuery(query, parameters, this)\n const queryStartTime = +new Date()\n\n const stmt = await this.getStmt(query)\n\n try {\n const result = new QueryResult()\n\n if (stmt.reader) {\n const raw = stmt.all.apply(stmt, parameters)\n\n result.raw = raw\n\n if (Array.isArray(raw)) {\n result.records = raw\n }\n } else {\n const raw = stmt.run.apply(stmt, parameters)\n result.affected = raw.changes\n result.raw = raw.lastInsertRowid\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 connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n this,\n )\n\n if (!useStructuredResult) {\n return result.raw\n }\n\n return result\n } catch (err) {\n connection.logger.logQueryError(err, query, parameters, this)\n throw new QueryFailedError(query, parameters, err)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n protected async loadTableRecords(\n tablePath: string,\n tableOrIndex: \"table\" | \"index\",\n ) {\n const [database, tableName] = this.splitTablePath(tablePath)\n const res = await this.query(\n `SELECT ${\n database ? `'${database}'` : null\n } as database, * FROM ${this.escapePath(\n `${database ? `${database}.` : \"\"}sqlite_master`,\n )} WHERE \"type\" = '${tableOrIndex}' AND \"${\n tableOrIndex === \"table\" ? \"name\" : \"tbl_name\"\n }\" IN ('${tableName}')`,\n )\n return res\n }\n protected async loadPragmaRecords(tablePath: string, pragma: string) {\n const [database, tableName] = this.splitTablePath(tablePath)\n const res = await this.query(\n `PRAGMA ${\n database ? `\"${database}\".` : \"\"\n }${pragma}(\"${tableName}\")`,\n )\n return res\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/better-sqlite3/BetterSqlite3QueryRunner.ts"],"names":[],"mappings":"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","file":"BetterSqlite3QueryRunner.js","sourcesContent":["import { QueryRunnerAlreadyReleasedError } from \"../../error/QueryRunnerAlreadyReleasedError\"\nimport { QueryFailedError } from \"../../error/QueryFailedError\"\nimport { AbstractSqliteQueryRunner } from \"../sqlite-abstract/AbstractSqliteQueryRunner\"\nimport { Broadcaster } from \"../../subscriber/Broadcaster\"\nimport { BetterSqlite3Driver } from \"./BetterSqlite3Driver\"\nimport { QueryResult } from \"../../query-runner/QueryResult\"\n\n/**\n * Runs queries on a single sqlite database connection.\n *\n * Does not support compose primary keys with autoincrement field.\n * todo: need to throw exception for this case.\n */\nexport class BetterSqlite3QueryRunner extends AbstractSqliteQueryRunner {\n /**\n * Database driver used by connection.\n */\n driver: BetterSqlite3Driver\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: BetterSqlite3Driver) {\n super()\n this.driver = driver\n this.connection = driver.connection\n this.broadcaster = new Broadcaster(this)\n if (typeof this.driver.options.statementCacheSize === \"number\") {\n this.cacheSize = this.driver.options.statementCacheSize\n } else {\n this.cacheSize = 100\n }\n }\n\n private cacheSize: number\n private stmtCache = new Map<string, any>()\n\n private async getStmt(query: string) {\n if (this.cacheSize > 0) {\n let stmt = this.stmtCache.get(query)\n if (!stmt) {\n const databaseConnection = await this.connect()\n stmt = databaseConnection.prepare(query)\n this.stmtCache.set(query, stmt)\n while (this.stmtCache.size > this.cacheSize) {\n // since es6 map keeps the insertion order,\n // it comes to be FIFO cache\n const key = this.stmtCache.keys().next().value\n this.stmtCache.delete(key)\n }\n }\n return stmt\n } else {\n const databaseConnection = await this.connect()\n return databaseConnection.prepare(query)\n }\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 /**\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 connection = this.driver.connection\n\n this.driver.connection.logger.logQuery(query, parameters, this)\n const queryStartTime = +new Date()\n\n const stmt = await this.getStmt(query)\n\n try {\n const result = new QueryResult()\n\n if (stmt.reader) {\n const raw = stmt.all.apply(stmt, parameters)\n\n result.raw = raw\n\n if (Array.isArray(raw)) {\n result.records = raw\n }\n } else {\n const raw = stmt.run.apply(stmt, parameters)\n result.affected = raw.changes\n result.raw = raw.lastInsertRowid\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 connection.logger.logQuerySlow(\n queryExecutionTime,\n query,\n parameters,\n this,\n )\n\n if (!useStructuredResult) {\n return result.raw\n }\n\n return result\n } catch (err) {\n connection.logger.logQueryError(err, query, parameters, this)\n throw new QueryFailedError(query, parameters, err)\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n protected async loadTableRecords(\n tablePath: string,\n tableOrIndex: \"table\" | \"index\",\n ) {\n const [database, tableName] = this.splitTablePath(tablePath)\n const res = await this.query(\n `SELECT ${\n database ? `'${database}'` : null\n } as database, * FROM ${this.escapePath(\n `${database ? `${database}.` : \"\"}sqlite_master`,\n )} WHERE \"type\" = '${tableOrIndex}' AND \"${\n tableOrIndex === \"table\" ? \"name\" : \"tbl_name\"\n }\" IN ('${tableName}')`,\n )\n return res\n }\n protected async loadPragmaRecords(tablePath: string, pragma: string) {\n const [database, tableName] = this.splitTablePath(tablePath)\n const res = await this.query(\n `PRAGMA ${\n database ? `\"${database}\".` : \"\"\n }${pragma}(\"${tableName}\")`,\n )\n return res\n }\n}\n"],"sourceRoot":"../.."}
@@ -64,4 +64,20 @@ export interface PostgresConnectionOptions extends BaseDataSourceOptions, Postgr
64
64
  * the service using this connection. Defaults to 'undefined'
65
65
  */
66
66
  readonly applicationName?: string;
67
+ /**
68
+ * Return 64-bit integers (int8) as JavaScript integers.
69
+ *
70
+ * Because JavaScript doesn't have support for 64-bit integers node-postgres cannot confidently
71
+ * parse int8 data type results as numbers because if you have a huge number it will overflow
72
+ * and the result you'd get back from node-postgres would not be the result in the database.
73
+ * That would be a very bad thing so node-postgres just returns int8 results as strings and leaves the parsing up to you.
74
+ *
75
+ * Enabling parseInt8 will cause node-postgres to parse int8 results as numbers.
76
+ * Note: the maximum safe integer in js is: Number.MAX_SAFE_INTEGER (`+2^53`)
77
+ *
78
+ * @see [JavaScript Number objects](http://ecma262-5.com/ELS5_HTML.htm#Section_8.5)
79
+ * @see [node-postgres int8 explanation](https://github.com/brianc/node-pg-types#:~:text=on%20projects%3A%20return-,64%2Dbit%20integers,-(int8)%20as)
80
+ * @see [node-postgres defaults.parseInt8 implementation](https://github.com/brianc/node-postgres/blob/pg%408.8.0/packages/pg/lib/defaults.js#L80)
81
+ */
82
+ readonly parseInt8?: boolean;
67
83
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/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"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/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":"../.."}
@@ -1121,6 +1121,8 @@ export class PostgresDriver {
1121
1121
  * Creates a new connection pool for a given database credentials.
1122
1122
  */
1123
1123
  async createPool(options, credentials) {
1124
+ var _a;
1125
+ const { logger } = this.connection;
1124
1126
  credentials = Object.assign({}, credentials);
1125
1127
  // build connection options for the driver
1126
1128
  // See: https://github.com/brianc/node-postgres/tree/master/packages/pg-pool#create
@@ -1136,9 +1138,17 @@ export class PostgresDriver {
1136
1138
  application_name: options.applicationName,
1137
1139
  max: options.poolSize,
1138
1140
  }, options.extra || {});
1141
+ if (options.parseInt8 !== undefined) {
1142
+ if (this.postgres.defaults &&
1143
+ ((_a = Object.getOwnPropertyDescriptor(this.postgres.defaults, "parseInt8")) === null || _a === void 0 ? void 0 : _a.set)) {
1144
+ this.postgres.defaults.parseInt8 = options.parseInt8;
1145
+ }
1146
+ else {
1147
+ logger.log("warn", "Attempted to set parseInt8 option, but the postgres driver does not support setting defaults.parseInt8. This option will be ignored.");
1148
+ }
1149
+ }
1139
1150
  // create a connection pool
1140
1151
  const pool = new this.postgres.Pool(connectionOptions);
1141
- const { logger } = this.connection;
1142
1152
  const poolErrorHandler = options.poolErrorHandler ||
1143
1153
  ((error) => logger.log("warn", `Postgres pool raised an error. ${error}`));
1144
1154
  /*