Created
November 27, 2009 20:26
-
-
Save irjudson/244222 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'ruby-debug' | |
module DataMapper | |
module TPCC | |
# | |
# This creates all the necessary data in the database tables to execute the TPC-C benchmark. | |
# This requires a set of data that is scaled by the number of warehouses in the database. | |
# The scaling factors are taken from the specification of TPC-C, section 1.2.1. | |
# | |
def self.load(num_warehouses = 1) | |
before = Time.now() | |
# 300000 for production | |
(num_warehouses*30).of { OrderLine.make } | |
duration = Time.now() - before | |
puts "Created #{num_warehouses*300000} OrderLine Items in #{duration} seconds." | |
before = Time.now() | |
# 100000 for production | |
(num_warehouses*10).of { Stock.make } | |
duration = Time.now() - before | |
puts "Created #{num_warehouses*100000} Stock Items in #{duration} seconds." | |
before = Time.now() | |
num_warehouses.of { Warehouse.gen } | |
duration = Time.now() - before | |
puts "Created #{num_warehouses} Warehouse Items in #{duration} seconds." | |
# before = Time.now() | |
# # 100000 for production | |
# 10.of { Item.gen } | |
# duration = Time.now() - before | |
# puts "Created #{100000} Item Items in #{duration} seconds." | |
end | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Created 100000 Stock Items in 0.427975 seconds. | |
/Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/adapters/data_objects_adapter.rb:61:in `execute_non_query': Field 'stock_id' doesn't have a default value (DataObjects::SQLError) | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/adapters/data_objects_adapter.rb:61:in `execute' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/adapters/data_objects_adapter.rb:269:in `with_connection' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/adapters/data_objects_adapter.rb:59:in `execute' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/adapters/data_objects_adapter.rb:110:in `create' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/adapters/data_objects_adapter.rb:83:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/adapters/data_objects_adapter.rb:83:in `create' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/repository.rb:129:in `create' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:864:in `_create' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:624:in `hookable__create_hook_nan_before_advised' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/extlib-0.9.14/lib/extlib/hook.rb:299:in `create_hook' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/extlib-0.9.14/lib/extlib/hook.rb:297:in `catch' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/extlib-0.9.14/lib/extlib/hook.rb:297:in `create_hook' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:925:in `save_self' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:912:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:1085:in `run_once' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:911:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:351:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `__send__' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model/property.rb:224:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/associations/one_to_many.rb:264:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:869:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:957:in `send' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:957:in `save_children' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model/property.rb:224:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `save_children' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:912:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:1085:in `run_once' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:911:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:351:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `__send__' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model/property.rb:224:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/associations/one_to_many.rb:264:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:869:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:957:in `send' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:957:in `save_children' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model/property.rb:224:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `save_children' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:912:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:1085:in `run_once' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:911:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:351:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `__send__' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model/property.rb:224:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/associations/one_to_many.rb:264:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:869:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:957:in `send' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:957:in `save_children' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model/property.rb:224:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `save_children' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:912:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:1085:in `run_once' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:911:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:351:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `__send__' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model/property.rb:224:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:1234:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/associations/one_to_many.rb:264:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/collection.rb:869:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:957:in `send' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:957:in `save_children' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model/property.rb:224:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `each' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `all?' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:956:in `save_children' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:912:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:1085:in `run_once' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:911:in `_save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/resource.rb:351:in `save' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model.rb:627:in `__send__' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model.rb:627:in `_create' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-core-0.10.2/lib/dm-core/model.rb:413:in `create' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-sweatshop-0.10.2/lib/dm-sweatshop/sweatshop.rb:75:in `create' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/dm-sweatshop-0.10.2/lib/dm-sweatshop/model.rb:38:in `gen' | |
from /Users/judson/Projects/dm-tpcc/lib/tpcc/load.rb:24:in `load' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/randexp-0.1.4/lib/randexp/core_ext/integer.rb:3:in `of' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/randexp-0.1.4/lib/randexp/core_ext/integer.rb:3:in `map' | |
from /Users/judson/.rvm/gems/ruby/1.8.7%dm-next/gems/randexp-0.1.4/lib/randexp/core_ext/integer.rb:3:in `of' | |
from /Users/judson/Projects/dm-tpcc/lib/tpcc/load.rb:24:in `load' | |
from ./dm-tpcc.rb:22 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment