bigrecord 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,10 +3,10 @@
3
3
  A Ruby Object/Data Mapper for distributed column-oriented data stores (inspired by BigTable) such as HBase. Intended to work as a drop-in for Rails applications.
4
4
 
5
5
  == Features
6
- * {BigRecord::DynamicSchema Dynamic schemas} (due to the schema-less design of BigTable).
6
+ * Dynamic schemas (due to the schema-less design of BigTable).
7
7
  * Support for column-oriented data stores.
8
8
  * Similar usage to Active Record.
9
- * {BigRecord::Embedded Embedded records} that store within a single table row.
9
+ * Embedded records that store within a single table row.
10
10
  * Automatic versioning.
11
11
  * Scalability (depending on the data store used).
12
12
 
@@ -48,6 +48,5 @@ Big Record is released under the MIT license.
48
48
  == Links
49
49
 
50
50
  * Contact Us
51
- * Google Group - http://groups.google.com/group/bigrecord
52
51
  * Website - http://www.bigrecord.org
53
52
  * IRC Channel - <tt>#bigrecord</tt> on irc.freenode.net
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.9
1
+ 0.0.10
@@ -367,14 +367,14 @@ module BigRecord
367
367
  write_attribute(self.class.primary_key, value)
368
368
  end
369
369
 
370
- # Returns true if this object hasn't been saved yet -- that is, a record for the object doesn't exist yet.
370
+ # Returns true if this object hasn't been saved yet -- that is, a record for the object doesn't
371
+ # yet exist in the data store.
371
372
  def new_record?
372
373
  false
373
374
  end
374
375
 
375
- # Method that saves the BigRecord object into the database. It will do one of two things:
376
- # * If no record currently exists: Creates a new record with values matching those of the object attributes.
377
- # * If a record already exist: Updates the record with values matching those of the object attributes.
376
+ # * No record exists: Creates a new record with values matching those of the object attributes.
377
+ # * A record does exist: Updates the record with values matching those of the object attributes.
378
378
  def save
379
379
  raise NotImplemented
380
380
  end
@@ -435,7 +435,6 @@ module BigRecord
435
435
  end
436
436
 
437
437
  protected
438
-
439
438
  def clone_in_persistence_format
440
439
  validate_attributes_schema
441
440
 
@@ -683,7 +682,6 @@ module BigRecord
683
682
  end
684
683
 
685
684
  protected
686
-
687
685
  # Returns the value of the attribute identified by <tt>attr_name</tt> after it has been typecast (for example,
688
686
  # "2004-12-12" in a data column is cast to a date object, like Date.new(2004, 12, 12)).
689
687
  def read_attribute(attr_name)
@@ -703,8 +701,7 @@ module BigRecord
703
701
  @attributes[attr_name.to_s]
704
702
  end
705
703
 
706
- private
707
-
704
+ private
708
705
  # Called on first read access to any given column and generates reader
709
706
  # methods for all columns in the columns_hash if
710
707
  # BigRecord::Base.generate_read_methods is set to true.
@@ -781,7 +778,6 @@ module BigRecord
781
778
  end
782
779
 
783
780
  public
784
-
785
781
  class << self
786
782
 
787
783
  # Evaluate the name of the column of the primary key only once
@@ -888,8 +884,7 @@ module BigRecord
888
884
  # adds the new column into the model's column hash.
889
885
  #
890
886
  # @param type [Symbol, String] Column type as defined in the source of {ConnectionAdapters::Column#klass}
891
- # @param [Hash] options The options to define the column with.
892
- # @option options [TrueClass,FalseClass] :collection Whether this column is a collection.
887
+ # @option options [true,false] :collection Whether this column is a collection.
893
888
  # @option options [String] :alias Define an alias for the column that cannot be inferred. By default, 'attribute:name' will be aliased to 'name'.
894
889
  # @option options [String] :default Default value to set for this column.
895
890
  #
@@ -923,7 +918,7 @@ module BigRecord
923
918
  end
924
919
 
925
920
  # Contains the names of the generated reader methods.
926
- def read_methods
921
+ def read_methods #:nodoc:
927
922
  @read_methods ||= Set.new
928
923
  end
929
924
 
@@ -1050,15 +1045,7 @@ module BigRecord
1050
1045
  read_inheritable_attribute(:attr_create_accessible)
1051
1046
  end
1052
1047
 
1053
- # Guesses the table name, but does not decorate it with prefix and suffix information.
1054
- def undecorated_table_name(class_name = base_class.name)
1055
- table_name = Inflector.underscore(Inflector.demodulize(class_name))
1056
- table_name = Inflector.pluralize(table_name) if pluralize_table_names
1057
- table_name
1058
- end
1059
-
1060
1048
  protected
1061
-
1062
1049
  def invalidate_views
1063
1050
  @views = nil
1064
1051
  @view_names = nil
@@ -1094,10 +1081,16 @@ module BigRecord
1094
1081
  type_name.constantize
1095
1082
  end
1096
1083
 
1084
+ public
1085
+ # Guesses the table name, but does not decorate it with prefix and suffix information.
1086
+ def undecorated_table_name(class_name = base_class.name)
1087
+ table_name = Inflector.underscore(Inflector.demodulize(class_name))
1088
+ table_name = Inflector.pluralize(table_name) if pluralize_table_names
1089
+ table_name
1090
+ end
1097
1091
  end
1098
1092
 
1099
1093
  protected
1100
-
1101
1094
  # Handle *? for method_missing.
1102
1095
  def attribute?(attribute_name)
1103
1096
  query_attribute(attribute_name)
@@ -12,10 +12,8 @@ module BigRecord
12
12
  super
13
13
  end
14
14
 
15
- public
16
-
17
15
  # New objects can be instantiated as either empty (pass no construction parameter) or pre-set with
18
- # attributes but not yet saved (pass a hash with key names matching the associated column names).
16
+ # attributes but not yet saved (pass a hash with key names matching the associated table column names).
19
17
  # In both instances, valid attribute keys are determined by the column names of the associated table --
20
18
  # hence you can't have attributes that aren't part of the table columns.
21
19
  def initialize(attrs = nil)
@@ -26,6 +24,7 @@ module BigRecord
26
24
 
27
25
  # Returns the value of the attribute identified by <tt>attr_name</tt> after it has been typecast (for example,
28
26
  # "2004-12-12" in a data column is cast to a date object, like Date.new(2004, 12, 12)).
27
+ # (Alias for the protected read_attribute method).
29
28
  def [](attr_name)
30
29
  if attr_name.ends_with?(":")
31
30
  read_family_attributes(attr_name)
@@ -81,7 +80,7 @@ module BigRecord
81
80
  end
82
81
  end
83
82
 
84
- # Read an attribute that defines a column family, as opposed to a column qualifier.
83
+ # Read an attribute that defines a column family.
85
84
  def read_family_attributes(attr_name)
86
85
  attr_name = attr_name.to_s
87
86
  column = column_for_attribute(attr_name)
@@ -131,14 +130,24 @@ module BigRecord
131
130
  end
132
131
  end
133
132
 
133
+ def set_loaded(name)
134
+ @loaded_columns ||= []
135
+ @loaded_columns << name
136
+ end
137
+
138
+ def is_loaded?(name)
139
+ @loaded_columns ||= []
140
+ @loaded_columns.include?(name)
141
+ end
142
+
143
+ public
134
144
  # Returns true if this object hasn't been saved yet -- that is, a record for the object doesn't exist yet.
135
145
  def new_record?
136
146
  @new_record
137
147
  end
138
148
 
139
- # Method that saves the BigRecord object into the database. It will do one of two things:
140
- # * If no record currently exists: Creates a new record with values matching those of the object attributes.
141
- # * If a record already exist: Updates the record with values matching those of the object attributes.
149
+ # * No record exists: Creates a new record with values matching those of the object attributes.
150
+ # * A record does exist: Updates the record with values matching those of the object attributes.
142
151
  def save
143
152
  create_or_update
144
153
  end
@@ -149,7 +158,8 @@ module BigRecord
149
158
  create_or_update || raise(RecordNotSaved)
150
159
  end
151
160
 
152
- # Deletes the record in the database.
161
+ # Deletes the record in the database and freezes this instance to reflect that no changes should
162
+ # be made (since they can't be persisted).
153
163
  def destroy
154
164
  unless new_record?
155
165
  connection.delete(self.class.table_name, self.id)
@@ -187,16 +197,6 @@ module BigRecord
187
197
 
188
198
  protected
189
199
 
190
- def set_loaded(name)
191
- @loaded_columns ||= []
192
- @loaded_columns << name
193
- end
194
-
195
- def is_loaded?(name)
196
- @loaded_columns ||= []
197
- @loaded_columns.include?(name)
198
- end
199
-
200
200
  # Invoke {#create} if {#new_record} returns true, otherwise it's an {#update}
201
201
  def create_or_update
202
202
  raise ReadOnlyRecord if readonly?
@@ -218,8 +218,8 @@ module BigRecord
218
218
  update_bigrecord
219
219
  end
220
220
 
221
- # Update this record in the database. Cannot be directly in the method 'update' because it would trigger callbacks and
222
- # therefore weird behavior.
221
+ # Update this record in hbase. Cannot be directly in the method 'update' because it would trigger callbacks and
222
+ # therefore weird behaviors.
223
223
  def update_bigrecord
224
224
  timestamp = self.respond_to?(:updated_at) ? self.updated_at.to_bigrecord_timestamp : Time.now.to_bigrecord_timestamp
225
225
 
@@ -229,7 +229,6 @@ module BigRecord
229
229
  end
230
230
 
231
231
  public
232
-
233
232
  class << self
234
233
 
235
234
  # Return the name of the primary key. Defaults to "id".
@@ -300,16 +299,6 @@ module BigRecord
300
299
  end
301
300
  end
302
301
 
303
- # Returns all records for the model by invoking find(:all)
304
- def all
305
- find(:all)
306
- end
307
-
308
- # Returns the first record for the model by invoke find(:first)
309
- def first
310
- find(:first)
311
- end
312
-
313
302
  # Returns true if the given +id+ represents the primary key of a record in the database, false otherwise.
314
303
  def exists?(id)
315
304
  !find(id).nil?
@@ -398,16 +387,10 @@ module BigRecord
398
387
  connection.truncate_table(table_name)
399
388
  end
400
389
 
401
- # Returns the inflected table name as it's called in your database.
402
390
  def table_name
403
391
  (superclass == BigRecord::Base) ? @table_name : superclass.table_name
404
392
  end
405
393
 
406
- # If you want to avoid the table name inflection, you can define the name
407
- # explicitly with this method.
408
- #
409
- # @example
410
- # set_table_name :table_xyz
411
394
  def set_table_name(name)
412
395
  @table_name = name.to_s
413
396
  end
@@ -536,7 +519,6 @@ module BigRecord
536
519
  end
537
520
 
538
521
  protected
539
-
540
522
  def invalidate_views
541
523
  @views = nil
542
524
  @view_names = nil
@@ -632,6 +614,16 @@ module BigRecord
632
614
  end
633
615
  end
634
616
 
617
+ def find_all_by_id(ids, options={})
618
+ ids.inject([]) do |result, id|
619
+ begin
620
+ result << find_one(id, options)
621
+ rescue BigRecord::RecordNotFound => e
622
+ end
623
+ result
624
+ end
625
+ end
626
+
635
627
  # Add the missing cells to the raw record and set them to nil. We know that it's
636
628
  # nil because else we would have received those cells. That way, when the value of
637
629
  # one of these cells will be requested by the client we won't try to lazy load it.
@@ -7,7 +7,7 @@ module BigRecord
7
7
  module ConnectionAdapters # :nodoc:
8
8
  # All the concrete database adapters follow the interface laid down in this class.
9
9
  # You can use this interface directly by borrowing the database connection from the Base with
10
- # BigRecord::Base.connection
10
+ # Base.connection.
11
11
  #
12
12
  # Most of the methods in the adapter are useful during migrations. Most
13
13
  # notably, SchemaStatements#create_table, SchemaStatements#drop_table,
@@ -172,3 +172,19 @@ module BigRecord
172
172
  end # class AbstractAdapter
173
173
  end # module ConnectionAdapters
174
174
  end # module BigRecord
175
+
176
+
177
+ # Open the time class to add logic for the hbase timestamp
178
+ class Time
179
+ # Return this time is the hbase timestamp format, i.e. a 'long'. The 4 high bytes contain
180
+ # the number of seconds since epoch and the 4 low bytes contain the microseconds. That
181
+ # format is an arbitrary one and could have been something else.
182
+ def to_bigrecord_timestamp
183
+ (self.to_i << 32) + self.usec
184
+ end
185
+
186
+ def self.from_bigrecord_timestamp(timestamp)
187
+ Time.at(timestamp >> 32, timestamp & 0xFFFFFFFF)
188
+ end
189
+
190
+ end
@@ -103,7 +103,6 @@ module BigRecord
103
103
  end
104
104
 
105
105
  # Returns the Ruby class that corresponds to the abstract data type.
106
- # View the source for the actual mappings.
107
106
  def klass
108
107
  @klass ||=
109
108
  case type
@@ -1,18 +1,4 @@
1
1
  module BigRecord
2
-
3
- # = Dynamic Schema
4
- #
5
- # The dynamic schema functionality of Bigrecord refers to the ability to
6
- # modify the attributes of a model within the class itself, rather than being
7
- # bounded by the database. This is an inherit property of using the BigTable
8
- # database model, and Bigrecord leverages its use.
9
- #
10
- # New attributes defined will simply return nil for records that existed
11
- # before their addition into the model, while attributes that are removed
12
- # from the model will just be ignored when accessing existing records.
13
- #
14
- # Refer to {BigRecord::ConnectionAdapters::Column} for more information.
15
- #
16
2
  module DynamicSchema
17
3
 
18
4
  def self.included(base) #:nodoc:
@@ -1,5 +1,5 @@
1
1
  module BigRecord
2
- # BigRecord automatically timestamps create and update if the table has fields
2
+ # Big Record automatically timestamps create and update if the table has fields
3
3
  # created_at/created_on or updated_at/updated_on.
4
4
  #
5
5
  # Timestamping can be turned off by setting
@@ -15,7 +15,7 @@ module BigRecord
15
15
  # end
16
16
  #
17
17
  # Timestamps are in the local timezone by default but can use UTC by setting
18
- # <tt>BigRecord::Base.default_timezone = :utc</tt>
18
+ # <tt>ActiveRecord::Base.default_timezone = :utc</tt>
19
19
  module Timestamp
20
20
  def self.included(base) #:nodoc:
21
21
  super
@@ -49,29 +49,3 @@ module BigRecord
49
49
  end
50
50
  end
51
51
  end
52
-
53
- # Open the Time class to add methods which convert the time into the Bigrecord
54
- # timestamp format.
55
- class Time
56
-
57
- # Return the time in the Bigrecord timestamp format, i.e. a 'long' where the
58
- # 4 high bytes contain the number of seconds since epoch and the 4 low bytes
59
- # contain the microseconds.
60
- #
61
- # @example
62
- # > Time.now.to_bigrecord_timestamp
63
- # => 5410405886576175030
64
- def to_bigrecord_timestamp
65
- (self.to_i << 32) + self.usec
66
- end
67
-
68
- # Converts a timestamp in Bigrecord format into a regular Time object.
69
- #
70
- # @example
71
- # > Time.from_bigrecord_timestamp(5410405886576175030)
72
- # => Tue Dec 01 17:58:05 -0500 2009
73
- def self.from_bigrecord_timestamp(timestamp)
74
- Time.at(timestamp >> 32, timestamp & 0xFFFFFFFF)
75
- end
76
-
77
- end
@@ -1 +1 @@
1
- require File.join(File.dirname(__FILE__), 'big_record')
1
+ require 'big_record'
@@ -29,16 +29,6 @@ describe BigRecord::Base do
29
29
  Zoo.find(id).should == [zoo]
30
30
  end
31
31
 
32
- it "should be invoked when #all and #first are called" do
33
- zoo = Zoo.new
34
-
35
- Zoo.should_receive(:find).with(:all).and_return([zoo])
36
- Zoo.all.should == [zoo]
37
-
38
- Zoo.should_receive(:find).with(:first).and_return(zoo)
39
- Zoo.first.should == zoo
40
- end
41
-
42
32
  end
43
33
 
44
34
  end
@@ -5,10 +5,9 @@ describe BigRecord::Base do
5
5
  before(:all) do
6
6
  Book.delete_all
7
7
  @titles = ["I Am Legend", "The Beach", "Neuromancer"]
8
- id1 = Book.create(:title => @titles[0], :author => "Richard Matheson").id
9
- id2 = Book.create(:title => @titles[1], :author => "Alex Garland").id
10
- id3 = Book.create(:title => @titles[2], :author => "William Gibson").id
11
- @ids = [id1, id2, id3]
8
+ Book.create(:title => @titles[0], :author => "Richard Matheson")
9
+ Book.create(:title => @titles[1], :author => "Alex Garland")
10
+ Book.create(:title => @titles[2], :author => "William Gibson")
12
11
  end
13
12
 
14
13
  after(:all) do
@@ -20,13 +19,10 @@ describe BigRecord::Base do
20
19
  it "should retrieve all records with find" do
21
20
  books = Book.find(:all)
22
21
  books.size.should == 3
22
+ book_titles = books.map(&:title)
23
23
 
24
24
  @titles.each do |title|
25
- books.map(&:title).should include(title)
26
- end
27
-
28
- @ids.each do |id|
29
- books.map(&:id).should include(id)
25
+ book_titles.should include(title)
30
26
  end
31
27
  end
32
28
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bigrecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - openplaces.org
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-01 00:00:00 -05:00
12
+ date: 2009-12-02 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -131,7 +131,6 @@ files:
131
131
  - spec/connections/bigrecord.yml
132
132
  - spec/connections/cassandra/connection.rb
133
133
  - spec/connections/hbase/connection.rb
134
- - spec/debug.log
135
134
  - spec/integration/br_associations_spec.rb
136
135
  - spec/lib/animal.rb
137
136
  - spec/lib/book.rb
@@ -157,7 +156,6 @@ files:
157
156
  - spec/unit/ar_associations_spec.rb
158
157
  - spec/unit/attributes_spec.rb
159
158
  - spec/unit/br_associations_spec.rb
160
- - spec/unit/callback_spec.rb
161
159
  - spec/unit/columns_spec.rb
162
160
  - spec/unit/embedded_spec.rb
163
161
  - spec/unit/find_spec.rb
@@ -1,232 +0,0 @@
1
- # Logfile created on Tue Dec 01 18:42:59 -0500 2009 by /
2
- Connecting to Hbase data store ({"hbase"=>{"drb_host"=>"localhost", "zookeeper_quorum"=>"localhost", "drb_port"=>50001, "zookeeper_client_port"=>2181, "adapter"=>"hbase"}, "hbase_rest"=>{"adapter"=>"hbase_rest", "api_address"=>"http://localhost:8080"}, "cassandra"=>{"address"=>"localhost", "drb_host"=>"localhost", "drb_port"=>50002, "port"=>9160, "adapter"=>"cassandra"}})
3
- HBASE (0.006705) SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;
4
- HBASE (0.002881) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
5
- HBASE (0.003021) UPDATE 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=c72f4ba7-9c71-4655-8665-32379e17ef49;
6
- HBASE (0.001753) UPDATE animals SET {"attribute:zoo_id"=>"\001c72f4ba7-9c71-4655-8665-32379e17ef49", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Stampy"} WHERE ROW=13bca708-4493-4efa-a08a-50e4eb8894b7;
7
- HBASE (0.001128) SELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=13bca708-4493-4efa-a08a-50e4eb8894b7;
8
- HBASE (0.002785) SELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=13bca708-4493-4efa-a08a-50e4eb8894b7;
9
- HBASE (0.001165) SELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=c72f4ba7-9c71-4655-8665-32379e17ef49;
10
- HBASE (0.001894) SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;
11
- HBASE (0.000945) DELETE FROM animals WHERE ROW=13bca708-4493-4efa-a08a-50e4eb8894b7;
12
- HBASE (0.001822) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
13
- HBASE (0.000873) DELETE FROM zoos WHERE ROW=c72f4ba7-9c71-4655-8665-32379e17ef49;
14
- HBASE (0.001578) SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;
15
- HBASE (0.001256) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
16
- HBASE (0.003739) UPDATE 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=5687bb96-5eff-4a65-b6e6-29c007bbc87a;
17
- HBASE (0.001763) UPDATE animals SET {"attribute:zoo_id"=>"\0015687bb96-5eff-4a65-b6e6-29c007bbc87a", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Stampy"} WHERE ROW=c8dd7675-b9ab-4741-9b9a-4464abc45213;
18
- HBASE (0.001654) UPDATE animals SET {"attribute:zoo_id"=>"\0015687bb96-5eff-4a65-b6e6-29c007bbc87a", "attribute:book_ids"=>"--- []\n\n", "attribute:type"=>"--- 0\n", "attribute:description"=>"\000", "attribute:name"=>"\001Dumbo"} WHERE ROW=3a910158-941a-4c9e-9817-b31c5586978d;
19
- HBASE (0.002022) UPDATE 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- c8dd7675-b9ab-4741-9b9a-4464abc45213\n- 3a910158-941a-4c9e-9817-b31c5586978d\n"} WHERE ROW=5687bb96-5eff-4a65-b6e6-29c007bbc87a;
20
- HBASE (0.001131) SELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=5687bb96-5eff-4a65-b6e6-29c007bbc87a;
21
- HBASE (0.001042) SELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=5687bb96-5eff-4a65-b6e6-29c007bbc87a;
22
- HBASE (0.001074) SELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=c8dd7675-b9ab-4741-9b9a-4464abc45213;
23
- HBASE (0.000969) SELECT (attribute:zoo_id, attribute:book_ids, attribute:type, attribute:description, attribute:name) FROM animals WHERE ROW=3a910158-941a-4c9e-9817-b31c5586978d;
24
- HBASE (0.002399) SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;
25
- HBASE (0.000879) DELETE FROM animals WHERE ROW=3a910158-941a-4c9e-9817-b31c5586978d;
26
- HBASE (0.000694) DELETE FROM animals WHERE ROW=c8dd7675-b9ab-4741-9b9a-4464abc45213;
27
- HBASE (0.001729) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
28
- HBASE (0.000834) DELETE FROM zoos WHERE ROW=5687bb96-5eff-4a65-b6e6-29c007bbc87a;
29
- Migrating to AddAnimalsTable (20090706182535)
30
- Migrating to AddBooksTable (20090706190623)
31
- Migrating to AddCompaniesTable (20090706193019)
32
- Migrating to AddEmployeesTable (20090706194512)
33
- Migrating to AddZoosTable (20090706195741)
34
- Migrating to AddAnimalsTable (20090706182535)
35
- Migrating to AddAnimalsTable (20090706182535)
36
- HBASE (0.005164) SCAN (attribute:) FROM animals WHERE START_ROW= AND STOP_ROW= LIMIT=;
37
- HBASE (0.002597) SCAN (attribute:) FROM employees WHERE START_ROW= AND STOP_ROW= LIMIT=;
38
- HBASE (0.002756) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
39
- HBASE (0.002202) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
40
- HBASE (0.004104) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
41
- HBASE (0.002625) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
42
- HBASE (0.001323) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
43
- HBASE (0.001937) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
44
- HBASE (0.001096) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
45
- HBASE (0.001217) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
46
- HBASE (0.001280) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
47
- HBASE (0.001266) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
48
- HBASE (0.001914) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
49
- HBASE (0.001134) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
50
- HBASE (0.003971) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
51
- HBASE (0.002225) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
52
- HBASE (0.002752) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
53
- HBASE (0.001547) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
54
- HBASE (0.001295) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
55
- HBASE (0.001257) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
56
- HBASE (0.001751) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
57
- HBASE (0.001042) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
58
- HBASE (0.001206) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
59
- HBASE (0.001959) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
60
- HBASE (0.001055) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
61
- HBASE (0.001181) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
62
- HBASE (0.001327) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
63
- HBASE (0.001286) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
64
- HBASE (0.001774) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
65
- HBASE (0.001038) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
66
- HBASE (0.001177) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
67
- WARNING: Can't mass-assign these protected attributes: employees
68
- WARNING: Can't mass-assign these protected attributes: employees
69
- HBASE (0.001992) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
70
- HBASE (0.001123) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
71
- HBASE (0.002007) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
72
- HBASE (0.001432) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
73
- HBASE (0.001249) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
74
- HBASE (0.001730) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
75
- HBASE (0.001007) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
76
- HBASE (0.001166) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
77
- WARNING: Can't mass-assign these protected attributes: readonly, employees
78
- WARNING: Can't mass-assign these protected attributes: employees
79
- HBASE (0.002038) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
80
- HBASE (0.001144) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
81
- HBASE (0.001234) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
82
- HBASE (0.001213) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
83
- HBASE (0.001245) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
84
- HBASE (0.001754) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
85
- HBASE (0.001021) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
86
- HBASE (0.001161) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
87
- HBASE (0.001904) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
88
- HBASE (0.001104) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
89
- HBASE (0.001276) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
90
- HBASE (0.002049) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
91
- HBASE (0.001406) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
92
- HBASE (0.001799) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
93
- HBASE (0.001026) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
94
- HBASE (0.001179) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
95
- WARNING: Can't mass-assign these protected attributes: name
96
- HBASE (0.002127) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
97
- HBASE (0.001071) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
98
- HBASE (0.001214) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
99
- HBASE (0.001221) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
100
- HBASE (0.001250) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
101
- HBASE (0.001773) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
102
- HBASE (0.001009) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
103
- HBASE (0.002783) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
104
- HBASE (0.002132) UPDATE 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: 31e9d53d-576a-4d3d-b106-d14ca66507e2\n", "attr:description"=>"\001Canada's Original Safari Adventure", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=2ca9d093-8ace-4cda-9b60-b991b2e4a57e;
105
- HBASE (0.002455) SELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=2ca9d093-8ace-4cda-9b60-b991b2e4a57e;
106
- HBASE (0.002049) UPDATE 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: 93cab2ac-7e05-4642-9c83-1c1f6b3fd8e7\n", "attr:description"=>"\001Canada's Original Safari Adventure", "attr:animal_ids"=>"--- []\n\n"} WHERE ROW=2ca9d093-8ace-4cda-9b60-b991b2e4a57e;
107
- HBASE (0.001335) SELECT (attr:name, attr:address, attr:readonly, attr:employees, attr:weblink, attr:description, attr:animal_ids) FROM zoos WHERE ROW=2ca9d093-8ace-4cda-9b60-b991b2e4a57e;
108
- HBASE (0.002115) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
109
- HBASE (0.001088) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
110
- HBASE (0.001661) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
111
- HBASE (0.000830) DELETE FROM zoos WHERE ROW=2ca9d093-8ace-4cda-9b60-b991b2e4a57e;
112
- HBASE (0.001308) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
113
- HBASE (0.001811) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
114
- HBASE (0.001017) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
115
- HBASE (0.001286) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
116
- HBASE (0.001820) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
117
- HBASE (0.001031) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
118
- HBASE (0.001203) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
119
- HBASE (0.001800) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
120
- HBASE (0.000994) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
121
- HBASE (0.002455) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
122
- HBASE (0.002062) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
123
- HBASE (0.001093) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
124
- HBASE (0.001229) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
125
- HBASE (0.001841) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
126
- HBASE (0.000991) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
127
- HBASE (0.001182) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
128
- HBASE (0.001906) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
129
- HBASE (0.001091) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
130
- HBASE (0.001218) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
131
- HBASE (0.001813) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
132
- HBASE (0.001031) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
133
- HBASE (0.001181) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
134
- WARNING: Can't mass-assign these protected attributes: employees
135
- WARNING: Can't mass-assign these protected attributes: employees
136
- HBASE (0.001971) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
137
- HBASE (0.001084) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
138
- HBASE (0.001187) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
139
- HBASE (0.002831) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
140
- HBASE (0.001135) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
141
- HBASE (0.001227) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
142
- WARNING: Can't mass-assign these protected attributes: readonly, employees
143
- WARNING: Can't mass-assign these protected attributes: employees
144
- HBASE (0.001976) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
145
- HBASE (0.001047) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
146
- HBASE (0.001241) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
147
- HBASE (0.001789) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
148
- HBASE (0.001110) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
149
- HBASE (0.001258) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
150
- HBASE (0.002300) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
151
- HBASE (0.002634) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
152
- HBASE (0.003699) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
153
- HBASE (0.002018) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
154
- HBASE (0.001066) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
155
- HBASE (0.002484) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
156
- WARNING: Can't mass-assign these protected attributes: name
157
- HBASE (0.002158) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
158
- HBASE (0.001136) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
159
- HBASE (0.001229) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
160
- HBASE (0.001769) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
161
- HBASE (0.000993) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
162
- HBASE (0.001216) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
163
- HBASE (0.002008) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
164
- HBASE (0.001097) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
165
- HBASE (0.001203) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
166
- HBASE (0.001764) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
167
- HBASE (0.001047) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
168
- HBASE (0.001197) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
169
- HBASE (0.002182) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
170
- HBASE (0.001180) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
171
- HBASE (0.001239) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
172
- HBASE (0.001802) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
173
- HBASE (0.001047) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
174
- HBASE (0.001175) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
175
- HBASE (0.001875) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
176
- HBASE (0.001055) SCAN (attribute:) FROM companies WHERE START_ROW= AND STOP_ROW= LIMIT=;
177
- HBASE (0.001205) SCAN (attr:) FROM zoos WHERE START_ROW= AND STOP_ROW= LIMIT=;
178
- HBASE (0.001740) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
179
- HBASE (0.001845) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
180
- HBASE (0.001764) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
181
- HBASE (0.001672) UPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\000", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=004f8743-7237-44f9-bd2a-14214b2e7591;
182
- HBASE (0.001154) SELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=004f8743-7237-44f9-bd2a-14214b2e7591;
183
- HBASE (0.002579) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
184
- HBASE (0.000926) DELETE FROM books WHERE ROW=004f8743-7237-44f9-bd2a-14214b2e7591;
185
- HBASE (0.001913) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
186
- HBASE (0.001586) UPDATE 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=dd2c12d9-61db-43cd-815c-495bb8450e9b;
187
- HBASE (0.001228) SELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=dd2c12d9-61db-43cd-815c-495bb8450e9b;
188
- HBASE (0.000960) DELETE FROM books WHERE ROW=dd2c12d9-61db-43cd-815c-495bb8450e9b;
189
- HBASE (0.000888) SELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=dd2c12d9-61db-43cd-815c-495bb8450e9b;
190
- HBASE (0.002046) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
191
- HBASE (0.001827) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
192
- HBASE (0.001586) UPDATE 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=c864b364-8d0d-45d6-bc4f-fb33b4d68ce4;
193
- HBASE (0.001103) SELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=c864b364-8d0d-45d6-bc4f-fb33b4d68ce4;
194
- HBASE (0.001492) UPDATE 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=c864b364-8d0d-45d6-bc4f-fb33b4d68ce4;
195
- HBASE (0.001379) SELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=c864b364-8d0d-45d6-bc4f-fb33b4d68ce4;
196
- HBASE (0.004924) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
197
- HBASE (0.001127) DELETE FROM books WHERE ROW=c864b364-8d0d-45d6-bc4f-fb33b4d68ce4;
198
- HBASE (0.002827) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
199
- HBASE (0.002067) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
200
- HBASE (0.001933) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
201
- HBASE (0.004246) UPDATE 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=081ad946-c8c0-40b6-9452-5b4156df31e7;
202
- HBASE (0.004064) UPDATE 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=45d641c9-7045-43cb-88dd-3964b2446440;
203
- HBASE (0.001785) UPDATE 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=45d641c9-7045-43cb-88dd-3964b2446440;
204
- HBASE (0.001398) SELECT (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE ROW=45d641c9-7045-43cb-88dd-3964b2446440;
205
- HBASE (0.005032) UPDATE 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=b6ca21e6-d66b-4de7-bcbd-c54098e683e7;
206
- HBASE (0.003372) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
207
- HBASE (0.001348) DELETE FROM books WHERE ROW=081ad946-c8c0-40b6-9452-5b4156df31e7;
208
- HBASE (0.003556) DELETE FROM books WHERE ROW=45d641c9-7045-43cb-88dd-3964b2446440;
209
- HBASE (0.001021) DELETE FROM books WHERE ROW=b6ca21e6-d66b-4de7-bcbd-c54098e683e7;
210
- HBASE (0.001990) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
211
- HBASE (0.001664) UPDATE 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=a3cffcc4-977a-4216-adb6-d2b26326fccf;
212
- HBASE (0.003125) UPDATE 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=a3cffcc4-977a-4216-adb6-d2b26326fccf;
213
- HBASE (0.001644) UPDATE 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=f8c690c7-7a6a-4f16-9d75-52ac16200fa8;
214
- HBASE (0.001557) UPDATE 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=6e2ad9c8-8a39-4397-bcfd-7abe4c97fe24;
215
- HBASE (0.001716) UPDATE 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=6e2ad9c8-8a39-4397-bcfd-7abe4c97fe24;
216
- HBASE (0.001543) UPDATE 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=8a6dea21-8ae6-40e9-8d3c-7eea53a17bc1;
217
- HBASE (0.003266) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
218
- HBASE (0.000956) DELETE FROM books WHERE ROW=6e2ad9c8-8a39-4397-bcfd-7abe4c97fe24;
219
- HBASE (0.000790) DELETE FROM books WHERE ROW=8a6dea21-8ae6-40e9-8d3c-7eea53a17bc1;
220
- HBASE (0.000739) DELETE FROM books WHERE ROW=a3cffcc4-977a-4216-adb6-d2b26326fccf;
221
- HBASE (0.000717) DELETE FROM books WHERE ROW=f8c690c7-7a6a-4f16-9d75-52ac16200fa8;
222
- HBASE (0.001923) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
223
- HBASE (0.001804) UPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\000", "attribute:title"=>"\001I Am Legend", "attribute:author"=>"\001Richard Matheson", "attribute:links"=>"--- []\n\n"} WHERE ROW=720c13d1-7eb1-4395-8695-b96a0aa92211;
224
- HBASE (0.001713) UPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\000", "attribute:title"=>"\001The Beach", "attribute:author"=>"\001Alex Garland", "attribute:links"=>"--- []\n\n"} WHERE ROW=e8a2b3ef-c201-43a9-be7a-6125792c3b20;
225
- HBASE (0.001673) UPDATE books SET {"log:change"=>"--- []\n\n", "attribute:description"=>"\000", "attribute:title"=>"\001Neuromancer", "attribute:author"=>"\001William Gibson", "attribute:links"=>"--- []\n\n"} WHERE ROW=67835777-39cb-4aa7-98fc-899377f16277;
226
- HBASE (0.004712) SCAN (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
227
- HBASE (0.004874) SCAN (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=101;
228
- HBASE (0.001980) SCAN (family2:, log:change, attribute:description, attribute:title, attribute:author, attribute:links) FROM books WHERE START_ROW=e8a2b3ef-c201-43a9-be7a-6125792c3b20 AND STOP_ROW= LIMIT=101;
229
- HBASE (0.002804) SCAN (attribute:) FROM books WHERE START_ROW= AND STOP_ROW= LIMIT=;
230
- HBASE (0.000847) DELETE FROM books WHERE ROW=67835777-39cb-4aa7-98fc-899377f16277;
231
- HBASE (0.000991) DELETE FROM books WHERE ROW=720c13d1-7eb1-4395-8695-b96a0aa92211;
232
- HBASE (0.000921) DELETE FROM books WHERE ROW=e8a2b3ef-c201-43a9-be7a-6125792c3b20;
@@ -1 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))