summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2014-03-08 10:46:39 +0100
committerAndreas Rumpf <rumpf_a@web.de>2014-03-08 10:46:39 +0100
commitedfcbab86fa613c16b4a9486bb723a5bb0dd770d (patch)
tree1f4d68653e13a0a3753fc48c3107e2ca8cd71c7b
parentaaa13c001161c6efac250ea4b3ccbeab21fb9635 (diff)
parent51d2384e1aa890b243f14a80ae2a126308a37d9f (diff)
downloadNim-edfcbab86fa613c16b4a9486bb723a5bb0dd770d.tar.gz
Merge pull request #899 from Leu-Gim/master
Fixes passing non-default host and port to db_mysql.Open.
-rw-r--r--lib/impure/db_mysql.nim10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/impure/db_mysql.nim b/lib/impure/db_mysql.nim
index 74aaa1a59..32cda3e4d 100644
--- a/lib/impure/db_mysql.nim
+++ b/lib/impure/db_mysql.nim
@@ -195,8 +195,14 @@ proc open*(connection, user, password, database: string): TDbConn {.
## be established.
result = mysql.Init(nil)
if result == nil: dbError("could not open database connection")
- if mysql.RealConnect(result, "", user, password, database,
- 0'i32, nil, 0) == nil:
+ let
+ colonPos = connection.find(':')
+ host = if colonPos < 0: connection
+ else: substr(connection, 0, colonPos-1)
+ port: int32 = if colonPos < 0: 0'i32
+ else: substr(connection, colonPos+1).parseInt.int32
+ if mysql.RealConnect(result, host, user, password, database,
+ port, nil, 0) == nil:
var errmsg = $mysql.error(result)
db_mysql.Close(result)
dbError(errmsg)