HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/ruby/vendor_ruby/sqlite3/value.rb
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