Module: Sequel::JDBC
- Defined in:
- lib/sequel/adapters/jdbc.rb,
lib/sequel/adapters/jdbc/h2.rb,
lib/sequel/adapters/jdbc/as400.rb,
lib/sequel/adapters/jdbc/mssql.rb,
lib/sequel/adapters/jdbc/mysql.rb,
lib/sequel/adapters/jdbc/oracle.rb,
lib/sequel/adapters/jdbc/sqlite.rb,
lib/sequel/adapters/jdbc/postgresql.rb
Overview
Houses Sequel’s JDBC support when running on JRuby.
Defined Under Namespace
Modules: AS400, H2, JavaLang, JavaSQL, JavaxNaming, MSSQL, MySQL, Oracle, Postgres, SQLite Classes: Database, Dataset
Constant Summary collapse
- JNDI_URI_REGEXP =
Used to identify a jndi connection and to extract the jndi resource name.
/\Ajdbc:jndi:(.+)/
- DECIMAL_TYPE_RE =
The types to check for 0 scale to transform :decimal types to :integer.
/number|numeric|decimal/io
- DATABASE_SETUP =
Contains procs keyed on sub adapter type that extend the given database object so it supports the correct database type.
{:postgresql=>proc do |db| Sequel.ts_require 'adapters/jdbc/postgresql' db.extend(Sequel::JDBC::Postgres::DatabaseMethods) JDBC.load_gem('postgres') org.postgresql.Driver end, :mysql=>proc do |db| Sequel.ts_require 'adapters/jdbc/mysql' db.extend(Sequel::JDBC::MySQL::DatabaseMethods) JDBC.load_gem('mysql') com.mysql.jdbc.Driver end, :sqlite=>proc do |db| Sequel.ts_require 'adapters/jdbc/sqlite' db.extend(Sequel::JDBC::SQLite::DatabaseMethods) JDBC.load_gem('sqlite3') org.sqlite.JDBC end, :oracle=>proc do |db| Sequel.ts_require 'adapters/jdbc/oracle' db.extend(Sequel::JDBC::Oracle::DatabaseMethods) Java::oracle.jdbc.driver.OracleDriver end, :sqlserver=>proc do |db| Sequel.ts_require 'adapters/jdbc/mssql' db.extend(Sequel::JDBC::MSSQL::DatabaseMethods) com.microsoft.sqlserver.jdbc.SQLServerDriver end, :jtds=>proc do |db| Sequel.ts_require 'adapters/jdbc/mssql' db.extend(Sequel::JDBC::MSSQL::DatabaseMethods) JDBC.load_gem('jtds') Java::net.sourceforge.jtds.jdbc.Driver end, :h2=>proc do |db| Sequel.ts_require 'adapters/jdbc/h2' db.extend(Sequel::JDBC::H2::DatabaseMethods) JDBC.load_gem('h2') org.h2.Driver end, :as400=>proc do |db| Sequel.ts_require 'adapters/jdbc/as400' db.extend(Sequel::JDBC::AS400::DatabaseMethods) com.ibm.as400.access.AS400JDBCDriver end }
Class Method Summary collapse
-
.load_gem(name) ⇒ Object
Allowing loading the necessary JDBC support via a gem, which works for PostgreSQL, MySQL, and SQLite.
Class Method Details
.load_gem(name) ⇒ Object
Allowing loading the necessary JDBC support via a gem, which works for PostgreSQL, MySQL, and SQLite.
81 82 83 84 85 86 87 |
# File 'lib/sequel/adapters/jdbc.rb', line 81 def self.load_gem(name) begin Sequel.tsk_require "jdbc/#{name}" rescue LoadError # jdbc gem not used, hopefully the user has the .jar in their CLASSPATH end end |