Skip to content

Commit

Permalink
change database trait to require url options on connection creation
Browse files Browse the repository at this point in the history
  • Loading branch information
freels committed Sep 8, 2010
1 parent 687575c commit 7a0861c
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions src/main/scala/com/twitter/querulous/database/Database.scala
Expand Up @@ -34,8 +34,13 @@ object DatabaseFactory {
}

trait DatabaseFactory {
def apply(dbhosts: List[String], dbname: String, username: String, password: String): Database
def apply(dbhosts: List[String], username: String, password: String): Database
def apply(dbhosts: List[String], dbname: String, username: String, password: String, urlOptions: String): Database

def apply(dbhosts: List[String], dbname: String, username: String, password: String): Database =
apply(dbhosts, dbname, username, password, null)

def apply(dbhosts: List[String], username: String, password: String): Database =
apply(dbhosts, null, username, password, null)
}

trait Database {
Expand All @@ -52,10 +57,9 @@ trait Database {
}
}

protected def url(dbhosts: List[String], dbname: String) = {
protected def url(dbhosts: List[String], dbname: String, urlOptions: String) = {
val dbnameSegment = if (dbname == null) "" else ("/" + dbname)
"jdbc:mysql://" + dbhosts.mkString(",") + dbnameSegment + "?" + urlOptions
val urlOptsSegment = if (urlOptions == null) "" else ("?" + urlOptions)
"jdbc:mysql://" + dbhosts.mkString(",") + dbnameSegment + urlOptsSegment
}

def urlOptions = "useUnicode=true&characterEncoding=UTF-8&connectTimeout=500&socketTimeout=500"
}

0 comments on commit 7a0861c

Please sign in to comment.