class Sequel::SQLite::Dataset

  1. lib/sequel/adapters/sqlite.rb
Superclass: Dataset

Constants

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

Public Instance methods

complex_expression_sql_append(sql, op, args)

Support regexp functions if using :setup_regexp_function Database option.

[show source]
    # File lib/sequel/adapters/sqlite.rb
403 def complex_expression_sql_append(sql, op, args)
404   case op
405   when :~, :'!~', :'~*', :'!~*'
406     return super unless supports_regexp?
407 
408     case_insensitive = [:'~*', :'!~*'].include?(op)
409     sql << 'NOT ' if [:'!~', :'!~*'].include?(op)
410     sql << '('
411     sql << 'LOWER(' if case_insensitive
412     literal_append(sql, args[0])
413     sql << ')' if case_insensitive
414     sql << ' REGEXP '
415     sql << 'LOWER(' if case_insensitive
416     literal_append(sql, args[1])
417     sql << ')' if case_insensitive
418     sql << ')'
419   else
420     super
421   end
422 end
fetch_rows(sql)
[show source]
    # File lib/sequel/adapters/sqlite.rb
424 def fetch_rows(sql)
425   execute(sql) do |result|
426     cps = db.conversion_procs
427     type_procs = result.types.map{|t| cps[base_type_name(t)]}
428     j = -1
429     cols = result.columns.map{|c| [output_identifier(c), type_procs[(j+=1)]]}
430     self.columns = cols.map(&:first)
431     max = cols.length
432     result.each do |values|
433       row = {}
434       i = -1
435       while (i += 1) < max
436         name, type_proc = cols[i]
437         v = values[i]
438         if type_proc && v
439           v = type_proc.call(v)
440         end
441         row[name] = v
442       end
443       yield row
444     end
445   end
446 end
supports_regexp?()

Support regexp if using :setup_regexp_function Database option.

[show source]
    # File lib/sequel/adapters/sqlite.rb
449 def supports_regexp?
450   db.allow_regexp?
451 end