Class: Sequel::JDBC::Dataset

Inherits:
Dataset show all
Includes:
StoredProcedures
Defined in:
lib/sequel/lib/sequel/adapters/jdbc.rb

Defined Under Namespace

Modules: PreparedStatementMethods, StoredProcedureMethods

Constant Summary

Constants inherited from Dataset

Dataset::AND_SEPARATOR, Dataset::ARRAY_ACCESS_ERROR_MSG, Dataset::BOOL_FALSE, Dataset::BOOL_TRUE, Dataset::COLUMN_CHANGE_OPTS, Dataset::COLUMN_REF_RE1, Dataset::COLUMN_REF_RE2, Dataset::COLUMN_REF_RE3, Dataset::COMMA_SEPARATOR, Dataset::COUNT_FROM_SELF_OPTS, Dataset::COUNT_OF_ALL_AS_COUNT, Dataset::DATASET_ALIAS_BASE_NAME, Dataset::DELETE_CLAUSE_METHODS, Dataset::FROM_SELF_KEEP_OPTS, Dataset::GET_ERROR_MSG, Dataset::IMPORT_ERROR_MSG, Dataset::INSERT_CLAUSE_METHODS, Dataset::IS_LITERALS, Dataset::IS_OPERATORS, Dataset::MAP_ERROR_MSG, Dataset::MUTATION_METHODS, Dataset::NOTIMPL_MSG, Dataset::NULL, Dataset::N_ARITY_OPERATORS, Dataset::PREPARED_ARG_PLACEHOLDER, Dataset::QUALIFY_KEYS, Dataset::QUESTION_MARK, Dataset::SELECT_CLAUSE_METHODS, Dataset::SQL_WITH, Dataset::STANDARD_TIMESTAMP_FORMAT, Dataset::STOCK_COUNT_OPTS, Dataset::TIMESTAMP_FORMAT, Dataset::TWO_ARITY_OPERATORS, Dataset::UPDATE_CLAUSE_METHODS, Dataset::WILDCARD, Dataset::WITH_SUPPORTED

Instance Attribute Summary collapse

Attributes inherited from Dataset

#db, #identifier_input_method, #identifier_output_method, #opts, #quote_identifiers, #row_proc

Instance Method Summary collapse

Methods inherited from Dataset

#<<, #[], #[]=, #add_graph_aliases, #aliased_expression_sql, #all, #and, #array_sql, #as, #avg, #call, #case_expression_sql, #cast_sql, clause_methods, #clone, #column_all_sql, #columns, #columns!, #complex_expression_sql, #constant_sql, #count, def_mutation_method, #def_mutation_method, #delete, #delete_sql, #distinct, #each, #each_page, #empty?, #except, #exclude, #exists, #filter, #first, #first_source_alias, #from, #from_self, #function_sql, #get, #graph, #grep, #group, #group_and_count, #having, #import, #insert, #insert_multiple, #insert_sql, #inspect, #intersect, #interval, #invert, #join_clause_sql, #join_on_clause_sql, #join_table, #join_using_clause_sql, #last, #limit, #literal, #map, #max, #min, #multi_insert, #multi_insert_sql, #naked, #or, #order, #order_more, #ordered_expression_sql, #paginate, #placeholder_literal_string_sql, #print, #qualified_identifier_sql, #qualify, #qualify_to, #qualify_to_first_source, #query, #quote_identifier, #quote_identifiers?, #quote_schema_table, #quoted_identifier, #range, #requires_sql_standard_datetimes?, #reverse_order, #schema_and_table, #select, #select_all, #select_more, #select_sql, #server, #set, #set_defaults, #set_graph_aliases, #set_overrides, #single_record, #single_value, #sql, #subscript_sql, #sum, #supports_cte?, #supports_distinct_on?, #supports_intersect_except?, #supports_intersect_except_all?, #supports_is_true?, #supports_timestamp_timezones?, #supports_timestamp_usecs?, #supports_window_functions?, #to_csv, #to_hash, #truncate, #truncate_sql, #unfiltered, #ungraphed, #ungrouped, #union, #unlimited, #unordered, #update, #update_sql, #where, #window_function_sql, #window_sql, #with, #with_recursive, #with_sql

Methods included from Metaprogramming

#meta_def

Methods included from Enumerable

#fourth, #second, #third

Constructor Details

#initialize(db, opts = {}) ⇒ Dataset

Use the convert_types default setting from the database



445
446
447
448
# File 'lib/sequel/lib/sequel/adapters/jdbc.rb', line 445

def initialize(db, opts={})
  @convert_types = db.convert_types
  super
end

Instance Attribute Details

#convert_typesObject

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.



442
443
444
# File 'lib/sequel/lib/sequel/adapters/jdbc.rb', line 442

def convert_types
  @convert_types
end

Instance Method Details

#fetch_rows(sql, &block) ⇒ Object

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



451
452
453
454
# File 'lib/sequel/lib/sequel/adapters/jdbc.rb', line 451

def fetch_rows(sql, &block)
  execute(sql){|result| process_result_set(result, &block)}
  self
end

#prepare(type, name = nil, values = nil) ⇒ Object

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



458
459
460
461
462
463
464
465
466
# File 'lib/sequel/lib/sequel/adapters/jdbc.rb', line 458

def prepare(type, name=nil, values=nil)
  ps = to_prepared_statement(type, values)
  ps.extend(PreparedStatementMethods)
  if name
    ps.prepared_statement_name = name
    db.prepared_statements[name] = ps
  end
  ps
end