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 381 def complex_expression_sql_append(sql, op, args) 382 case op 383 when :~, :'!~', :'~*', :'!~*' 384 return super unless supports_regexp? 385 386 case_insensitive = [:'~*', :'!~*'].include?(op) 387 sql << 'NOT ' if [:'!~', :'!~*'].include?(op) 388 sql << '(' 389 sql << 'LOWER(' if case_insensitive 390 literal_append(sql, args[0]) 391 sql << ')' if case_insensitive 392 sql << ' REGEXP ' 393 sql << 'LOWER(' if case_insensitive 394 literal_append(sql, args[1]) 395 sql << ')' if case_insensitive 396 sql << ')' 397 else 398 super 399 end 400 end
fetch_rows(sql)
[show source]
# File lib/sequel/adapters/sqlite.rb 402 def fetch_rows(sql) 403 execute(sql) do |result| 404 cps = db.conversion_procs 405 type_procs = result.types.map{|t| cps[base_type_name(t)]} 406 j = -1 407 cols = result.columns.map{|c| [output_identifier(c), type_procs[(j+=1)]]} 408 self.columns = cols.map(&:first) 409 max = cols.length 410 result.each do |values| 411 row = {} 412 i = -1 413 while (i += 1) < max 414 name, type_proc = cols[i] 415 v = values[i] 416 if type_proc && v 417 v = type_proc.call(v) 418 end 419 row[name] = v 420 end 421 yield row 422 end 423 end 424 end
supports_regexp?()
Support regexp if using :setup_regexp_function Database
option.
[show source]
# File lib/sequel/adapters/sqlite.rb 427 def supports_regexp? 428 db.allow_regexp? 429 end