Project

General

Profile

Bug #3174 » reproduce_crash.rb

ingo (Ingo M), 04/19/2010 08:49 PM

 
#!/usr/bin/env ruby
# encoding: utf-8

require "rubygems"
require "pg"

$old = PGconn.new( :dbname => 'tsm', :host => 'gzptsm01', :user => 'xglogs', :password => 'xglogs' )
$new = PGconn.new( :dbname => 'tsm', :host => 'localhost' )

puts "create table "
$old.exec("drop table crash_table")
$old.exec("create table crash_table ( id int8 , server_a float, server_b float, server_c float, server_d float, server_e float ) ")
$new.exec("drop table crash_table")
$new.exec("create table crash_table ( id int8 , name varchar(8), value float ) ")

puts "fill table "
$old.exec("BEGIN")
250000.times {|i| $old.exec("insert into crash_table values ( #{i}, #{rand}, #{rand}, #{rand}, #{rand}, #{rand} ) ") }
$old.exec("COMMIT")

puts "queries"
['server_a','server_b','server_c','server_d','server_e',].each do |server|
print server," : Session : "
t = $old.exec("select id, #{server} from crash_table ").to_a
print t.size,"\n"
t.each {|i|
$new.exec("insert into crash_table values ( #{i["id"]}, '#{server}', #{i[server]} )")
}
end
(1-1/2)