Class: Sequel::Extralite::Dataset
- Inherits:
-
Dataset
- Object
- Dataset
- Sequel::Extralite::Dataset
- Includes:
- SQLite::DatasetMethods
- Defined in:
- lib/sequel/adapters/extralite.rb
Defined Under Namespace
Modules: ArgumentMapper
Constant Summary collapse
- BindArgumentMethods =
prepared_statements_module(:bind, ArgumentMapper)
- PreparedStatementMethods =
prepared_statements_module(:prepare, BindArgumentMethods)
Instance Method Summary collapse
-
#complex_expression_sql_append(sql, op, args) ⇒ Object
Support regexp functions if using :setup_regexp_function Database option.
- #fetch_rows(sql, &block) ⇒ Object
-
#supports_regexp? ⇒ Boolean
Support regexp if using :setup_regexp_function Database option.
Instance Method Details
#complex_expression_sql_append(sql, op, args) ⇒ Object
Support regexp functions if using :setup_regexp_function Database option.
341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 |
# File 'lib/sequel/adapters/extralite.rb', line 341 def complex_expression_sql_append(sql, op, args) case op when :~, :'!~', :'~*', :'!~*' return super unless supports_regexp? case_insensitive = [:'~*', :'!~*'].include?(op) sql << 'NOT ' if [:'!~', :'!~*'].include?(op) sql << '(' sql << 'LOWER(' if case_insensitive literal_append(sql, args[0]) sql << ')' if case_insensitive sql << ' REGEXP ' sql << 'LOWER(' if case_insensitive literal_append(sql, args[1]) sql << ')' if case_insensitive sql << ')' else super end end |
#fetch_rows(sql, &block) ⇒ Object
362 363 364 365 366 367 368 |
# File 'lib/sequel/adapters/extralite.rb', line 362 def fetch_rows(sql, &block) execute(sql) do |result, columns| self.columns = columns # max = columns.size result.each(&block) end end |
#supports_regexp? ⇒ Boolean
Support regexp if using :setup_regexp_function Database option.
371 372 373 |
# File 'lib/sequel/adapters/extralite.rb', line 371 def supports_regexp? db.allow_regexp? end |