Sha256: 4a7c49edac468a6529893f7c0359f1c0968c38564d7bacf5dc3ccad4d2e15459

Contents?: true

Size: 944 Bytes

Versions: 2

Compression:

Stored size: 944 Bytes

Contents

ArJdbc::ConnectionMethods.module_eval do
  def hsqldb_connection(config)
    begin
      require 'jdbc/hsqldb'
      ::Jdbc::HSQLDB.load_driver(:require) if defined?(::Jdbc::HSQLDB.load_driver)
    rescue LoadError # assuming driver.jar is on the class-path
    end
    
    config[:url] ||= begin
      db = config[:database]
      if db[0, 4] == 'mem:' || db[0, 5] == 'file:' || db[0, 5] == 'hsql:'
        "jdbc:hsqldb:#{db}"
      else
        "jdbc:hsqldb:file:#{db}"
      end
    end
    config[:driver] ||= defined?(::Jdbc::HSQLDB.driver_name) ? ::Jdbc::HSQLDB.driver_name : 'org.hsqldb.jdbcDriver'
    config[:adapter_spec] ||= ::ArJdbc::HSQLDB
    config[:adapter_class] = ActiveRecord::ConnectionAdapters::HsqldbAdapter unless config.key?(:adapter_class)
    config[:connection_alive_sql] ||= 'CALL PI()' # does not like 'SELECT 1'
    
    embedded_driver(config)
  end
  alias_method :jdbchsqldb_connection, :hsqldb_connection
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activerecord-jdbc-adapter-1.3.4 lib/arjdbc/hsqldb/connection_methods.rb
activerecord-jdbc-adapter-1.3.3 lib/arjdbc/hsqldb/connection_methods.rb