bigrecord 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +44 -0
- data/Rakefile +17 -0
- data/VERSION +1 -0
- data/doc/bigrecord_specs.rdoc +36 -0
- data/doc/getting_started.rdoc +157 -0
- data/examples/bigrecord.yml +25 -0
- data/generators/bigrecord/bigrecord_generator.rb +17 -0
- data/generators/bigrecord/templates/bigrecord.rake +47 -0
- data/generators/bigrecord_migration/bigrecord_migration_generator.rb +13 -0
- data/generators/bigrecord_migration/templates/migration.rb +9 -0
- data/generators/bigrecord_model/bigrecord_model_generator.rb +28 -0
- data/generators/bigrecord_model/templates/migration.rb +13 -0
- data/generators/bigrecord_model/templates/model.rb +7 -0
- data/generators/bigrecord_model/templates/model_spec.rb +12 -0
- data/init.rb +9 -0
- data/install.rb +22 -0
- data/lib/big_record/abstract_base.rb +1088 -0
- data/lib/big_record/action_view_extensions.rb +266 -0
- data/lib/big_record/ar_associations/association_collection.rb +194 -0
- data/lib/big_record/ar_associations/association_proxy.rb +158 -0
- data/lib/big_record/ar_associations/belongs_to_association.rb +57 -0
- data/lib/big_record/ar_associations/belongs_to_many_association.rb +57 -0
- data/lib/big_record/ar_associations/has_and_belongs_to_many_association.rb +164 -0
- data/lib/big_record/ar_associations/has_many_association.rb +191 -0
- data/lib/big_record/ar_associations/has_one_association.rb +80 -0
- data/lib/big_record/ar_associations.rb +1608 -0
- data/lib/big_record/ar_reflection.rb +223 -0
- data/lib/big_record/attribute_methods.rb +75 -0
- data/lib/big_record/base.rb +618 -0
- data/lib/big_record/br_associations/association_collection.rb +194 -0
- data/lib/big_record/br_associations/association_proxy.rb +153 -0
- data/lib/big_record/br_associations/belongs_to_association.rb +52 -0
- data/lib/big_record/br_associations/belongs_to_many_association.rb +293 -0
- data/lib/big_record/br_associations/cached_item_proxy.rb +194 -0
- data/lib/big_record/br_associations/cached_item_proxy_factory.rb +62 -0
- data/lib/big_record/br_associations/has_and_belongs_to_many_association.rb +168 -0
- data/lib/big_record/br_associations/has_one_association.rb +80 -0
- data/lib/big_record/br_associations.rb +978 -0
- data/lib/big_record/br_reflection.rb +151 -0
- data/lib/big_record/callbacks.rb +367 -0
- data/lib/big_record/connection_adapters/abstract/connection_specification.rb +279 -0
- data/lib/big_record/connection_adapters/abstract/database_statements.rb +175 -0
- data/lib/big_record/connection_adapters/abstract/quoting.rb +58 -0
- data/lib/big_record/connection_adapters/abstract_adapter.rb +190 -0
- data/lib/big_record/connection_adapters/column.rb +491 -0
- data/lib/big_record/connection_adapters/hbase_adapter.rb +432 -0
- data/lib/big_record/connection_adapters/view.rb +27 -0
- data/lib/big_record/connection_adapters.rb +10 -0
- data/lib/big_record/deletion.rb +73 -0
- data/lib/big_record/dynamic_schema.rb +92 -0
- data/lib/big_record/embedded.rb +71 -0
- data/lib/big_record/embedded_associations/association_proxy.rb +148 -0
- data/lib/big_record/family_span_columns.rb +89 -0
- data/lib/big_record/fixtures.rb +1025 -0
- data/lib/big_record/migration.rb +380 -0
- data/lib/big_record/routing_ext.rb +65 -0
- data/lib/big_record/timestamp.rb +51 -0
- data/lib/big_record/validations.rb +830 -0
- data/lib/big_record.rb +125 -0
- data/lib/bigrecord.rb +1 -0
- data/rails/init.rb +9 -0
- data/spec/connections/bigrecord.yml +13 -0
- data/spec/connections/cassandra/connection.rb +2 -0
- data/spec/connections/hbase/connection.rb +2 -0
- data/spec/debug.log +281 -0
- data/spec/integration/br_associations_spec.rb +80 -0
- data/spec/lib/animal.rb +12 -0
- data/spec/lib/book.rb +10 -0
- data/spec/lib/broken_migrations/duplicate_name/20090706182535_add_animals_table.rb +14 -0
- data/spec/lib/broken_migrations/duplicate_name/20090706193019_add_animals_table.rb +9 -0
- data/spec/lib/broken_migrations/duplicate_version/20090706190623_add_books_table.rb +9 -0
- data/spec/lib/broken_migrations/duplicate_version/20090706190623_add_companies_table.rb +9 -0
- data/spec/lib/company.rb +14 -0
- data/spec/lib/embedded/web_link.rb +12 -0
- data/spec/lib/employee.rb +33 -0
- data/spec/lib/migrations/20090706182535_add_animals_table.rb +13 -0
- data/spec/lib/migrations/20090706190623_add_books_table.rb +15 -0
- data/spec/lib/migrations/20090706193019_add_companies_table.rb +14 -0
- data/spec/lib/migrations/20090706194512_add_employees_table.rb +13 -0
- data/spec/lib/migrations/20090706195741_add_zoos_table.rb +13 -0
- data/spec/lib/novel.rb +5 -0
- data/spec/lib/zoo.rb +17 -0
- data/spec/spec.opts +4 -0
- data/spec/spec_helper.rb +55 -0
- data/spec/unit/abstract_base_spec.rb +287 -0
- data/spec/unit/adapters/abstract_adapter_spec.rb +56 -0
- data/spec/unit/adapters/adapter_shared_spec.rb +51 -0
- data/spec/unit/adapters/hbase_adapter_spec.rb +15 -0
- data/spec/unit/ar_associations_spec.rb +8 -0
- data/spec/unit/base_spec.rb +6 -0
- data/spec/unit/br_associations_spec.rb +58 -0
- data/spec/unit/embedded_spec.rb +43 -0
- data/spec/unit/find_spec.rb +34 -0
- data/spec/unit/hash_helper_spec.rb +44 -0
- data/spec/unit/migration_spec.rb +144 -0
- data/spec/unit/model_spec.rb +315 -0
- data/spec/unit/validations_spec.rb +182 -0
- data/tasks/bigrecord_tasks.rake +47 -0
- data/tasks/data_store.rb +46 -0
- data/tasks/gem.rb +22 -0
- data/tasks/rdoc.rb +8 -0
- data/tasks/spec.rb +34 -0
- metadata +189 -0
data/lib/big_record.rb
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 2009 openplaces
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
#++
|
23
|
+
|
24
|
+
$:.unshift(File.dirname(__FILE__)) unless
|
25
|
+
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
26
|
+
|
27
|
+
unless defined?(ActiveSupport)
|
28
|
+
begin
|
29
|
+
$:.unshift(File.dirname(__FILE__) + "/../../activesupport/lib")
|
30
|
+
require 'active_support'
|
31
|
+
rescue LoadError
|
32
|
+
require 'rubygems'
|
33
|
+
gem 'activesupport'
|
34
|
+
require 'active_support'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
unless defined?(ActiveRecord)
|
39
|
+
begin
|
40
|
+
$:.unshift(File.dirname(__FILE__) + "/../../activerecord/lib")
|
41
|
+
require 'active_record'
|
42
|
+
rescue LoadError
|
43
|
+
require 'rubygems'
|
44
|
+
gem 'activerecord'
|
45
|
+
require 'active_record'
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# FIXME: this shouldn't be required
|
50
|
+
# require 'active_record/fixtures'
|
51
|
+
|
52
|
+
require 'big_record/routing_ext'
|
53
|
+
require 'big_record/abstract_base'
|
54
|
+
require 'big_record/base'
|
55
|
+
require 'big_record/embedded'
|
56
|
+
require 'big_record/validations'
|
57
|
+
require 'big_record/callbacks'
|
58
|
+
require 'big_record/ar_reflection'
|
59
|
+
require 'big_record/br_reflection'
|
60
|
+
require 'big_record/ar_associations'
|
61
|
+
require 'big_record/br_associations'
|
62
|
+
require 'big_record/timestamp'
|
63
|
+
require 'big_record/attribute_methods'
|
64
|
+
require 'big_record/embedded_associations/association_proxy'
|
65
|
+
require 'big_record/dynamic_schema'
|
66
|
+
require 'big_record/deletion'
|
67
|
+
require 'big_record/family_span_columns'
|
68
|
+
require 'big_record/migration'
|
69
|
+
require 'big_record/connection_adapters'
|
70
|
+
require 'big_record/fixtures'
|
71
|
+
|
72
|
+
# Add support for collections to tag builders
|
73
|
+
require 'big_record/action_view_extensions'
|
74
|
+
|
75
|
+
BigRecord::Base.class_eval do
|
76
|
+
include BigRecord::Validations
|
77
|
+
include BigRecord::Callbacks
|
78
|
+
include BigRecord::Timestamp
|
79
|
+
include BigRecord::ArAssociations
|
80
|
+
include BigRecord::BrAssociations
|
81
|
+
include BigRecord::ArReflection
|
82
|
+
include BigRecord::BrReflection
|
83
|
+
include BigRecord::AttributeMethods
|
84
|
+
include BigRecord::DynamicSchema
|
85
|
+
include BigRecord::Deletion
|
86
|
+
include BigRecord::FamilySpanColumns
|
87
|
+
end
|
88
|
+
|
89
|
+
BigRecord::Embedded.class_eval do
|
90
|
+
include BigRecord::Validations
|
91
|
+
include BigRecord::Callbacks
|
92
|
+
include BigRecord::Timestamp
|
93
|
+
include BigRecord::ArAssociations
|
94
|
+
include BigRecord::BrAssociations
|
95
|
+
include BigRecord::ArReflection
|
96
|
+
include BigRecord::BrReflection
|
97
|
+
include BigRecord::AttributeMethods
|
98
|
+
include BigRecord::DynamicSchema
|
99
|
+
end
|
100
|
+
|
101
|
+
# Mixin the BigRecord associations with ActiveRecord
|
102
|
+
ActiveRecord::Base.class_eval do
|
103
|
+
include BigRecord::BrAssociations
|
104
|
+
include BigRecord::BrReflection
|
105
|
+
end
|
106
|
+
|
107
|
+
# Patch to call the validation of the embedded objects to HbaseRecord::Base instances.
|
108
|
+
BigRecord::Base.class_eval do
|
109
|
+
validate :validate_embeddeds
|
110
|
+
|
111
|
+
def validate_embeddeds
|
112
|
+
attributes.each do |k, v|
|
113
|
+
if v.kind_of?(BigRecord::Embedded)
|
114
|
+
errors.add(k, "is invalid: @errors=#{v.errors.full_messages.inspect}") unless v.valid?
|
115
|
+
elsif v.is_a?(Array) and v.first.kind_of?(BigRecord::Embedded)
|
116
|
+
v.each_with_index do |item, i|
|
117
|
+
next if item.blank?
|
118
|
+
unless item.valid?
|
119
|
+
errors.add(k, "is invalid. The item ##{i} in the collection has the following errors: @errors=#{item.errors.full_messages.inspect}")
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
data/lib/bigrecord.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'big_record'
|
data/rails/init.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'big_record'
|
2
|
+
|
3
|
+
# Use the same logger as ActiveRecord to make sure that the access to the log file is properly handled
|
4
|
+
BigRecord::Base.logger = ActiveRecord::Base.logger
|
5
|
+
BigRecord::Embedded.logger = ActiveRecord::Base.logger
|
6
|
+
|
7
|
+
# Establish the connection with the database
|
8
|
+
BigRecord::Base.configurations = YAML::load(File.open("#{RAILS_ROOT}/config/bigrecord.yml"))
|
9
|
+
BigRecord::Base.establish_connection
|
data/spec/debug.log
ADDED
@@ -0,0 +1,281 @@
|
|
1
|
+
# Logfile created on Tue Sep 29 18:00:46 -0400 2009 by /
|
2
|
+
Connecting to Hbase data store ({"hbase"=>{"drb_host"=>"localhost", "zookeeper_quorum"=>"localhost", "drb_port"=>50001, "zookeeper_client_port"=>21811, "adapter"=>"hbase"}, "cassandra"=>{"address"=>"localhost", "drb_host"=>"localhost", "drb_port"=>50002, "port"=>9160, "adapter"=>"cassandra"}})
|
3
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: animals: SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
4
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: animals: SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
5
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: animals: SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
6
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: animals: SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
7
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
8
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
9
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
10
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
11
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
12
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
13
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
14
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
15
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
16
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
17
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
18
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
19
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
20
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
21
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
22
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
23
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
24
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
25
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
26
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: zoos: SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
27
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
28
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
29
|
+
WARNING: Can't mass-assign these protected attributes: readonly, employees
|
30
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
31
|
+
WARNING: Can't mass-assign these protected attributes: name
|
32
|
+
Migrating to AddAnimalsTable (20090706182535)
|
33
|
+
Migrating to AddBooksTable (20090706190623)
|
34
|
+
Migrating to AddCompaniesTable (20090706193019)
|
35
|
+
Migrating to AddEmployeesTable (20090706194512)
|
36
|
+
Migrating to AddZoosTable (20090706195741)
|
37
|
+
Migrating to AddAnimalsTable (20090706182535)
|
38
|
+
Migrating to AddAnimalsTable (20090706182535)
|
39
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
40
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
41
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
42
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
43
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
44
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
45
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
46
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
47
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
48
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
49
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
50
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
51
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
52
|
+
[4;35;1mHBASE (0.000000)[0m [0mBigRecordDriver::TableNotFound: books: SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
53
|
+
[4;36;1mHBASE (0.000000)[0m [0;1mBigRecordDriver::TableNotFound: animals: SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
54
|
+
Connecting to Hbase data store ({"hbase"=>{"drb_host"=>"localhost", "zookeeper_quorum"=>"localhost", "drb_port"=>50001, "zookeeper_client_port"=>21811, "adapter"=>"hbase"}, "cassandra"=>{"address"=>"localhost", "drb_host"=>"localhost", "drb_port"=>50002, "port"=>9160, "adapter"=>"cassandra"}})
|
55
|
+
[4;36;1mHBASE (0.022437)[0m [0;1mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
56
|
+
[4;35;1mHBASE (0.015733)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
57
|
+
[4;36;1mHBASE (0.011078)[0m [0;1mUPDATE zoos SET {"attr:name"=>"\001Some Zoo", "attr:address"=>"\001123 Address St.", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"\000", "attr:description"=>"\001This is Some Zoo located at 123 Address St.", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=7bc03680-eb56-45d1-8dbc-323defb4643c;[0m
|
58
|
+
[4;35;1mHBASE (0.011281)[0m [0mUPDATE animals SET {"attribute:zoo_id"=>"\0017bc03680-eb56-45d1-8dbc-323defb4643c", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Stampy"} WHERE ROW=d794aa3c-bfbe-46a3-b98a-934a36840ee0;[0m
|
59
|
+
[4;36;1mHBASE (0.023628)[0m [0;1mSELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=d794aa3c-bfbe-46a3-b98a-934a36840ee0;[0m
|
60
|
+
[4;35;1mHBASE (0.007771)[0m [0mSELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=d794aa3c-bfbe-46a3-b98a-934a36840ee0;[0m
|
61
|
+
[4;36;1mHBASE (0.009221)[0m [0;1mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=7bc03680-eb56-45d1-8dbc-323defb4643c;[0m
|
62
|
+
[4;35;1mHBASE (0.010026)[0m [0mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
63
|
+
[4;36;1mHBASE (0.007432)[0m [0;1mDELETE FROM animals WHERE ROW=d794aa3c-bfbe-46a3-b98a-934a36840ee0;[0m
|
64
|
+
[4;35;1mHBASE (0.009833)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
65
|
+
[4;36;1mHBASE (0.003909)[0m [0;1mDELETE FROM zoos WHERE ROW=7bc03680-eb56-45d1-8dbc-323defb4643c;[0m
|
66
|
+
[4;35;1mHBASE (0.010187)[0m [0mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
67
|
+
[4;36;1mHBASE (0.010737)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
68
|
+
[4;35;1mHBASE (0.016145)[0m [0mUPDATE zoos SET {"attr:name"=>"\001Some Zoo", "attr:address"=>"\001123 Address St.", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"\000", "attr:description"=>"\001This is Some Zoo located at 123 Address St.", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=63331fd8-34d1-4e58-8af4-16bae7ee3e11;[0m
|
69
|
+
[4;36;1mHBASE (0.008209)[0m [0;1mUPDATE animals SET {"attribute:zoo_id"=>"\00163331fd8-34d1-4e58-8af4-16bae7ee3e11", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Stampy"} WHERE ROW=f14d136d-bf04-4734-a492-9dfc13d82e74;[0m
|
70
|
+
[4;35;1mHBASE (0.010670)[0m [0mUPDATE animals SET {"attribute:zoo_id"=>"\00163331fd8-34d1-4e58-8af4-16bae7ee3e11", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Dumbo"} WHERE ROW=60a6525f-d9f5-45d5-831d-9f7a53687a82;[0m
|
71
|
+
[4;36;1mHBASE (0.011815)[0m [0;1mUPDATE zoos SET {"attr:name"=>"\001Some Zoo", "attr:address"=>"\001123 Address St.", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"\000", "attr:description"=>"\001This is Some Zoo located at 123 Address St.", "attr:animal_ids"=>"--- \n- f14d136d-bf04-4734-a492-9dfc13d82e74\n- 60a6525f-d9f5-45d5-831d-9f7a53687a82\n"} WHERE ROW=63331fd8-34d1-4e58-8af4-16bae7ee3e11;[0m
|
72
|
+
[4;35;1mHBASE (0.007880)[0m [0mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=63331fd8-34d1-4e58-8af4-16bae7ee3e11;[0m
|
73
|
+
[4;36;1mHBASE (0.007931)[0m [0;1mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=63331fd8-34d1-4e58-8af4-16bae7ee3e11;[0m
|
74
|
+
[4;35;1mHBASE (0.006733)[0m [0mSELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=f14d136d-bf04-4734-a492-9dfc13d82e74;[0m
|
75
|
+
[4;36;1mHBASE (0.008996)[0m [0;1mSELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=60a6525f-d9f5-45d5-831d-9f7a53687a82;[0m
|
76
|
+
[4;35;1mHBASE (0.012351)[0m [0mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
77
|
+
[4;36;1mHBASE (0.003899)[0m [0;1mDELETE FROM animals WHERE ROW=60a6525f-d9f5-45d5-831d-9f7a53687a82;[0m
|
78
|
+
[4;35;1mHBASE (0.003673)[0m [0mDELETE FROM animals WHERE ROW=f14d136d-bf04-4734-a492-9dfc13d82e74;[0m
|
79
|
+
[4;36;1mHBASE (0.020741)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
80
|
+
[4;35;1mHBASE (0.004033)[0m [0mDELETE FROM zoos WHERE ROW=63331fd8-34d1-4e58-8af4-16bae7ee3e11;[0m
|
81
|
+
[4;36;1mHBASE (0.005796)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
82
|
+
[4;35;1mHBASE (0.006377)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
83
|
+
[4;36;1mHBASE (0.005561)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
84
|
+
[4;35;1mHBASE (0.005976)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
85
|
+
[4;36;1mHBASE (0.005514)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
86
|
+
[4;35;1mHBASE (0.005864)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
87
|
+
[4;36;1mHBASE (0.006374)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
88
|
+
[4;35;1mHBASE (0.005958)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
89
|
+
[4;36;1mHBASE (0.005807)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
90
|
+
[4;35;1mHBASE (0.005574)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
91
|
+
[4;36;1mHBASE (0.005405)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
92
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
93
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
94
|
+
[4;35;1mHBASE (0.006028)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
95
|
+
[4;36;1mHBASE (0.005590)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
96
|
+
WARNING: Can't mass-assign these protected attributes: readonly, employees
|
97
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
98
|
+
[4;35;1mHBASE (0.005735)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
99
|
+
[4;36;1mHBASE (0.005762)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
100
|
+
[4;35;1mHBASE (0.005543)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
101
|
+
[4;36;1mHBASE (0.005354)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
102
|
+
WARNING: Can't mass-assign these protected attributes: name
|
103
|
+
[4;35;1mHBASE (0.006637)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
104
|
+
[4;36;1mHBASE (0.006119)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
105
|
+
[4;35;1mHBASE (0.009624)[0m [0mUPDATE zoos SET {"attr:name"=>"\001African Lion Safari", "attr:address"=>"\001RR #1 Cambridge, Ontario Canada\nN1R 5S2", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"--- \ntitle: African Lion Safari - Wikipedia\nurl: http://en.wikipedia.org/wiki/African_Lion_Safari\nid: 03ae3c11-14f1-4f13-a7fd-9427ef795b62\n", "attr:description"=>"\001Canada's Original Safari Adventure", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=fcf8845f-09ce-468e-b968-d657729ef384;[0m
|
106
|
+
[4;36;1mHBASE (0.007397)[0m [0;1mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=fcf8845f-09ce-468e-b968-d657729ef384;[0m
|
107
|
+
[4;35;1mHBASE (0.009729)[0m [0mUPDATE zoos SET {"attr:name"=>"\001African Lion Safari", "attr:address"=>"\001RR #1 Cambridge, Ontario Canada\nN1R 5S2", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"--- \ntitle: African Lion Safari\nurl: http://www.lionsafari.com/\nid: 13a84f24-9043-4880-8d75-50d4cae3e34b\n", "attr:description"=>"\001Canada's Original Safari Adventure", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=fcf8845f-09ce-468e-b968-d657729ef384;[0m
|
108
|
+
[4;36;1mHBASE (0.007782)[0m [0;1mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=fcf8845f-09ce-468e-b968-d657729ef384;[0m
|
109
|
+
[4;35;1mHBASE (0.014803)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
110
|
+
[4;36;1mHBASE (0.003899)[0m [0;1mDELETE FROM zoos WHERE ROW=fcf8845f-09ce-468e-b968-d657729ef384;[0m
|
111
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
112
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
113
|
+
WARNING: Can't mass-assign these protected attributes: readonly, employees
|
114
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
115
|
+
WARNING: Can't mass-assign these protected attributes: name
|
116
|
+
Migrating to AddAnimalsTable (20090706182535)
|
117
|
+
Migrating to AddBooksTable (20090706190623)
|
118
|
+
Migrating to AddCompaniesTable (20090706193019)
|
119
|
+
Migrating to AddEmployeesTable (20090706194512)
|
120
|
+
Migrating to AddZoosTable (20090706195741)
|
121
|
+
Migrating to AddAnimalsTable (20090706182535)
|
122
|
+
Migrating to AddAnimalsTable (20090706182535)
|
123
|
+
[4;35;1mHBASE (0.015288)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
124
|
+
[4;36;1mHBASE (0.005271)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
125
|
+
[4;35;1mHBASE (0.005154)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
126
|
+
[4;36;1mHBASE (0.007712)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\000", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=aa91cf66-f52f-4164-b7e0-4bc09a916b5a;[0m
|
127
|
+
[4;35;1mHBASE (0.007866)[0m [0mSELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=aa91cf66-f52f-4164-b7e0-4bc09a916b5a;[0m
|
128
|
+
[4;36;1mHBASE (0.008086)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
129
|
+
[4;35;1mHBASE (0.003779)[0m [0mDELETE FROM books WHERE ROW=aa91cf66-f52f-4164-b7e0-4bc09a916b5a;[0m
|
130
|
+
[4;36;1mHBASE (0.005770)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
131
|
+
[4;35;1mHBASE (0.007684)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=16afcbfb-3417-49c2-9455-e6f97a08139c;[0m
|
132
|
+
[4;36;1mHBASE (0.008154)[0m [0;1mSELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=16afcbfb-3417-49c2-9455-e6f97a08139c;[0m
|
133
|
+
[4;35;1mHBASE (0.007918)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
134
|
+
[4;36;1mHBASE (0.003649)[0m [0;1mDELETE FROM books WHERE ROW=16afcbfb-3417-49c2-9455-e6f97a08139c;[0m
|
135
|
+
[4;35;1mHBASE (0.005293)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
136
|
+
[4;36;1mHBASE (0.008548)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=c121b605-32f6-452f-9d22-dcc9a4958296;[0m
|
137
|
+
[4;35;1mHBASE (0.006478)[0m [0mSELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=c121b605-32f6-452f-9d22-dcc9a4958296;[0m
|
138
|
+
[4;36;1mHBASE (0.007619)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001One of the Ten All-Time Best Novels of Vampirism.", "attribute:title"=>"\001I Am Legend", "attribute:links"=>"--- []\n\n", "attribute:author"=>"\001Richard Matheson"} WHERE ROW=c121b605-32f6-452f-9d22-dcc9a4958296;[0m
|
139
|
+
[4;35;1mHBASE (0.006651)[0m [0mSELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=c121b605-32f6-452f-9d22-dcc9a4958296;[0m
|
140
|
+
[4;36;1mHBASE (0.018217)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
141
|
+
[4;35;1mHBASE (0.004036)[0m [0mDELETE FROM books WHERE ROW=c121b605-32f6-452f-9d22-dcc9a4958296;[0m
|
142
|
+
[4;36;1mHBASE (0.005359)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
143
|
+
[4;35;1mHBASE (0.005672)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
144
|
+
[4;36;1mHBASE (0.005687)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
145
|
+
[4;35;1mHBASE (0.009068)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=da2cbdbd-e942-424c-9cfc-6ea0b582d67e;[0m
|
146
|
+
[4;36;1mHBASE (0.007694)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=eb4073f6-c70b-4d90-bb0e-7f34a33cab38;[0m
|
147
|
+
[4;35;1mHBASE (0.009990)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001One of the Ten All-Time Best Novels of Vampirism.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=eb4073f6-c70b-4d90-bb0e-7f34a33cab38;[0m
|
148
|
+
[4;36;1mHBASE (0.007348)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=d6825c0e-45e8-4a67-9c4c-9e2e26cdec8d;[0m
|
149
|
+
[4;35;1mHBASE (0.013432)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
150
|
+
[4;36;1mHBASE (0.003984)[0m [0;1mDELETE FROM books WHERE ROW=d6825c0e-45e8-4a67-9c4c-9e2e26cdec8d;[0m
|
151
|
+
[4;35;1mHBASE (0.005141)[0m [0mDELETE FROM books WHERE ROW=da2cbdbd-e942-424c-9cfc-6ea0b582d67e;[0m
|
152
|
+
[4;36;1mHBASE (0.007643)[0m [0;1mDELETE FROM books WHERE ROW=eb4073f6-c70b-4d90-bb0e-7f34a33cab38;[0m
|
153
|
+
[4;35;1mHBASE (0.007417)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
154
|
+
[4;36;1mHBASE (0.008011)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=564b6a87-cc10-4c38-9f61-dadabde79365;[0m
|
155
|
+
[4;35;1mHBASE (0.008051)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001One of the most important writers of the twentieth century.", "attribute:title"=>"\001A Stir of Echoes", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=564b6a87-cc10-4c38-9f61-dadabde79365;[0m
|
156
|
+
[4;36;1mHBASE (0.008497)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=26329ef7-709d-4e39-a283-293a1887bbe0;[0m
|
157
|
+
[4;35;1mHBASE (0.008263)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=71f2cb0e-ce1b-4fe6-bec7-a88050f95cd9;[0m
|
158
|
+
[4;36;1mHBASE (0.008946)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001One of the most important writers of the twentieth century.", "attribute:title"=>"\001A Stir of Echoes", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=71f2cb0e-ce1b-4fe6-bec7-a88050f95cd9;[0m
|
159
|
+
[4;35;1mHBASE (0.011893)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=11374f45-ba58-46bc-b9c1-ea3728324184;[0m
|
160
|
+
[4;36;1mHBASE (0.018315)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
161
|
+
[4;35;1mHBASE (0.003817)[0m [0mDELETE FROM books WHERE ROW=11374f45-ba58-46bc-b9c1-ea3728324184;[0m
|
162
|
+
[4;36;1mHBASE (0.003675)[0m [0;1mDELETE FROM books WHERE ROW=26329ef7-709d-4e39-a283-293a1887bbe0;[0m
|
163
|
+
[4;35;1mHBASE (0.010893)[0m [0mDELETE FROM books WHERE ROW=564b6a87-cc10-4c38-9f61-dadabde79365;[0m
|
164
|
+
[4;36;1mHBASE (0.005624)[0m [0;1mDELETE FROM books WHERE ROW=71f2cb0e-ce1b-4fe6-bec7-a88050f95cd9;[0m
|
165
|
+
[4;35;1mHBASE (0.006103)[0m [0mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
166
|
+
[4;36;1mHBASE (0.015130)[0m [0;1mSCAN (attribute:) FROM employees WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
167
|
+
[4;35;1mHBASE (0.005425)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
168
|
+
Connecting to Hbase data store ({"hbase"=>{"drb_host"=>"localhost", "zookeeper_quorum"=>"localhost", "drb_port"=>50001, "zookeeper_client_port"=>21811, "adapter"=>"hbase"}, "cassandra"=>{"address"=>"localhost", "drb_host"=>"localhost", "drb_port"=>50002, "port"=>9160, "adapter"=>"cassandra"}})
|
169
|
+
[4;36;1mHBASE (0.030030)[0m [0;1mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
170
|
+
[4;35;1mHBASE (0.013632)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
171
|
+
[4;36;1mHBASE (0.009042)[0m [0;1mUPDATE zoos SET {"attr:name"=>"\001Some Zoo", "attr:address"=>"\001123 Address St.", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"\000", "attr:description"=>"\001This is Some Zoo located at 123 Address St.", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=2bd53b59-305e-4b17-9d6f-bbce58a506d1;[0m
|
172
|
+
[4;35;1mHBASE (0.014011)[0m [0mUPDATE animals SET {"attribute:zoo_id"=>"\0012bd53b59-305e-4b17-9d6f-bbce58a506d1", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Stampy"} WHERE ROW=9ef7599a-6a65-4543-9c0c-388ffc8cb043;[0m
|
173
|
+
[4;36;1mHBASE (0.007069)[0m [0;1mSELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=9ef7599a-6a65-4543-9c0c-388ffc8cb043;[0m
|
174
|
+
[4;35;1mHBASE (0.006263)[0m [0mSELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=9ef7599a-6a65-4543-9c0c-388ffc8cb043;[0m
|
175
|
+
[4;36;1mHBASE (0.007377)[0m [0;1mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=2bd53b59-305e-4b17-9d6f-bbce58a506d1;[0m
|
176
|
+
[4;35;1mHBASE (0.008158)[0m [0mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
177
|
+
[4;36;1mHBASE (0.003837)[0m [0;1mDELETE FROM animals WHERE ROW=9ef7599a-6a65-4543-9c0c-388ffc8cb043;[0m
|
178
|
+
[4;35;1mHBASE (0.010880)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
179
|
+
[4;36;1mHBASE (0.008721)[0m [0;1mDELETE FROM zoos WHERE ROW=2bd53b59-305e-4b17-9d6f-bbce58a506d1;[0m
|
180
|
+
[4;35;1mHBASE (0.005679)[0m [0mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
181
|
+
[4;36;1mHBASE (0.005512)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
182
|
+
[4;35;1mHBASE (0.009849)[0m [0mUPDATE zoos SET {"attr:name"=>"\001Some Zoo", "attr:address"=>"\001123 Address St.", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"\000", "attr:description"=>"\001This is Some Zoo located at 123 Address St.", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=679a6239-48aa-42a0-91d3-4f587432477e;[0m
|
183
|
+
[4;36;1mHBASE (0.023958)[0m [0;1mUPDATE animals SET {"attribute:zoo_id"=>"\001679a6239-48aa-42a0-91d3-4f587432477e", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Stampy"} WHERE ROW=27a136c9-14fd-4eb2-8ee0-9333d0ce7e8d;[0m
|
184
|
+
[4;35;1mHBASE (0.007794)[0m [0mUPDATE animals SET {"attribute:zoo_id"=>"\001679a6239-48aa-42a0-91d3-4f587432477e", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Dumbo"} WHERE ROW=98c1ac9e-bfef-4257-bf91-ddfff9376c4c;[0m
|
185
|
+
[4;36;1mHBASE (0.008970)[0m [0;1mUPDATE zoos SET {"attr:name"=>"\001Some Zoo", "attr:address"=>"\001123 Address St.", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"\000", "attr:description"=>"\001This is Some Zoo located at 123 Address St.", "attr:animal_ids"=>"--- \n- 27a136c9-14fd-4eb2-8ee0-9333d0ce7e8d\n- 98c1ac9e-bfef-4257-bf91-ddfff9376c4c\n"} WHERE ROW=679a6239-48aa-42a0-91d3-4f587432477e;[0m
|
186
|
+
[4;35;1mHBASE (0.006380)[0m [0mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=679a6239-48aa-42a0-91d3-4f587432477e;[0m
|
187
|
+
[4;36;1mHBASE (0.006324)[0m [0;1mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=679a6239-48aa-42a0-91d3-4f587432477e;[0m
|
188
|
+
[4;35;1mHBASE (0.005718)[0m [0mSELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=27a136c9-14fd-4eb2-8ee0-9333d0ce7e8d;[0m
|
189
|
+
[4;36;1mHBASE (0.006433)[0m [0;1mSELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=98c1ac9e-bfef-4257-bf91-ddfff9376c4c;[0m
|
190
|
+
[4;35;1mHBASE (0.011618)[0m [0mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
191
|
+
[4;36;1mHBASE (0.004313)[0m [0;1mDELETE FROM animals WHERE ROW=27a136c9-14fd-4eb2-8ee0-9333d0ce7e8d;[0m
|
192
|
+
[4;35;1mHBASE (0.003171)[0m [0mDELETE FROM animals WHERE ROW=98c1ac9e-bfef-4257-bf91-ddfff9376c4c;[0m
|
193
|
+
[4;36;1mHBASE (0.008913)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
194
|
+
[4;35;1mHBASE (0.003819)[0m [0mDELETE FROM zoos WHERE ROW=679a6239-48aa-42a0-91d3-4f587432477e;[0m
|
195
|
+
[4;36;1mHBASE (0.005753)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
196
|
+
[4;35;1mHBASE (0.007502)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
197
|
+
[4;36;1mHBASE (0.005366)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
198
|
+
[4;35;1mHBASE (0.006278)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
199
|
+
[4;36;1mHBASE (0.005228)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
200
|
+
[4;35;1mHBASE (0.006483)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
201
|
+
[4;36;1mHBASE (0.005055)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
202
|
+
[4;35;1mHBASE (0.005271)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
203
|
+
[4;36;1mHBASE (0.005350)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
204
|
+
[4;35;1mHBASE (0.005573)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
205
|
+
[4;36;1mHBASE (0.005609)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
206
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
207
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
208
|
+
[4;35;1mHBASE (0.005984)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
209
|
+
[4;36;1mHBASE (0.005549)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
210
|
+
WARNING: Can't mass-assign these protected attributes: readonly, employees
|
211
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
212
|
+
[4;35;1mHBASE (0.005046)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
213
|
+
[4;36;1mHBASE (0.005553)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
214
|
+
[4;35;1mHBASE (0.005673)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
215
|
+
[4;36;1mHBASE (0.005432)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
216
|
+
WARNING: Can't mass-assign these protected attributes: name
|
217
|
+
[4;35;1mHBASE (0.005126)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
218
|
+
[4;36;1mHBASE (0.006331)[0m [0;1mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
219
|
+
[4;35;1mHBASE (0.009061)[0m [0mUPDATE zoos SET {"attr:name"=>"\001African Lion Safari", "attr:address"=>"\001RR #1 Cambridge, Ontario Canada\nN1R 5S2", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"--- \ntitle: African Lion Safari - Wikipedia\nurl: http://en.wikipedia.org/wiki/African_Lion_Safari\nid: 65c47d55-3f1e-479e-88df-59b0cc75a5a1\n", "attr:description"=>"\001Canada's Original Safari Adventure", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=22377b99-534d-429c-8314-4701f2f34a92;[0m
|
220
|
+
[4;36;1mHBASE (0.006500)[0m [0;1mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=22377b99-534d-429c-8314-4701f2f34a92;[0m
|
221
|
+
[4;35;1mHBASE (0.008899)[0m [0mUPDATE zoos SET {"attr:name"=>"\001African Lion Safari", "attr:address"=>"\001RR #1 Cambridge, Ontario Canada\nN1R 5S2", "attr:readonly"=>"\000", "attr:employees"=>"\000", "attr:weblink"=>"--- \ntitle: African Lion Safari\nurl: http://www.lionsafari.com/\nid: 6db0f3d5-bd17-447d-8a4c-38f90c04b063\n", "attr:description"=>"\001Canada's Original Safari Adventure", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=22377b99-534d-429c-8314-4701f2f34a92;[0m
|
222
|
+
[4;36;1mHBASE (0.006449)[0m [0;1mSELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=22377b99-534d-429c-8314-4701f2f34a92;[0m
|
223
|
+
[4;35;1mHBASE (0.008755)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
224
|
+
[4;36;1mHBASE (0.003372)[0m [0;1mDELETE FROM zoos WHERE ROW=22377b99-534d-429c-8314-4701f2f34a92;[0m
|
225
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
226
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
227
|
+
WARNING: Can't mass-assign these protected attributes: readonly, employees
|
228
|
+
WARNING: Can't mass-assign these protected attributes: employees
|
229
|
+
WARNING: Can't mass-assign these protected attributes: name
|
230
|
+
Migrating to AddAnimalsTable (20090706182535)
|
231
|
+
Migrating to AddBooksTable (20090706190623)
|
232
|
+
Migrating to AddCompaniesTable (20090706193019)
|
233
|
+
Migrating to AddEmployeesTable (20090706194512)
|
234
|
+
Migrating to AddZoosTable (20090706195741)
|
235
|
+
Migrating to AddAnimalsTable (20090706182535)
|
236
|
+
Migrating to AddAnimalsTable (20090706182535)
|
237
|
+
[4;35;1mHBASE (0.016606)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
238
|
+
[4;36;1mHBASE (0.006075)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
239
|
+
[4;35;1mHBASE (0.008131)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
240
|
+
[4;36;1mHBASE (0.008401)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\000", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=2c1b61f6-2f90-4431-a461-df1a9b1ca0ac;[0m
|
241
|
+
[4;35;1mHBASE (0.005559)[0m [0mSELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=2c1b61f6-2f90-4431-a461-df1a9b1ca0ac;[0m
|
242
|
+
[4;36;1mHBASE (0.008712)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
243
|
+
[4;35;1mHBASE (0.003429)[0m [0mDELETE FROM books WHERE ROW=2c1b61f6-2f90-4431-a461-df1a9b1ca0ac;[0m
|
244
|
+
[4;36;1mHBASE (0.005785)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
245
|
+
[4;35;1mHBASE (0.011957)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=6dd6a743-c978-4ec3-be5c-ea7e37dad671;[0m
|
246
|
+
[4;36;1mHBASE (0.006368)[0m [0;1mSELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=6dd6a743-c978-4ec3-be5c-ea7e37dad671;[0m
|
247
|
+
[4;35;1mHBASE (0.009124)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
248
|
+
[4;36;1mHBASE (0.003870)[0m [0;1mDELETE FROM books WHERE ROW=6dd6a743-c978-4ec3-be5c-ea7e37dad671;[0m
|
249
|
+
[4;35;1mHBASE (0.006900)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
250
|
+
[4;36;1mHBASE (0.010035)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=a1dc07a1-fcb3-4c24-b73c-1e2ba446e4cd;[0m
|
251
|
+
[4;35;1mHBASE (0.005799)[0m [0mSELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=a1dc07a1-fcb3-4c24-b73c-1e2ba446e4cd;[0m
|
252
|
+
[4;36;1mHBASE (0.007686)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001One of the Ten All-Time Best Novels of Vampirism.", "attribute:title"=>"\001I Am Legend", "attribute:links"=>"--- []\n\n", "attribute:author"=>"\001Richard Matheson"} WHERE ROW=a1dc07a1-fcb3-4c24-b73c-1e2ba446e4cd;[0m
|
253
|
+
[4;35;1mHBASE (0.008842)[0m [0mSELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=a1dc07a1-fcb3-4c24-b73c-1e2ba446e4cd;[0m
|
254
|
+
[4;36;1mHBASE (0.008762)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
255
|
+
[4;35;1mHBASE (0.003758)[0m [0mDELETE FROM books WHERE ROW=a1dc07a1-fcb3-4c24-b73c-1e2ba446e4cd;[0m
|
256
|
+
[4;36;1mHBASE (0.006314)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
257
|
+
[4;35;1mHBASE (0.008882)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
258
|
+
[4;36;1mHBASE (0.012527)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
259
|
+
[4;35;1mHBASE (0.007563)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=2c9923c1-d350-4ae5-825b-c5111cbdb7d2;[0m
|
260
|
+
[4;36;1mHBASE (0.007447)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=28f1e3b3-2241-4714-9515-55a584983c08;[0m
|
261
|
+
[4;35;1mHBASE (0.007191)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001One of the Ten All-Time Best Novels of Vampirism.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=28f1e3b3-2241-4714-9515-55a584983c08;[0m
|
262
|
+
[4;36;1mHBASE (0.013222)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=ec2a7a00-54c2-458a-a8bc-7a9bfa10adfb;[0m
|
263
|
+
[4;35;1mHBASE (0.013074)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
264
|
+
[4;36;1mHBASE (0.014481)[0m [0;1mDELETE FROM books WHERE ROW=28f1e3b3-2241-4714-9515-55a584983c08;[0m
|
265
|
+
[4;35;1mHBASE (0.008979)[0m [0mDELETE FROM books WHERE ROW=2c9923c1-d350-4ae5-825b-c5111cbdb7d2;[0m
|
266
|
+
[4;36;1mHBASE (0.004048)[0m [0;1mDELETE FROM books WHERE ROW=ec2a7a00-54c2-458a-a8bc-7a9bfa10adfb;[0m
|
267
|
+
[4;35;1mHBASE (0.005760)[0m [0mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
268
|
+
[4;36;1mHBASE (0.007003)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=a3b1b10f-94f9-4b3d-810e-a2bdc4e46b2a;[0m
|
269
|
+
[4;35;1mHBASE (0.008333)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001One of the most important writers of the twentieth century.", "attribute:title"=>"\001A Stir of Echoes", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=a3b1b10f-94f9-4b3d-810e-a2bdc4e46b2a;[0m
|
270
|
+
[4;36;1mHBASE (0.006893)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=6d744f0e-d385-43b5-9393-2dc825bea757;[0m
|
271
|
+
[4;35;1mHBASE (0.007868)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=a4aefb46-d6e3-48aa-90df-eb86e7f83328;[0m
|
272
|
+
[4;36;1mHBASE (0.006942)[0m [0;1mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001One of the most important writers of the twentieth century.", "attribute:title"=>"\001A Stir of Echoes", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=a4aefb46-d6e3-48aa-90df-eb86e7f83328;[0m
|
273
|
+
[4;35;1mHBASE (0.007229)[0m [0mUPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\001The most clever and riveting vampire novel since Dracula.", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=246c5178-b106-4e35-b374-0970ab850109;[0m
|
274
|
+
[4;36;1mHBASE (0.016829)[0m [0;1mSCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
275
|
+
[4;35;1mHBASE (0.007399)[0m [0mDELETE FROM books WHERE ROW=246c5178-b106-4e35-b374-0970ab850109;[0m
|
276
|
+
[4;36;1mHBASE (0.003247)[0m [0;1mDELETE FROM books WHERE ROW=6d744f0e-d385-43b5-9393-2dc825bea757;[0m
|
277
|
+
[4;35;1mHBASE (0.003510)[0m [0mDELETE FROM books WHERE ROW=a3b1b10f-94f9-4b3d-810e-a2bdc4e46b2a;[0m
|
278
|
+
[4;36;1mHBASE (0.003222)[0m [0;1mDELETE FROM books WHERE ROW=a4aefb46-d6e3-48aa-90df-eb86e7f83328;[0m
|
279
|
+
[4;35;1mHBASE (0.005776)[0m [0mSCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
280
|
+
[4;36;1mHBASE (0.015407)[0m [0;1mSCAN (attribute:) FROM employees WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
281
|
+
[4;35;1mHBASE (0.005031)[0m [0mSCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;[0m
|
@@ -0,0 +1,80 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
|
2
|
+
|
3
|
+
describe BigRecord::BrAssociations do
|
4
|
+
|
5
|
+
# Clear the tables before and after these tests
|
6
|
+
before(:each) do
|
7
|
+
Animal.delete_all
|
8
|
+
Zoo.delete_all
|
9
|
+
end
|
10
|
+
|
11
|
+
after(:each) do
|
12
|
+
Animal.delete_all
|
13
|
+
Zoo.delete_all
|
14
|
+
end
|
15
|
+
|
16
|
+
describe " #belongs_to" do
|
17
|
+
|
18
|
+
it "should reference the appropriate model" do
|
19
|
+
# Creating the zoo
|
20
|
+
zoo_attributes = {:name => "Some Zoo",
|
21
|
+
:address => "123 Address St.",
|
22
|
+
:description => "This is Some Zoo located at 123 Address St."}
|
23
|
+
zoo = Zoo.new(zoo_attributes)
|
24
|
+
zoo.save.should be_true
|
25
|
+
|
26
|
+
# Creating the animal
|
27
|
+
animal = Animal.new(:name => "Stampy", :type => "Elephant")
|
28
|
+
animal.zoo = zoo
|
29
|
+
animal.save.should be_true
|
30
|
+
|
31
|
+
# Now checking the association
|
32
|
+
saved_animal = Animal.find(animal.id)
|
33
|
+
saved_animal.reload # ensure that it's not cached
|
34
|
+
saved_animal.zoo.should be_a_kind_of(Zoo)
|
35
|
+
saved_animal.zoo.new_record?.should be_false
|
36
|
+
saved_animal.zoo.name.should == zoo_attributes[:name]
|
37
|
+
saved_animal.zoo.address.should == zoo_attributes[:address]
|
38
|
+
saved_animal.zoo.description.should == zoo_attributes[:description]
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
describe " #belongs_to_many" do
|
44
|
+
|
45
|
+
it "should reference the appropriate list of models" do
|
46
|
+
# Creating the zoo
|
47
|
+
zoo_attributes = {:name => "Some Zoo",
|
48
|
+
:address => "123 Address St.",
|
49
|
+
:description => "This is Some Zoo located at 123 Address St."}
|
50
|
+
zoo = Zoo.new(zoo_attributes)
|
51
|
+
zoo.save.should be_true
|
52
|
+
|
53
|
+
# Creating the animals
|
54
|
+
animal1 = Animal.new(:name => "Stampy", :type => "Elephant")
|
55
|
+
animal1.zoo = zoo
|
56
|
+
animal1.save.should be_true
|
57
|
+
|
58
|
+
animal2 = Animal.new(:name => "Dumbo", :type => "Elephant")
|
59
|
+
animal2.zoo = zoo
|
60
|
+
animal2.save.should be_true
|
61
|
+
|
62
|
+
# Associating the animals to the zoo
|
63
|
+
zoo.animals << animal1
|
64
|
+
zoo.animals << animal2
|
65
|
+
zoo.save.should be_true
|
66
|
+
|
67
|
+
# Now we'll retrieve the Zoo record and check the association
|
68
|
+
saved_zoo = Zoo.find(zoo.id)
|
69
|
+
saved_zoo.reload
|
70
|
+
saved_zoo.animals.should be_a_kind_of(Array)
|
71
|
+
|
72
|
+
saved_zoo["attr:animal_ids"].should == saved_zoo.animal_ids
|
73
|
+
saved_zoo.animal_ids.should include(animal1.id)
|
74
|
+
saved_zoo.animal_ids.should include(animal2.id)
|
75
|
+
saved_zoo.animals.each{|animal| animal.should be_a_kind_of(Animal)}
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
data/spec/lib/animal.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
class Animal < BigRecord::Base
|
2
|
+
|
3
|
+
column 'attribute:name', 'string'
|
4
|
+
column 'attribute:type', 'integer'
|
5
|
+
column :description, :string
|
6
|
+
|
7
|
+
column 'attribute:zoo_id', 'string'
|
8
|
+
column 'attribute:book_ids', 'string', :collection => true
|
9
|
+
|
10
|
+
belongs_to_big_record :zoo, :foreign_key => 'attribute:zoo_id'
|
11
|
+
belongs_to_many :books, :foreign_key => 'attribute:book_ids'
|
12
|
+
end
|
data/spec/lib/book.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
class Book < BigRecord::Base
|
2
|
+
column 'attribute:title', 'string'
|
3
|
+
column 'attribute:author', 'string'
|
4
|
+
column 'attribute:description', 'string'
|
5
|
+
|
6
|
+
column 'attribute:links', 'Embedded::WebLink', :alias => 'links', :collection => true
|
7
|
+
column 'family2:', 'string', :alias => :family2
|
8
|
+
column 'log:change', 'string', :alias => 'change_log', :collection => true
|
9
|
+
|
10
|
+
end
|