123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- require 'sqlite3/constants'
- module SQLite3
- class Value
- attr_reader :handle
- def initialize( db, handle )
- @driver = db.driver
- @handle = handle
- end
- def null?
- type == :null
- end
- def to_blob
- @driver.value_blob( @handle )
- end
- def length( utf16=false )
- if utf16
- @driver.value_bytes16( @handle )
- else
- @driver.value_bytes( @handle )
- end
- end
- def to_f
- @driver.value_double( @handle )
- end
- def to_i
- @driver.value_int( @handle )
- end
- def to_int64
- @driver.value_int64( @handle )
- end
- def to_s( utf16=false )
- @driver.value_text( @handle, utf16 )
- end
- def type
- case @driver.value_type( @handle )
- when Constants::ColumnType::INTEGER then :int
- when Constants::ColumnType::FLOAT then :float
- when Constants::ColumnType::TEXT then :text
- when Constants::ColumnType::BLOB then :blob
- when Constants::ColumnType::NULL then :null
- end
- end
-
- end
- end
|