Skip to content

Commit f9b7a63

Browse files
committed
[mysql, postgre, mariadb] respecting driver_name convention
1 parent dbb21b7 commit f9b7a63

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

lib/arjdbc/mysql/connection_methods.rb

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,21 @@ def mysql_connection(config)
1010

1111
return jndi_connection(config) if jndi_config?(config)
1212

13-
driver = config[:driver] ||=
14-
defined?(::Jdbc::MySQL.driver_name) ? ::Jdbc::MySQL.driver_name : 'com.mysql.jdbc.Driver'
15-
16-
mysql_driver = driver.start_with?('com.mysql.')
17-
mariadb_driver = ! mysql_driver && driver.start_with?('org.mariadb.')
13+
driver = config[:driver]
14+
mysql_driver = driver.nil? || driver.to_s.start_with?('com.mysql.')
15+
mariadb_driver = ! mysql_driver && driver.to_s.start_with?('org.mariadb.')
1816

1917
begin
2018
require 'jdbc/mysql'
2119
::Jdbc::MySQL.load_driver(:require) if defined?(::Jdbc::MySQL.load_driver)
2220
rescue LoadError # assuming driver.jar is on the class-path
2321
end if mysql_driver
2422

23+
if driver.nil?
24+
config[:driver] ||=
25+
defined?(::Jdbc::MySQL.driver_name) ? ::Jdbc::MySQL.driver_name : 'com.mysql.jdbc.Driver'
26+
end
27+
2528
config[:username] = 'root' unless config.key?(:username)
2629
# jdbc:mysql://[host][,failoverhost...][:port]/[database]
2730
# - if the host name is not specified, it defaults to 127.0.0.1
@@ -108,7 +111,8 @@ def mariadb_connection(config)
108111
rescue LoadError # assuming driver.jar is on the class-path
109112
end
110113

111-
config[:driver] ||= 'org.mariadb.jdbc.Driver'
114+
config[:driver] ||=
115+
defined?(::Jdbc::MariaDB.driver_name) ? ::Jdbc::MariaDB.driver_name : 'org.mariadb.jdbc.Driver'
112116

113117
mysql_connection(config)
114118
end

lib/arjdbc/postgresql/connection_methods.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ def postgresql_connection(config)
1616
::Jdbc::Postgres.load_driver(:require) if defined?(::Jdbc::Postgres.load_driver)
1717
rescue LoadError # assuming driver.jar is on the class-path
1818
end
19-
driver = config[:driver] ||= 'org.postgresql.Driver'
19+
driver = (config[:driver] ||=
20+
defined?(::Jdbc::Postgres.driver_name) ? ::Jdbc::Postgres.driver_name : 'org.postgresql.Driver')
2021

2122
host = config[:host] ||= ( config[:hostaddr] || ENV['PGHOST'] || 'localhost' )
2223
port = config[:port] ||= ( ENV['PGPORT'] || 5432 )

0 commit comments

Comments
 (0)