activerecord-turntable 1.1.2 → 2.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +5 -0
- data/.travis.yml +3 -5
- data/CHANGELOG.md +70 -0
- data/Guardfile +7 -5
- data/README.md +490 -0
- data/Rakefile +37 -22
- data/activerecord-turntable.gemspec +37 -34
- data/gemfiles/rails4_0.gemfile +6 -0
- data/gemfiles/rails4_1.gemfile +6 -0
- data/lib/active_record/turntable/active_record_ext/abstract_adapter.rb +14 -29
- data/lib/active_record/turntable/active_record_ext/activerecord_import_ext.rb +45 -0
- data/lib/active_record/turntable/active_record_ext/acts_as_archive_extension.rb +21 -0
- data/lib/active_record/turntable/active_record_ext/association.rb +85 -0
- data/lib/active_record/turntable/active_record_ext/association_preloader.rb +37 -0
- data/lib/active_record/turntable/active_record_ext/clever_load.rb +33 -76
- data/lib/active_record/turntable/active_record_ext/connection_handler_extension.rb +31 -0
- data/lib/active_record/turntable/active_record_ext/database_tasks.rb +81 -0
- data/lib/active_record/turntable/active_record_ext/fixtures.rb +54 -42
- data/lib/active_record/turntable/active_record_ext/locking_optimistic.rb +101 -0
- data/lib/active_record/turntable/active_record_ext/log_subscriber.rb +28 -46
- data/lib/active_record/turntable/active_record_ext/migration_proxy.rb +7 -0
- data/lib/active_record/turntable/active_record_ext/persistence.rb +96 -94
- data/lib/active_record/turntable/active_record_ext/relation.rb +31 -0
- data/lib/active_record/turntable/active_record_ext/schema_dumper.rb +18 -28
- data/lib/active_record/turntable/active_record_ext/transactions.rb +9 -3
- data/lib/active_record/turntable/active_record_ext.rb +26 -11
- data/lib/active_record/turntable/algorithm/base.rb +1 -1
- data/lib/active_record/turntable/algorithm/range_bsearch_algorithm.rb +1 -1
- data/lib/active_record/turntable/algorithm.rb +7 -3
- data/lib/active_record/turntable/base.rb +67 -14
- data/lib/active_record/turntable/cluster.rb +46 -2
- data/lib/active_record/turntable/config.rb +1 -1
- data/lib/active_record/turntable/connection_proxy/mixable.rb +7 -29
- data/lib/active_record/turntable/connection_proxy.rb +61 -72
- data/lib/active_record/turntable/error.rb +5 -6
- data/lib/active_record/turntable/helpers.rb +5 -1
- data/lib/active_record/turntable/migration.rb +9 -49
- data/lib/active_record/turntable/mixer/fader/calculate_shards_sum_result.rb +13 -2
- data/lib/active_record/turntable/mixer/fader/select_shards_merge_result.rb +17 -6
- data/lib/active_record/turntable/mixer/fader/specified_shard.rb +3 -1
- data/lib/active_record/turntable/mixer/fader.rb +12 -10
- data/lib/active_record/turntable/mixer.rb +59 -29
- data/lib/active_record/turntable/plugin.rb +6 -0
- data/lib/active_record/turntable/pool_proxy.rb +12 -19
- data/lib/active_record/turntable/rack/query_cache.rb +20 -23
- data/lib/active_record/turntable/rack.rb +4 -2
- data/lib/active_record/turntable/railtie.rb +4 -3
- data/lib/active_record/turntable/railties/databases.rake +81 -122
- data/lib/active_record/turntable/seq_shard.rb +1 -1
- data/lib/active_record/turntable/sequencer/api.rb +1 -1
- data/lib/active_record/turntable/sequencer/barrage.rb +28 -0
- data/lib/active_record/turntable/sequencer.rb +27 -9
- data/lib/active_record/turntable/shard.rb +2 -2
- data/lib/active_record/turntable/sql_tree_patch.rb +1 -1
- data/lib/active_record/turntable/version.rb +1 -1
- data/lib/active_record/turntable.rb +26 -16
- data/lib/generators/templates/turntable.yml +9 -7
- data/spec/active_record/turntable/active_record_ext/association_preloader_spec.rb +78 -0
- data/spec/active_record/turntable/active_record_ext/association_spec.rb +72 -0
- data/spec/active_record/turntable/active_record_ext/clever_load_spec.rb +25 -46
- data/spec/active_record/turntable/active_record_ext/locking_optimistic_spec.rb +28 -0
- data/spec/active_record/turntable/active_record_ext/persistence_spec.rb +46 -25
- data/spec/active_record/turntable/algorithm/range_algorithm_spec.rb +4 -4
- data/spec/active_record/turntable/algorithm/range_bsearch_algorithm_spec.rb +35 -0
- data/spec/active_record/turntable/algorithm_spec.rb +28 -12
- data/spec/active_record/turntable/base_spec.rb +1 -1
- data/spec/active_record/turntable/cluster_spec.rb +27 -5
- data/spec/active_record/turntable/config_spec.rb +2 -2
- data/spec/active_record/turntable/connection_proxy_spec.rb +112 -45
- data/spec/active_record/turntable/finder_spec.rb +24 -11
- data/spec/active_record/turntable/mixer_spec.rb +21 -21
- data/spec/active_record/turntable/rack/query_cache_spec.rb +19 -0
- data/spec/active_record/turntable/sequencer/api_spec.rb +38 -0
- data/spec/active_record/turntable/sequencer/barrage_spec.rb +22 -0
- data/spec/active_record/turntable/sequencer/mysql_spec.rb +22 -0
- data/spec/active_record/turntable/shard_spec.rb +1 -1
- data/spec/active_record/turntable/transaction_spec.rb +35 -0
- data/spec/active_record/turntable_spec.rb +4 -4
- data/spec/config/database.yml +24 -34
- data/spec/config/turntable.yml +18 -1
- data/spec/fabricators/turntable_fabricator.rb +0 -2
- data/spec/models/card.rb +3 -0
- data/spec/models/cards_user.rb +10 -0
- data/spec/models/cards_users_histories.rb +7 -0
- data/spec/models/events_users_history.rb +7 -0
- data/spec/models/user.rb +7 -0
- data/spec/models/user_status.rb +6 -0
- data/spec/spec_helper.rb +10 -4
- data/spec/support/matchers/be_saved_to.rb +6 -0
- data/spec/support/turntable_helper.rb +29 -0
- metadata +124 -74
- data/README.rdoc +0 -294
- data/gemfiles/rails3_0.gemfile +0 -7
- data/gemfiles/rails3_1.gemfile +0 -6
- data/gemfiles/rails3_2.gemfile +0 -6
- data/lib/active_record/turntable/compatible.rb +0 -19
- data/sample_app/.gitignore +0 -16
- data/sample_app/Gemfile +0 -41
- data/sample_app/README.rdoc +0 -261
- data/sample_app/Rakefile +0 -7
- data/sample_app/app/assets/images/rails.png +0 -0
- data/sample_app/app/assets/javascripts/application.js +0 -15
- data/sample_app/app/assets/stylesheets/application.css +0 -13
- data/sample_app/app/controllers/application_controller.rb +0 -3
- data/sample_app/app/helpers/application_helper.rb +0 -2
- data/sample_app/app/mailers/.gitkeep +0 -0
- data/sample_app/app/models/.gitkeep +0 -0
- data/sample_app/app/models/user.rb +0 -4
- data/sample_app/app/views/layouts/application.html.erb +0 -14
- data/sample_app/config/application.rb +0 -65
- data/sample_app/config/boot.rb +0 -6
- data/sample_app/config/database.yml +0 -70
- data/sample_app/config/environment.rb +0 -5
- data/sample_app/config/environments/development.rb +0 -37
- data/sample_app/config/environments/production.rb +0 -67
- data/sample_app/config/environments/test.rb +0 -37
- data/sample_app/config/initializers/backtrace_silencers.rb +0 -7
- data/sample_app/config/initializers/inflections.rb +0 -15
- data/sample_app/config/initializers/mime_types.rb +0 -5
- data/sample_app/config/initializers/secret_token.rb +0 -7
- data/sample_app/config/initializers/session_store.rb +0 -8
- data/sample_app/config/initializers/wrap_parameters.rb +0 -14
- data/sample_app/config/locales/en.yml +0 -5
- data/sample_app/config/routes.rb +0 -58
- data/sample_app/config/turntable.yml +0 -64
- data/sample_app/config.ru +0 -4
- data/sample_app/db/migrate/20120316073058_create_users.rb +0 -11
- data/sample_app/db/seeds.rb +0 -7
- data/sample_app/lib/assets/.gitkeep +0 -0
- data/sample_app/lib/tasks/.gitkeep +0 -0
- data/sample_app/log/.gitkeep +0 -0
- data/sample_app/public/404.html +0 -26
- data/sample_app/public/422.html +0 -26
- data/sample_app/public/500.html +0 -25
- data/sample_app/public/favicon.ico +0 -0
- data/sample_app/public/index.html +0 -241
- data/sample_app/public/robots.txt +0 -5
- data/sample_app/script/rails +0 -6
- data/sample_app/vendor/assets/javascripts/.gitkeep +0 -0
- data/sample_app/vendor/assets/stylesheets/.gitkeep +0 -0
- data/sample_app/vendor/plugins/.gitkeep +0 -0
- data/spec/test_models.rb +0 -27
- data/spec/turntable_helper.rb +0 -29
data/spec/config/turntable.yml
CHANGED
@@ -3,7 +3,8 @@ test:
|
|
3
3
|
user_cluster:
|
4
4
|
algorithm: range_bsearch
|
5
5
|
seq:
|
6
|
-
|
6
|
+
user_seq:
|
7
|
+
connection: turntable_user_seq_test
|
7
8
|
shards:
|
8
9
|
- connection: user_shard_1
|
9
10
|
less_than: 20000
|
@@ -15,3 +16,19 @@ test:
|
|
15
16
|
less_than: 80000
|
16
17
|
- connection: user_shard_3
|
17
18
|
less_than: 10000000
|
19
|
+
event_cluster:
|
20
|
+
algorithm: range_bsearch
|
21
|
+
seq:
|
22
|
+
user_seq:
|
23
|
+
connection: turntable_user_seq_test
|
24
|
+
shards:
|
25
|
+
- connection: user_shard_4
|
26
|
+
less_than: 20000
|
27
|
+
- connection: user_shard_5
|
28
|
+
less_than: 40000
|
29
|
+
- connection: user_shard_4
|
30
|
+
less_than: 60000
|
31
|
+
- connection: user_shard_5
|
32
|
+
less_than: 80000
|
33
|
+
- connection: user_shard_6
|
34
|
+
less_than: 10000000
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# load models
|
2
|
-
require File.expand_path(File.join(File.dirname(File.dirname(__FILE__)),'./test_models'))
|
3
2
|
|
4
3
|
# Fabrication
|
5
4
|
Fabricator(:user_status) do
|
@@ -11,4 +10,3 @@ Fabricator(:user) do
|
|
11
10
|
nickname { Faker::Name.name }
|
12
11
|
user_status { Fabricator(:user_status) }
|
13
12
|
end
|
14
|
-
|
data/spec/models/card.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
class CardsUser < ActiveRecord::Base
|
2
|
+
turntable :user_cluster, :user_id
|
3
|
+
sequencer :user_seq
|
4
|
+
|
5
|
+
belongs_to :user
|
6
|
+
belongs_to :card
|
7
|
+
has_many :cards_users_histories
|
8
|
+
has_many :events_users_histories
|
9
|
+
has_many :events_users_histories_with_foreign_shard_key, class_name: "EventsUsersHistory", foreign_shard_key: :user_id
|
10
|
+
end
|
data/spec/models/user.rb
ADDED
data/spec/spec_helper.rb
CHANGED
@@ -2,9 +2,11 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
2
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
3
|
require 'rubygems'
|
4
4
|
require 'bundler/setup'
|
5
|
+
require 'rspec/its'
|
6
|
+
require 'rspec/collection_matchers'
|
7
|
+
require 'webmock/rspec'
|
5
8
|
|
6
9
|
require 'activerecord-turntable'
|
7
|
-
require 'turntable_helper'
|
8
10
|
|
9
11
|
require 'coveralls'
|
10
12
|
Coveralls.wear!
|
@@ -13,14 +15,18 @@ MIGRATIONS_ROOT = File.expand_path(File.join(File.dirname(__FILE__), 'migrations
|
|
13
15
|
|
14
16
|
# Requires supporting files with custom matchers and macros, etc,
|
15
17
|
# in ./support/ and its subdirectories.
|
18
|
+
ActiveRecord::Base.configurations = YAML.load_file(File.join(File.dirname(__FILE__), 'config/database.yml'))
|
19
|
+
ActiveRecord::Base.establish_connection(:test)
|
20
|
+
|
16
21
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
17
22
|
|
18
23
|
RSpec.configure do |config|
|
19
|
-
|
20
|
-
config.run_all_when_everything_filtered = true
|
24
|
+
include TurntableHelper
|
21
25
|
|
22
|
-
config.
|
26
|
+
config.filter_run focus: true
|
27
|
+
config.run_all_when_everything_filtered = true
|
23
28
|
|
24
29
|
config.before(:each) do
|
30
|
+
Dir[File.join(File.dirname(File.dirname(__FILE__)), 'spec/models/*.rb')].each { |f| require f }
|
25
31
|
end
|
26
32
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'active_record'
|
2
|
+
|
3
|
+
module TurntableHelper
|
4
|
+
def reload_turntable!(config_file_name = nil)
|
5
|
+
ActiveRecord::Base.send(:include, ActiveRecord::Turntable)
|
6
|
+
ActiveRecord::Base.turntable_config_file = config_file_name
|
7
|
+
ActiveRecord::Turntable::Config.load!(ActiveRecord::Base.turntable_config_file, :test)
|
8
|
+
end
|
9
|
+
|
10
|
+
def establish_connection_to(env = :test)
|
11
|
+
silence_warnings {
|
12
|
+
Object.const_set('RAILS_ENV', env.to_s)
|
13
|
+
Object.const_set('Rails', Object.new)
|
14
|
+
allow(Rails).to receive(:env) { ActiveSupport::StringInquirer.new(RAILS_ENV) }
|
15
|
+
ActiveRecord::Base.logger = Logger.new("/dev/null")
|
16
|
+
}
|
17
|
+
ActiveRecord::Base.establish_connection(env)
|
18
|
+
end
|
19
|
+
|
20
|
+
def truncate_shard
|
21
|
+
ActiveRecord::Base.descendants.each do |klass|
|
22
|
+
klass.delete_all
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def migrate(version)
|
27
|
+
ActiveRecord::Migrator.run(:up, MIGRATIONS_ROOT, version)
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-turntable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gussan
|
8
|
+
- sue445
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-
|
12
|
+
date: 2014-11-09 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: activerecord
|
@@ -16,28 +17,28 @@ dependencies:
|
|
16
17
|
requirements:
|
17
18
|
- - ">="
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
+
version: 4.0.0
|
20
21
|
type: :runtime
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
25
|
- - ">="
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
+
version: 4.0.0
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: activesupport
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
32
|
- - ">="
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
+
version: 4.0.0
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
39
|
- - ">="
|
39
40
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
+
version: 4.0.0
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
43
|
name: sql_tree
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,22 +81,64 @@ dependencies:
|
|
80
81
|
- - ">="
|
81
82
|
- !ruby/object:Gem::Version
|
82
83
|
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: activerecord-import
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: barrage
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: mysql2
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
83
126
|
- !ruby/object:Gem::Dependency
|
84
127
|
name: rake
|
85
128
|
requirement: !ruby/object:Gem::Requirement
|
86
129
|
requirements:
|
87
|
-
- - "
|
130
|
+
- - ">="
|
88
131
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
132
|
+
version: '0'
|
90
133
|
type: :development
|
91
134
|
prerelease: false
|
92
135
|
version_requirements: !ruby/object:Gem::Requirement
|
93
136
|
requirements:
|
94
|
-
- - "
|
137
|
+
- - ">="
|
95
138
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
139
|
+
version: '0'
|
97
140
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
141
|
+
name: rack
|
99
142
|
requirement: !ruby/object:Gem::Requirement
|
100
143
|
requirements:
|
101
144
|
- - ">="
|
@@ -109,7 +152,21 @@ dependencies:
|
|
109
152
|
- !ruby/object:Gem::Version
|
110
153
|
version: '0'
|
111
154
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
155
|
+
name: rspec
|
156
|
+
requirement: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - "~>"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 3.1.0
|
161
|
+
type: :development
|
162
|
+
prerelease: false
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - "~>"
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: 3.1.0
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
name: rspec-its
|
113
170
|
requirement: !ruby/object:Gem::Requirement
|
114
171
|
requirements:
|
115
172
|
- - ">="
|
@@ -123,7 +180,7 @@ dependencies:
|
|
123
180
|
- !ruby/object:Gem::Version
|
124
181
|
version: '0'
|
125
182
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
183
|
+
name: rspec-collection_matchers
|
127
184
|
requirement: !ruby/object:Gem::Requirement
|
128
185
|
requirements:
|
129
186
|
- - ">="
|
@@ -165,7 +222,7 @@ dependencies:
|
|
165
222
|
- !ruby/object:Gem::Version
|
166
223
|
version: '0'
|
167
224
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
225
|
+
name: webmock
|
169
226
|
requirement: !ruby/object:Gem::Requirement
|
170
227
|
requirements:
|
171
228
|
- - ">="
|
@@ -234,13 +291,13 @@ dependencies:
|
|
234
291
|
- - ">="
|
235
292
|
- !ruby/object:Gem::Version
|
236
293
|
version: '0'
|
237
|
-
description: ActiveRecord
|
294
|
+
description: ActiveRecord sharding extension
|
238
295
|
email:
|
239
296
|
executables: []
|
240
297
|
extensions: []
|
241
298
|
extra_rdoc_files:
|
242
299
|
- LICENSE.txt
|
243
|
-
- README.
|
300
|
+
- README.md
|
244
301
|
- CHANGELOG.md
|
245
302
|
files:
|
246
303
|
- ".coveralls.yml"
|
@@ -252,20 +309,28 @@ files:
|
|
252
309
|
- Gemfile
|
253
310
|
- Guardfile
|
254
311
|
- LICENSE.txt
|
255
|
-
- README.
|
312
|
+
- README.md
|
256
313
|
- Rakefile
|
257
314
|
- activerecord-turntable.gemspec
|
258
|
-
- gemfiles/
|
259
|
-
- gemfiles/
|
260
|
-
- gemfiles/rails3_2.gemfile
|
315
|
+
- gemfiles/rails4_0.gemfile
|
316
|
+
- gemfiles/rails4_1.gemfile
|
261
317
|
- lib/active_record/turntable.rb
|
262
318
|
- lib/active_record/turntable/active_record_ext.rb
|
263
319
|
- lib/active_record/turntable/active_record_ext/.gitkeep
|
264
320
|
- lib/active_record/turntable/active_record_ext/abstract_adapter.rb
|
321
|
+
- lib/active_record/turntable/active_record_ext/activerecord_import_ext.rb
|
322
|
+
- lib/active_record/turntable/active_record_ext/acts_as_archive_extension.rb
|
323
|
+
- lib/active_record/turntable/active_record_ext/association.rb
|
324
|
+
- lib/active_record/turntable/active_record_ext/association_preloader.rb
|
265
325
|
- lib/active_record/turntable/active_record_ext/clever_load.rb
|
326
|
+
- lib/active_record/turntable/active_record_ext/connection_handler_extension.rb
|
327
|
+
- lib/active_record/turntable/active_record_ext/database_tasks.rb
|
266
328
|
- lib/active_record/turntable/active_record_ext/fixtures.rb
|
329
|
+
- lib/active_record/turntable/active_record_ext/locking_optimistic.rb
|
267
330
|
- lib/active_record/turntable/active_record_ext/log_subscriber.rb
|
331
|
+
- lib/active_record/turntable/active_record_ext/migration_proxy.rb
|
268
332
|
- lib/active_record/turntable/active_record_ext/persistence.rb
|
333
|
+
- lib/active_record/turntable/active_record_ext/relation.rb
|
269
334
|
- lib/active_record/turntable/active_record_ext/schema_dumper.rb
|
270
335
|
- lib/active_record/turntable/active_record_ext/sequencer.rb
|
271
336
|
- lib/active_record/turntable/active_record_ext/transactions.rb
|
@@ -276,7 +341,6 @@ files:
|
|
276
341
|
- lib/active_record/turntable/algorithm/range_bsearch_algorithm.rb
|
277
342
|
- lib/active_record/turntable/base.rb
|
278
343
|
- lib/active_record/turntable/cluster.rb
|
279
|
-
- lib/active_record/turntable/compatible.rb
|
280
344
|
- lib/active_record/turntable/config.rb
|
281
345
|
- lib/active_record/turntable/connection_proxy.rb
|
282
346
|
- lib/active_record/turntable/connection_proxy/mixable.rb
|
@@ -292,6 +356,7 @@ files:
|
|
292
356
|
- lib/active_record/turntable/mixer/fader/select_shards_merge_result.rb
|
293
357
|
- lib/active_record/turntable/mixer/fader/specified_shard.rb
|
294
358
|
- lib/active_record/turntable/mixer/fader/update_shards_merge_result.rb
|
359
|
+
- lib/active_record/turntable/plugin.rb
|
295
360
|
- lib/active_record/turntable/pool_proxy.rb
|
296
361
|
- lib/active_record/turntable/rack.rb
|
297
362
|
- lib/active_record/turntable/rack/connection_management.rb
|
@@ -301,6 +366,7 @@ files:
|
|
301
366
|
- lib/active_record/turntable/seq_shard.rb
|
302
367
|
- lib/active_record/turntable/sequencer.rb
|
303
368
|
- lib/active_record/turntable/sequencer/api.rb
|
369
|
+
- lib/active_record/turntable/sequencer/barrage.rb
|
304
370
|
- lib/active_record/turntable/sequencer/mysql.rb
|
305
371
|
- lib/active_record/turntable/shard.rb
|
306
372
|
- lib/active_record/turntable/sql_tree_patch.rb
|
@@ -308,55 +374,14 @@ files:
|
|
308
374
|
- lib/activerecord-turntable.rb
|
309
375
|
- lib/generators/active_record/turntable/install_generator.rb
|
310
376
|
- lib/generators/templates/turntable.yml
|
311
|
-
- sample_app/.gitignore
|
312
|
-
- sample_app/Gemfile
|
313
|
-
- sample_app/README.rdoc
|
314
|
-
- sample_app/Rakefile
|
315
|
-
- sample_app/app/assets/images/rails.png
|
316
|
-
- sample_app/app/assets/javascripts/application.js
|
317
|
-
- sample_app/app/assets/stylesheets/application.css
|
318
|
-
- sample_app/app/controllers/application_controller.rb
|
319
|
-
- sample_app/app/helpers/application_helper.rb
|
320
|
-
- sample_app/app/mailers/.gitkeep
|
321
|
-
- sample_app/app/models/.gitkeep
|
322
|
-
- sample_app/app/models/user.rb
|
323
|
-
- sample_app/app/views/layouts/application.html.erb
|
324
|
-
- sample_app/config.ru
|
325
|
-
- sample_app/config/application.rb
|
326
|
-
- sample_app/config/boot.rb
|
327
|
-
- sample_app/config/database.yml
|
328
|
-
- sample_app/config/environment.rb
|
329
|
-
- sample_app/config/environments/development.rb
|
330
|
-
- sample_app/config/environments/production.rb
|
331
|
-
- sample_app/config/environments/test.rb
|
332
|
-
- sample_app/config/initializers/backtrace_silencers.rb
|
333
|
-
- sample_app/config/initializers/inflections.rb
|
334
|
-
- sample_app/config/initializers/mime_types.rb
|
335
|
-
- sample_app/config/initializers/secret_token.rb
|
336
|
-
- sample_app/config/initializers/session_store.rb
|
337
|
-
- sample_app/config/initializers/wrap_parameters.rb
|
338
|
-
- sample_app/config/locales/en.yml
|
339
|
-
- sample_app/config/routes.rb
|
340
|
-
- sample_app/config/turntable.yml
|
341
|
-
- sample_app/db/migrate/20120316073058_create_users.rb
|
342
|
-
- sample_app/db/seeds.rb
|
343
|
-
- sample_app/lib/assets/.gitkeep
|
344
|
-
- sample_app/lib/tasks/.gitkeep
|
345
|
-
- sample_app/log/.gitkeep
|
346
|
-
- sample_app/public/404.html
|
347
|
-
- sample_app/public/422.html
|
348
|
-
- sample_app/public/500.html
|
349
|
-
- sample_app/public/favicon.ico
|
350
|
-
- sample_app/public/index.html
|
351
|
-
- sample_app/public/robots.txt
|
352
|
-
- sample_app/script/rails
|
353
|
-
- sample_app/vendor/assets/javascripts/.gitkeep
|
354
|
-
- sample_app/vendor/assets/stylesheets/.gitkeep
|
355
|
-
- sample_app/vendor/plugins/.gitkeep
|
356
377
|
- script/performance/algorithm
|
378
|
+
- spec/active_record/turntable/active_record_ext/association_preloader_spec.rb
|
379
|
+
- spec/active_record/turntable/active_record_ext/association_spec.rb
|
357
380
|
- spec/active_record/turntable/active_record_ext/clever_load_spec.rb
|
381
|
+
- spec/active_record/turntable/active_record_ext/locking_optimistic_spec.rb
|
358
382
|
- spec/active_record/turntable/active_record_ext/persistence_spec.rb
|
359
383
|
- spec/active_record/turntable/algorithm/range_algorithm_spec.rb
|
384
|
+
- spec/active_record/turntable/algorithm/range_bsearch_algorithm_spec.rb
|
360
385
|
- spec/active_record/turntable/algorithm_spec.rb
|
361
386
|
- spec/active_record/turntable/base_spec.rb
|
362
387
|
- spec/active_record/turntable/cluster_spec.rb
|
@@ -365,7 +390,12 @@ files:
|
|
365
390
|
- spec/active_record/turntable/finder_spec.rb
|
366
391
|
- spec/active_record/turntable/mixer/fader_spec.rb
|
367
392
|
- spec/active_record/turntable/mixer_spec.rb
|
393
|
+
- spec/active_record/turntable/rack/query_cache_spec.rb
|
394
|
+
- spec/active_record/turntable/sequencer/api_spec.rb
|
395
|
+
- spec/active_record/turntable/sequencer/barrage_spec.rb
|
396
|
+
- spec/active_record/turntable/sequencer/mysql_spec.rb
|
368
397
|
- spec/active_record/turntable/shard_spec.rb
|
398
|
+
- spec/active_record/turntable/transaction_spec.rb
|
369
399
|
- spec/active_record/turntable_spec.rb
|
370
400
|
- spec/config/database.yml
|
371
401
|
- spec/config/turntable.yml
|
@@ -376,9 +406,15 @@ files:
|
|
376
406
|
- spec/migrations/002_create_user_statuses.rb
|
377
407
|
- spec/migrations/003_create_cards.rb
|
378
408
|
- spec/migrations/004_create_cards_users.rb
|
409
|
+
- spec/models/card.rb
|
410
|
+
- spec/models/cards_user.rb
|
411
|
+
- spec/models/cards_users_histories.rb
|
412
|
+
- spec/models/events_users_history.rb
|
413
|
+
- spec/models/user.rb
|
414
|
+
- spec/models/user_status.rb
|
379
415
|
- spec/spec_helper.rb
|
380
|
-
- spec/
|
381
|
-
- spec/turntable_helper.rb
|
416
|
+
- spec/support/matchers/be_saved_to.rb
|
417
|
+
- spec/support/turntable_helper.rb
|
382
418
|
homepage: https://github.com/drecom/activerecord-turntable
|
383
419
|
licenses:
|
384
420
|
- MIT
|
@@ -394,19 +430,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
394
430
|
version: '0'
|
395
431
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
396
432
|
requirements:
|
397
|
-
- - "
|
433
|
+
- - ">"
|
398
434
|
- !ruby/object:Gem::Version
|
399
|
-
version:
|
435
|
+
version: 1.3.1
|
400
436
|
requirements: []
|
401
437
|
rubyforge_project: activerecord-turntable
|
402
438
|
rubygems_version: 2.2.2
|
403
439
|
signing_key:
|
404
440
|
specification_version: 4
|
405
|
-
summary: ActiveRecord
|
441
|
+
summary: ActiveRecord sharding extension
|
406
442
|
test_files:
|
443
|
+
- spec/active_record/turntable/active_record_ext/association_preloader_spec.rb
|
444
|
+
- spec/active_record/turntable/active_record_ext/association_spec.rb
|
407
445
|
- spec/active_record/turntable/active_record_ext/clever_load_spec.rb
|
446
|
+
- spec/active_record/turntable/active_record_ext/locking_optimistic_spec.rb
|
408
447
|
- spec/active_record/turntable/active_record_ext/persistence_spec.rb
|
409
448
|
- spec/active_record/turntable/algorithm/range_algorithm_spec.rb
|
449
|
+
- spec/active_record/turntable/algorithm/range_bsearch_algorithm_spec.rb
|
410
450
|
- spec/active_record/turntable/algorithm_spec.rb
|
411
451
|
- spec/active_record/turntable/base_spec.rb
|
412
452
|
- spec/active_record/turntable/cluster_spec.rb
|
@@ -415,7 +455,12 @@ test_files:
|
|
415
455
|
- spec/active_record/turntable/finder_spec.rb
|
416
456
|
- spec/active_record/turntable/mixer/fader_spec.rb
|
417
457
|
- spec/active_record/turntable/mixer_spec.rb
|
458
|
+
- spec/active_record/turntable/rack/query_cache_spec.rb
|
459
|
+
- spec/active_record/turntable/sequencer/api_spec.rb
|
460
|
+
- spec/active_record/turntable/sequencer/barrage_spec.rb
|
461
|
+
- spec/active_record/turntable/sequencer/mysql_spec.rb
|
418
462
|
- spec/active_record/turntable/shard_spec.rb
|
463
|
+
- spec/active_record/turntable/transaction_spec.rb
|
419
464
|
- spec/active_record/turntable_spec.rb
|
420
465
|
- spec/config/database.yml
|
421
466
|
- spec/config/turntable.yml
|
@@ -426,7 +471,12 @@ test_files:
|
|
426
471
|
- spec/migrations/002_create_user_statuses.rb
|
427
472
|
- spec/migrations/003_create_cards.rb
|
428
473
|
- spec/migrations/004_create_cards_users.rb
|
474
|
+
- spec/models/card.rb
|
475
|
+
- spec/models/cards_user.rb
|
476
|
+
- spec/models/cards_users_histories.rb
|
477
|
+
- spec/models/events_users_history.rb
|
478
|
+
- spec/models/user.rb
|
479
|
+
- spec/models/user_status.rb
|
429
480
|
- spec/spec_helper.rb
|
430
|
-
- spec/
|
431
|
-
- spec/turntable_helper.rb
|
432
|
-
has_rdoc:
|
481
|
+
- spec/support/matchers/be_saved_to.rb
|
482
|
+
- spec/support/turntable_helper.rb
|