Methods
Public Class methods
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 168 168: def self.api_delegate( name ) 169: define_method( name ) { |*args| API.send( "sqlite3_#{name}", *args ) } 170: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 39 39: def initialize 40: @callback_data = Hash.new 41: end
Public Instance methods
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 93 93: def bind_text( stmt, index, value, utf16=false ) 94: API.send( ( utf16 ? :sqlite3_bind_text16 : :sqlite3_bind_text ), 95: stmt, index, value.to_s ) 96: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 47 47: def busy_handler( db, data=nil, &block ) 48: if block 49: cb = API::CallbackData.new 50: cb.proc = block 51: cb.data = data 52: end 53: 54: API.sqlite3_busy_handler( db, 55: block ? API::Sqlite3_ruby_busy_handler : nil, cb ) 56: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 103 103: def column_decltype( stmt, index, utf16=false ) 104: API.send( 105: ( utf16 ? :sqlite3_column_decltype16 : :sqlite3_column_decltype ), 106: stmt, index ) 107: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 98 98: def column_name( stmt, index, utf16=false ) 99: API.send( ( utf16 ? :sqlite3_column_name16 : :sqlite3_column_name ), 100: stmt, index ) 101: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 109 109: def column_text( stmt, index, utf16=false ) 110: API.send( ( utf16 ? :sqlite3_column_text16 : :sqlite3_column_text ), 111: stmt, index ) 112: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 43 43: def complete?( sql, utf16=false ) 44: API.send( utf16 ? :sqlite3_complete16 : :sqlite3_complete, sql ) != 0 45: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 114 114: def create_function( db, name, args, text, cookie, func, step, final ) 115: if func || ( step && final ) 116: cb = API::CallbackData.new 117: cb.proc = cb.proc2 = nil 118: cb.data = cookie 119: @callback_data[ name ] = cb 120: else 121: @callback_data.delete( name ) 122: end 123: 124: if func 125: cb.proc = func 126: 127: func = API::Sqlite3_ruby_function_step 128: step = final = nil 129: elsif step && final 130: cb.proc = step 131: cb.proc2 = final 132: 133: func = nil 134: step = API::Sqlite3_ruby_function_step 135: final = API::Sqlite3_ruby_function_final 136: end 137: 138: API.sqlite3_create_function( db, name, args, text, cb, func, step, final ) 139: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 84 84: def errmsg( db, utf16=false ) 85: API.send( utf16 ? :sqlite3_errmsg16 : :sqlite3_errmsg, db ) 86: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 80 80: def open( filename, utf16=false ) 81: API.send( utf16 ? :sqlite3_open16 : :sqlite3_open, filename ) 82: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 88 88: def prepare( db, sql, utf16=false ) 89: API.send( ( utf16 ? :sqlite3_prepare16 : :sqlite3_prepare ), 90: db, sql ) 91: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 163 163: def result_error( context, value, utf16=false ) 164: API.send( ( utf16 ? :sqlite3_result_error16 : :sqlite3_result_error ), 165: context, value ) 166: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 152 152: def result_text( context, result, utf16=false ) 153: method = case utf16 154: when nil, false then :sqlite3_result_text 155: when :le then :sqlite3_result_text16le 156: when :be then :sqlite3_result_text16be 157: else :sqlite3_result_text16 158: end 159: 160: API.send( method, context, result.to_s ) 161: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 58 58: def set_authorizer( db, data=nil, &block ) 59: if block 60: cb = API::CallbackData.new 61: cb.proc = block 62: cb.data = data 63: end 64: 65: API.sqlite3_set_authorizer( db, 66: block ? API::Sqlite3_ruby_authorizer : nil, cb ) 67: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 69 69: def trace( db, data=nil, &block ) 70: if block 71: cb = API::CallbackData.new 72: cb.proc = block 73: cb.data = data 74: end 75: 76: API.sqlite3_trace( db, 77: block ? API::Sqlite3_ruby_trace : nil, cb ) 78: end
[ show source ]
# File lib/sqlite3/driver/native/driver.rb, line 141 141: def value_text( value, utf16=false ) 142: method = case utf16 143: when nil, false then :sqlite3_value_text 144: when :le then :sqlite3_value_text16le 145: when :be then :sqlite3_value_text16be 146: else :sqlite3_value_text16 147: end 148: 149: API.send( method, value ) 150: end