Class: Sequel::Oracle::Dataset

Inherits:
Dataset
  • Object
show all
Includes:
DatasetMethods
Defined in:
lib/sequel/adapters/oracle.rb

Defined Under Namespace

Modules: ArgumentMapper

Constant Summary collapse

BindArgumentMethods =
prepared_statements_module(:bind, ArgumentMapper)
PreparedStatementMethods =
prepared_statements_module(:prepare, BindArgumentMethods)

Constants included from DatasetMethods

Sequel::Oracle::DatasetMethods::BITAND_PROC, Sequel::Oracle::DatasetMethods::ROW_NUMBER_EXPRESSION

Instance Method Summary collapse

Methods included from DatasetMethods

#complex_expression_sql_append, #constant_sql_append, #empty?, #except, #recursive_cte_requires_column_aliases?, #requires_sql_standard_datetimes?, #select_sql, #sequence, #server_version, #supports_cte?, #supports_derived_column_lists?, #supports_fetch_next_rows?, #supports_group_cube?, #supports_group_rollup?, #supports_grouping_sets?, #supports_intersect_except_all?, #supports_is_true?, #supports_limits_in_correlated_subqueries?, #supports_merge?, #supports_nowait?, #supports_offsets_in_correlated_subqueries?, #supports_regexp?, #supports_select_all_and_column?, #supports_skip_locked?, #supports_timestamp_timezones?, #supports_where_true?, #supports_window_functions?

Methods included from AutoCastDateAndTime

#requires_sql_standard_datetimes?

Instance Method Details

#fetch_rows(sql) ⇒ Object



375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
# File 'lib/sequel/adapters/oracle.rb', line 375

def fetch_rows(sql)
  execute(sql) do |cursor|
    cps = db.conversion_procs
    cols = columns = cursor.get_col_names.map{|c| output_identifier(c)}
     = cursor.
    cm = cols.zip().map{|c, m| [c, cps[m.data_type]]}
    self.columns = columns
    while r = cursor.fetch
      row = {}
      r.zip(cm).each{|v, (c, cp)| row[c] = ((v && cp) ? cp.call(v) : v)}
      yield row
    end
  end
  self
end

#requires_placeholder_type_specifiers?Boolean

Oracle requires type specifiers for placeholders, at least if you ever want to use a nil/NULL value as the value for the placeholder.

Returns:

  • (Boolean)


394
395
396
# File 'lib/sequel/adapters/oracle.rb', line 394

def requires_placeholder_type_specifiers?
  true
end