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