class Sequel::JDBC::Dataset

  1. lib/sequel/adapters/jdbc.rb
Parent: JDBC

Methods

Public Instance

  1. convert_types
  2. fetch_rows
  3. prepare

Included modules

  1. StoredProcedures

Constants

BLOB_METHOD = tt.method(:blob)  
BUFFERED_READER_METHOD = tt.method(:buffered_reader)  
BYTE_ARRAY_METHOD = tt.method(:byte_array)  
CLOB_METHOD = tt.method(:clob)  
DATE_METHOD = tt.method(:date)  
DECIMAL_METHOD = tt.method(:decimal)  

Cache type translator methods so that duplicate Method objects are not created.

DatasetClass = self  
JAVA_BIG_DECIMAL = Java::JavaMath::BigDecimal  
JAVA_BUFFERED_READER = Java::JavaIo::BufferedReader  
JAVA_BYTE_ARRAY = Java::byte[]  
JAVA_SQL_BLOB = Java::JavaSQL::Blob  
JAVA_SQL_CLOB = Java::JavaSQL::Clob  
JAVA_SQL_DATE = Java::JavaSQL::Date  
JAVA_SQL_TIME = Java::JavaSQL::Time  
JAVA_SQL_TIMESTAMP = Java::JavaSQL::Timestamp  

Cache Java class constants to speed up lookups

JAVA_UUID = Java::JavaUtil::UUID  
TIME_METHOD = tt.method(:time)  
TYPE_TRANSLATOR_INSTANCE = tt = TYPE_TRANSLATOR.new  
UUID_METHOD = tt.method(:uuid)  

Attributes

convert_types [RW]

Whether to convert some Java types to ruby types when retrieving rows. Uses the database's setting by default, can be set to false to roughly double performance when fetching rows.

Public Instance methods

fetch_rows (sql, &block)

Correctly return rows from the database and return them as hashes.

[show source]
# File lib/sequel/adapters/jdbc.rb, line 666
def fetch_rows(sql, &block)
  execute(sql){|result| process_result_set(result, &block)}
  self
end
prepare (type, name=nil, *values)

Create a named prepared statement that is stored in the database (and connection) for reuse.

[show source]
# File lib/sequel/adapters/jdbc.rb, line 673
def prepare(type, name=nil, *values)
  ps = to_prepared_statement(type, values)
  ps.extend(PreparedStatementMethods)
  if name
    ps.prepared_statement_name = name
    db.set_prepared_statement(name, ps)
  end
  ps
end