db_postgres: Refactor open() behavior to be consistent with other DBs (#6381)

This commit is contained in:
Lyndsy Simon
2017-09-15 10:56:08 -04:00
committed by Andreas Rumpf
parent 88a5e9d88c
commit 8ea78b1bc9

View File

@@ -516,10 +516,13 @@ proc open*(connection, user, password, database: string): DbConn {.
##
## See http://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING
## for more information.
##
## Note that the connection parameter is not used but exists to maintain
## the nim db api.
result = pqsetdbLogin(nil, nil, nil, nil, database, user, password)
let
colonPos = connection.find(':')
host = if colonPos < 0: connection
else: substr(connection, 0, colonPos-1)
port = if colonPos < 0: ""
else: substr(connection, colonPos+1)
result = pqsetdbLogin(host, port, nil, nil, database, user, password)
if pqStatus(result) != CONNECTION_OK: dbError(result) # result = nil
proc setEncoding*(connection: DbConn, encoding: string): bool {.