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
    :int
  when Constants::ColumnType::FLOAT
    :float
  when Constants::ColumnType::TEXT
    :text
  when Constants::ColumnType::BLOB
    :blob
  when Constants::ColumnType::NULL
    :null
  end
end