Class: Sequel::Mysql2::Dataset
- Inherits:
-
Dataset
- Object
- Dataset
- Sequel::Mysql2::Dataset
- 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
-
#delete ⇒ Object
Delete rows matching this dataset.
-
#fetch_rows(sql, &block) ⇒ Object
Yield all rows matching this dataset.
-
#graph ⇒ Object
Don’t allow graphing a dataset that splits multiple statements.
-
#insert(*values) ⇒ Object
Insert a new value into this dataset.
-
#replace(*args) ⇒ Object
Replace (update or insert) the matching row.
-
#update(values = {}) ⇒ Object
Update the matching rows.
Instance Method Details
#delete ⇒ Object
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 |
#graph ⇒ Object
Don’t allow graphing a dataset that splits multiple statements
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 |