Sha256: 4affbe91d7a057d0e1b88f70bff4c954feef3c771e58f169c0f0be15caadfaf9

Contents?: true

Size: 1.3 KB

Versions: 2

Compression:

Stored size: 1.3 KB

Contents

require "Mono.Data.Sqlite, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"
require "Mono.Data.SqliteClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"

class Baza::Driver::Sqlite3_ironruby
  def escape_table
    return "`"
  end
  
  def escape_col
    return "`"
  end
  
  def escape_val
    return "'"
  end
  
  def initialize(baza_db_obj)
    @baza_db = baza_db_obj
    @conn = Mono::Data::SqliteClient::SqliteConnection.new("URI=file:" + @baza_db.opts[:path] + ",version=3")
    @conn.Open
  end
  
  def query(string)
    dbcmd = @conn.CreateCommand
    dbcmd.CommandText = string
    reader = dbcmd.ExecuteReader
    return Baza::Driver::Sqlite3_ironruby_result.new(reader)
  end
  
  def escape(string)
    if (!string)
      return ""
    end
    
      string = string.gsub("'", "\\'")
    return string
  end
  
  def lastID
    return @conn.last_insert_row_id
  end
end

class Baza::Driver::Sqlite3_ironruby_result
  def initialize(reader)
    @reader = reader
  end
  
  def fetch
    if !@reader.Read
      return false
    end
    
    ret = {}
    
    count = 0
    while true
      begin
        ret[@reader.get_name(count)] = @reader.get_string(count)
      rescue IndexError => e
        break
      end
      
      count += 1
    end
    
    return ret
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
baza-0.0.14 include/drivers/sqlite3/libknjdb_sqlite3_ironruby.rb
baza-0.0.13 include/drivers/sqlite3/libknjdb_sqlite3_ironruby.rb