bigrecord 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -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'))