require 'yaml'
require 'sldb'

DB = SLDB::new { 
  schema <<-sql
    create table t0 ( a, b, c);
    create table t1 ( x, y, z);
  sql

  path 'sldb'
}

db = DB::new

#
# many utility methods exist to make working with the databases easier
#
db.transaction do
  db.tablenames.each do |tablename|
    tuple = db.tuple_for tablename
    tuple.fields.each{|f| tuple[f] = db.timestamp 'local' => true}
    values = db.quote tuple
    sql = "insert into #{ tablename } values (#{ values.join ',' })"
    db.execute sql
  end
end

db.read_only_transaction do
  db.tablenames.each do |tablename|
    db.execute("select * from #{ tablename }") do |t|
      t.map!{|f| db.stamptime f, 'local' => true}
      y t.to_hash
    end
  end
end
