Class: Sequel::Mysql2::Dataset

Inherits:
Dataset
  • Object
show all
Includes:
Sequel::MySQL::DatasetMethods, StoredProcedures
Defined in:
lib/sequel/adapters/mysql2.rb

Overview

Dataset class for MySQL datasets accessed via the native driver.

Defined Under Namespace

Modules: StoredProcedureMethods

Instance Method Summary collapse

Instance Method Details

#deleteObject

Delete rows matching this dataset



185
186
187
# File 'lib/sequel/adapters/mysql2.rb', line 185

def delete
  execute_dui(delete_sql){|c| return c.affected_rows}
end

#fetch_rows(sql, &block) ⇒ Object

Yield all rows matching this dataset. If the dataset is set to split multiple statements, yield arrays of hashes one per statement instead of yielding results for all statements as hashes.



192
193
194
195
196
197
# File 'lib/sequel/adapters/mysql2.rb', line 192

def fetch_rows(sql, &block)
  execute(sql) do |r|
    r.each &block
  end
  self
end

#graphObject

Don’t allow graphing a dataset that splits multiple statements

Raises:

  • (Error)


200
201
202
203
# File 'lib/sequel/adapters/mysql2.rb', line 200

def graph(*)
  raise(Error, "Can't graph a dataset that splits multiple result sets") if opts[:split_multiple_result_sets]
  super
end

#insert(*values) ⇒ Object

Insert a new value into this dataset



206
207
208
# File 'lib/sequel/adapters/mysql2.rb', line 206

def insert(*values)
  execute_dui(insert_sql(*values)){|c| return c.last_id}
end

#replace(*args) ⇒ Object

Replace (update or insert) the matching row.



211
212
213
# File 'lib/sequel/adapters/mysql2.rb', line 211

def replace(*args)
  execute_dui(replace_sql(*args)){|c| return c.last_id}
end

#update(values = {}) ⇒ Object

Update the matching rows.



216
217
218
# File 'lib/sequel/adapters/mysql2.rb', line 216

def update(values={})
  execute_dui(update_sql(values)){|c| return c.affected_rows}
end