Class: Sequel::OpenBase::Dataset

Inherits:
Dataset show all
Defined in:
lib/sequel/adapters/openbase.rb

Constant Summary

Constants inherited from Dataset

Dataset::NOTIMPL_MSG, Dataset::STOCK_TRANSFORMS

Constants included from Dataset::Convenience

Dataset::Convenience::COMMA_SEPARATOR, Dataset::Convenience::MAGIC_METHODS, Dataset::Convenience::MUTATION_RE, Dataset::Convenience::NAKED_HASH

Constants included from Dataset::SQL

Dataset::SQL::ALIASED_REGEXP, Dataset::SQL::AND_SEPARATOR, Dataset::SQL::COMMA_SEPARATOR, Dataset::SQL::DATE_FORMAT, Dataset::SQL::FALSE, Dataset::SQL::JOIN_TYPES, Dataset::SQL::NULL, Dataset::SQL::QUALIFIED_REGEXP, Dataset::SQL::QUESTION_MARK, Dataset::SQL::STOCK_COUNT_OPTS, Dataset::SQL::TIMESTAMP_FORMAT, Dataset::SQL::TRUE, Dataset::SQL::WILDCARD

Constants included from Dataset::Sequelizer

Dataset::Sequelizer::JOIN_AND, Dataset::Sequelizer::JOIN_COMMA

Instance Attribute Summary

Attributes inherited from Dataset

#db, #opts

Attributes included from Dataset::Convenience

#current_page, #page_count, #page_size, #pagination_record_count

Instance Method Summary collapse

Methods inherited from Dataset

#<<, #clone_merge, #columns, dataset_classes, #each, #extend_with_destroy, inherited, #initialize, #model_classes, #naked, #polymorphic_key, #remove_row_proc, #set, #set_model, #set_options, #set_row_proc, #transform, #transform_load, #transform_save, #update_each_method

Methods included from Dataset::Convenience

#[], #[]=, #avg, #create_or_replace_view, #create_view, #current_page_record_count, #current_page_record_range, #each_hash, #empty?, #first, #group_and_count, #interval, #last, #magic_method_missing, #map, #max, #method_missing, #min, #multi_insert, #next_page, #page_range, #paginate, #prev_page, #print, #query, #range, #set_pagination_info, #single_record, #single_value, #sum, #to_csv, #to_hash

Methods included from Dataset::SQL

#and, #column_list, #count, #delete_sql, #except, #exclude, #exists, #expression_list, #filter, #from, #full_outer_join, #group, #having, #inner_join, #insert_multiple, #insert_sql, #intersect, #invert_order, #join_expr, #join_table, #left_outer_join, #limit, #or, #order, #qualified_column_name, #quote_column_ref, #reverse_order, #right_outer_join, #select, #select_sql, #source_list, #to_table_reference, #union, #uniq, #update_sql, #where

Methods included from Dataset::Sequelizer

#call_expr, #compare_expr, #eval_expr, #ext_expr, #fcall_expr, #iter_expr, #match_expr, #proc_to_sql, #pt_expr, #replace_dvars, #unfold_each_expr, #value_to_parse_tree, #vcall_expr

Methods included from Enumerable

#send_each

Constructor Details

This class inherits a constructor from Sequel::Dataset

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Sequel::Dataset::Convenience

Instance Method Details

#array_tuples_fetch_rows(sql, &block) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/sequel/adapters/openbase.rb', line 61

def array_tuples_fetch_rows(sql, &block)
  @db.synchronize do
    result = @db.execute sql
    begin
      @columns = result.column_infos.map {|c| c.name.to_sym}
      result.each do |r|
        r.keys = @columns
        yield r
      end
    ensure
      # cursor.close
    end
  end
  self
end

#delete(opts = nil) ⇒ Object



85
86
87
# File 'lib/sequel/adapters/openbase.rb', line 85

def delete(opts = nil)
  @db.do delete_sql(opts)
end

#fetch_rows(sql, &block) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/sequel/adapters/openbase.rb', line 44

def fetch_rows(sql, &block)
  @db.synchronize do
    result = @db.execute sql
    begin
      @columns = result.column_infos.map {|c| c.name.to_sym}
      result.each do |r|
        row = {}
        r.each_with_index {|v, i| row[@columns[i]] = v}
        yield row
      end
    ensure
      # result.close
    end
  end
  self
end

#insert(*values) ⇒ Object



77
78
79
# File 'lib/sequel/adapters/openbase.rb', line 77

def insert(*values)
  @db.do insert_sql(*values)
end

#literal(v) ⇒ Object



35
36
37
38
39
40
41
42
# File 'lib/sequel/adapters/openbase.rb', line 35

def literal(v)
  case v
  when Time
    literal(v.iso8601)
  else
    super
  end
end

#update(*args, &block) ⇒ Object



81
82
83
# File 'lib/sequel/adapters/openbase.rb', line 81

def update(*args, &block)
  @db.do update_sql(*args, &block)
end