Introduce DB::Connection::Options

Move prepared_statements out from ConnectionContext
This commit is contained in:
Brian J. Cardiff 2023-05-28 22:58:55 -03:00
parent 0328767b98
commit bc0200e178
5 changed files with 26 additions and 15 deletions

View file

@ -48,7 +48,9 @@ class FooDriver < DB::Driver
end
def connection_builder(uri : URI) : Proc(DB::Connection)
-> { FooConnection.new.as(DB::Connection) }
params = HTTP::Params.parse(uri.query || "")
options = DB::Connection::Options.from_http_params(params)
->{ FooConnection.new(options).as(DB::Connection) }
end
class FooConnection < DB::Connection
@ -111,7 +113,9 @@ class BarDriver < DB::Driver
end
def connection_builder(uri : URI) : Proc(DB::Connection)
-> { BarConnection.new.as(DB::Connection) }
params = HTTP::Params.parse(uri.query || "")
options = DB::Connection::Options.from_http_params(params)
->{ BarConnection.new(options).as(DB::Connection) }
end
class BarConnection < DB::Connection

View file

@ -3,11 +3,14 @@ require "../src/db"
class DummyDriver < DB::Driver
def connection_builder(uri : URI) : Proc(DB::Connection)
-> { DummyConnection.new.as(DB::Connection) }
params = HTTP::Params.parse(uri.query || "")
options = DB::Connection::Options.from_http_params(params)
->{ DummyConnection.new(options).as(DB::Connection) }
end
class DummyConnection < DB::Connection
def initialize
def initialize(options : DB::Connection::Options)
super(options)
@connected = true
@@connections ||= [] of DummyConnection
@@connections.not_nil! << self