Class: Sequel::JDBC::Dataset

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

Defined Under Namespace

Modules: PreparedStatementMethods, StoredProcedureMethods

Constant Summary

Constants inherited from Dataset

Dataset::ACTION_METHODS, Dataset::AND_SEPARATOR, Dataset::ARG_BLOCK_ERROR_MSG, 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::CONDITIONED_JOIN_TYPES, Dataset::COUNT_FROM_SELF_OPTS, Dataset::COUNT_OF_ALL_AS_COUNT, Dataset::DATASET_ALIAS_BASE_NAME, Dataset::DELETE_CLAUSE_METHODS, Dataset::FOR_UPDATE, Dataset::IMPORT_ERROR_MSG, Dataset::INSERT_CLAUSE_METHODS, Dataset::IS_LITERALS, Dataset::IS_OPERATORS, Dataset::JOIN_METHODS, Dataset::MUTATION_METHODS, Dataset::NON_SQL_OPTIONS, Dataset::NOTIMPL_MSG, Dataset::NULL, Dataset::N_ARITY_OPERATORS, Dataset::PREPARED_ARG_PLACEHOLDER, Dataset::QUALIFY_KEYS, Dataset::QUERY_METHODS, Dataset::QUESTION_MARK, Dataset::SELECT_CLAUSE_METHODS, Dataset::SQL_WITH, Dataset::STANDARD_TIMESTAMP_FORMAT, Dataset::TIMESTAMP_FORMAT, Dataset::TWO_ARITY_OPERATORS, Dataset::UNCONDITIONED_JOIN_TYPES, 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, #bind, #boolean_constant_sql, #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, #each_server, #empty?, #eql?, #except, #exclude, #exists, #filter, #first, #first_source, #first_source_alias, #first_source_table, #for_update, #from, #from_self, #function_sql, #get, #graph, #grep, #group, #group_and_count, #group_by, #hash, #having, #import, #insert, #insert_multiple, #insert_sql, #inspect, #intersect, #interval, #invert, #join, #join_clause_sql, #join_on_clause_sql, #join_table, #join_using_clause_sql, #last, #limit, #literal, #lock_style, #map, #max, #min, #multi_insert, #multi_insert_sql, #naked, #negative_boolean_constant_sql, #or, #order, #order_append, #order_by, #order_more, #order_prepend, #ordered_expression_sql, #paginate, #placeholder_literal_string_sql, #print, #provides_accurate_rows_matched?, #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, #reverse_order, #schema_and_table, #select, #select_all, #select_append, #select_hash, #select_map, #select_more, #select_order_map, #select_sql, #server, #set, #set_defaults, #set_graph_aliases, #set_overrides, #single_record, #single_value, #split_alias, #sql, #subscript_sql, #sum, #supports_cte?, #supports_distinct_on?, #supports_intersect_except?, #supports_intersect_except_all?, #supports_is_true?, #supports_join_using?, #supports_modifying_joins?, #supports_multiple_column_in?, #supports_timestamp_timezones?, #supports_timestamp_usecs?, #supports_window_functions?, #to_csv, #to_hash, #truncate, #truncate_sql, #unfiltered, #ungraphed, #ungrouped, #union, #unlimited, #unordered, #unused_table_alias, #update, #update_sql, #where, #window_function_sql, #window_sql, #with, #with_recursive, #with_sql

Methods included from Metaprogramming

#meta_def

Constructor Details

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

Use the convert_types default setting from the database



514
515
516
517
# File 'lib/sequel/adapters/jdbc.rb', line 514

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.



511
512
513
# File 'lib/sequel/adapters/jdbc.rb', line 511

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.



520
521
522
523
# File 'lib/sequel/adapters/jdbc.rb', line 520

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

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

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



527
528
529
530
531
532
533
534
535
# File 'lib/sequel/adapters/jdbc.rb', line 527

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