class SQLite3::Value

def initialize(db, handle)

def initialize(db, handle)
  @driver = db.driver
  @handle = handle
end

def length(utf16 = false)

def length(utf16 = false)
  if utf16
    @driver.value_bytes16(@handle)
  else
    @driver.value_bytes(@handle)
  end
end

def null?

def null?
  type == :null
end

def to_blob

def to_blob
  @driver.value_blob(@handle)
end

def to_f

def to_f
  @driver.value_double(@handle)
end

def to_i

def to_i
  @driver.value_int(@handle)
end

def to_int64

def to_int64
  @driver.value_int64(@handle)
end

def to_s(utf16 = false)

def to_s(utf16 = false)
  @driver.value_text(@handle, utf16)
end

def type

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