Included modules
Classes and Modules
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