1.0 API discussion
Soremwar opened this issue · comments
Steven Guerrero commented
- Use static async initializers instead of constructors + ready states
Steven Guerrero commented
queryArray/queryObject
- Remove
query*(sql, ...params)
overload. Parameters must be provided as an object or as an array instead of relying on rest syntax - QueryConfig.args -> arguments
- QueryConfig.text -> query
- Remove QueryConfig.encoder
Steven Guerrero commented
Client derivates
- applicationName -> application_name
- hostname -> host (Add JSDoc indicating this can be a path to a Unix socket as well)
- tls.caCertificates -> ca_certificates
- tls.enable and tls.enforce must be merged into a single option
Steven Guerrero commented
Pool
- Pool can be initialized without arguments, just like Client
- Pool options should be passed as an object, instead of additional arguments
- Pool size should have a default
-
connect
->getClient
Steven Guerrero commented
QueryResult
- rowCount -> affectedRows
- affectedRows is always set
- command must be a union type, not string
- text -> query
iugo commented
- rowCount -> affectedRows +1
- affectedRows is always set +1
Kyle June commented
More pool options like the node pg package has would be nice. You might be able to re-use code from pg-pool. The pg package uses the pg-pool package for managing it's pools and has options related to timing out connections and recreating them if they have been connected for a long time.