@@ -41,6 +41,7 @@ defmodule Adbc.Database do
4141 """
4242 def start_link ( opts \\ [ ] ) do
4343 { driver , opts } = Keyword . pop ( opts , :driver , nil )
44+ { driver_opts , opts } = Keyword . split ( opts , [ :version ] )
4445
4546 unless driver do
4647 raise ArgumentError , ":driver option must be specified"
@@ -50,7 +51,7 @@ defmodule Adbc.Database do
5051 opts = Keyword . merge ( driver_default_options ( driver ) , opts )
5152
5253 with { :ok , ref } <- Adbc.Nif . adbc_database_new ( ) ,
53- :ok <- init_driver ( ref , driver ) ,
54+ :ok <- init_driver ( ref , driver , driver_opts ) ,
5455 :ok <- init_options ( ref , opts ) ,
5556 :ok <- Adbc.Nif . adbc_database_init ( ref ) do
5657 GenServer . start_link ( __MODULE__ , { driver , ref } , process_options )
@@ -153,8 +154,8 @@ defmodule Adbc.Database do
153154 @ impl true
154155 def handle_info ( _msg , state ) , do: { :noreply , state }
155156
156- defp init_driver ( ref , driver ) do
157- case Adbc.Driver . so_path ( driver ) do
157+ defp init_driver ( ref , driver , driver_opts ) do
158+ case Adbc.Driver . so_path ( driver , driver_opts ) do
158159 { :ok , path } -> Adbc.Helper . option ( ref , :adbc_database_set_option , [ :string , "driver" , path ] )
159160 { :error , reason } -> { :error , reason }
160161 end
0 commit comments