Module: Sequel::JDBC
- Defined in:
- lib/sequel/adapters/jdbc.rb,
lib/sequel/adapters/jdbc/h2.rb,
lib/sequel/adapters/jdbc/db2.rb,
lib/sequel/adapters/jdbc/jtds.rb,
lib/sequel/adapters/jdbc/as400.rb,
lib/sequel/adapters/jdbc/derby.rb,
lib/sequel/adapters/jdbc/mssql.rb,
lib/sequel/adapters/jdbc/mysql.rb,
lib/sequel/adapters/jdbc/hsqldb.rb,
lib/sequel/adapters/jdbc/oracle.rb,
lib/sequel/adapters/jdbc/sqlite.rb,
lib/sequel/adapters/jdbc/firebird.rb,
lib/sequel/adapters/jdbc/informix.rb,
lib/sequel/adapters/jdbc/sqlserver.rb,
lib/sequel/adapters/jdbc/postgresql.rb,
lib/sequel/adapters/jdbc/transactions.rb
Overview
Houses Sequel’s JDBC support when running on JRuby.
Defined Under Namespace
Modules: AS400, DB2, Derby, Firebird, H2, HSQLDB, Informix, JTDS, JavaLang, JavaSQL, JavaxNaming, MSSQL, MySQL, Oracle, Postgres, SQLServer, SQLite, Transactions 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) db.dataset_class = Sequel::JDBC::Postgres::Dataset JDBC.load_gem('postgres') org.postgresql.Driver end, :mysql=>proc do |db| Sequel.ts_require 'adapters/jdbc/mysql' db.extend(Sequel::JDBC::MySQL::DatabaseMethods) db.dataset_class = Sequel::JDBC::MySQL::Dataset 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) db.dataset_class = Sequel::JDBC::SQLite::Dataset JDBC.load_gem('sqlite3') org.sqlite.JDBC end, :oracle=>proc do |db| Sequel.ts_require 'adapters/jdbc/oracle' db.extend(Sequel::JDBC::Oracle::DatabaseMethods) db.dataset_class = Sequel::JDBC::Oracle::Dataset Java::oracle.jdbc.driver.OracleDriver end, :sqlserver=>proc do |db| Sequel.ts_require 'adapters/jdbc/sqlserver' db.extend(Sequel::JDBC::SQLServer::DatabaseMethods) db.dataset_class = Sequel::JDBC::SQLServer::Dataset db.send(:set_mssql_unicode_strings) com.microsoft.sqlserver.jdbc.SQLServerDriver end, :jtds=>proc do |db| Sequel.ts_require 'adapters/jdbc/jtds' db.extend(Sequel::JDBC::JTDS::DatabaseMethods) db.dataset_class = Sequel::JDBC::JTDS::Dataset db.send(:set_mssql_unicode_strings) 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) db.dataset_class = Sequel::JDBC::H2::Dataset JDBC.load_gem('h2') org.h2.Driver end, :hsqldb=>proc do |db| Sequel.ts_require 'adapters/jdbc/hsqldb' db.extend(Sequel::JDBC::HSQLDB::DatabaseMethods) db.dataset_class = Sequel::JDBC::HSQLDB::Dataset # Current gem is 1.8.1.3, but Sequel supports 2.2.5 org.hsqldb.jdbcDriver end, :derby=>proc do |db| Sequel.ts_require 'adapters/jdbc/derby' db.extend(Sequel::JDBC::Derby::DatabaseMethods) db.dataset_class = Sequel::JDBC::Derby::Dataset JDBC.load_gem('derby') org.apache.derby.jdbc.EmbeddedDriver end, :as400=>proc do |db| Sequel.ts_require 'adapters/jdbc/as400' db.extend(Sequel::JDBC::AS400::DatabaseMethods) db.dataset_class = Sequel::JDBC::AS400::Dataset com.ibm.as400.access.AS400JDBCDriver end, :"informix-sqli"=>proc do |db| Sequel.ts_require 'adapters/jdbc/informix' db.extend(Sequel::JDBC::Informix::DatabaseMethods) db.dataset_class = Sequel::JDBC::Informix::Dataset com.informix.jdbc.IfxDriver end, :db2=>proc do |db| Sequel.ts_require 'adapters/jdbc/db2' db.extend(Sequel::JDBC::DB2::DatabaseMethods) db.dataset_class = Sequel::JDBC::DB2::Dataset com.ibm.db2.jcc.DB2Driver end, :firebirdsql=>proc do |db| Sequel.ts_require 'adapters/jdbc/firebird' db.extend(Sequel::JDBC::Firebird::DatabaseMethods) db.dataset_class = Sequel::JDBC::Firebird::Dataset org.firebirdsql.jdbc.FBDriver 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.
123 124 125 126 127 128 129 |
# File 'lib/sequel/adapters/jdbc.rb', line 123 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 |