activerecord-turntable 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 35800939b99f9d4780837007b980045f01cc485a
4
- data.tar.gz: 96ed53a4f856feb26c8e898b9009759ff25531a2
3
+ metadata.gz: 2cf165fcac886a12b91e1c524f6e39909d771396
4
+ data.tar.gz: c86ffe9b2f0a5e10718483199aa1aa9fbf7453f6
5
5
  SHA512:
6
- metadata.gz: 8ef7ecdf0f84fe4a495e0d0e65afcb801a4bf19051d6b30b86309ae3216126fe22e85143dd45ec387218a4977d628af61ed716e8ab1f473948ed57886063ec7a
7
- data.tar.gz: df7b2a8b6220ac3814d819215441dfe6ec4858aa10a4a3fa2aeee82ad390e8713459f97abdd3d8f9218638923e3f16e74e0dce143957a0391015e7135c4cbfd9
6
+ metadata.gz: 4f0f21e8874756dd0e7638759d1517a472a96a40fa7cadafe96399078a20598a7b5880b73f1da283784914bcdcbffbca839663693426a4aa039abb26ee4f2bb2
7
+ data.tar.gz: 0e4c417bf23c6a4baf9a64fb0b72e175b44debfb9a9c7939cbf04cf1e04409e43383ee5e30a4b3f90235ccd329b172182667dd005c6fab66c57782d30d7d6213
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## activerecord-turntable 1.1.2 ##
2
+
3
+ * Increase sequence table performance (by hanabokuro)
4
+
1
5
  ## activerecord-turntable 1.1.1 ##
2
6
 
3
7
  * Enable query caching
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = ActiveRecord::Turntable {<img src="https://secure.travis-ci.org/drecom/activerecord-turntable.png" />}[http://travis-ci.org/drecom/activerecord-turntable] {<img src="https://gemnasium.com/drecom/activerecord-turntable.png" alt="Dependency Status" />}[https://gemnasium.com/drecom/activerecord-turntable] {<img src="https://coveralls.io/repos/drecom/activerecord-turntable/badge.png?branch=master" alt="Coverage Status" />}[https://coveralls.io/r/drecom/activerecord-turntable]
1
+ = ActiveRecord::Turntable {<img src="https://badge.fury.io/rb/activerecord-turntable.png" alt="Gem Version" />}[http://badge.fury.io/rb/activerecord-turntable] {<img src="https://secure.travis-ci.org/drecom/activerecord-turntable.png" />}[http://travis-ci.org/drecom/activerecord-turntable] {<img src="https://gemnasium.com/drecom/activerecord-turntable.png" alt="Dependency Status" />}[https://gemnasium.com/drecom/activerecord-turntable] {<img src="https://coveralls.io/repos/drecom/activerecord-turntable/badge.png?branch=master" alt="Coverage Status" />}[https://coveralls.io/r/drecom/activerecord-turntable]
2
2
 
3
3
  ActiveRecord::Turntable is a database sharding extension for ActiveRecord.
4
4
 
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.authors = ["gussan"]
8
8
  s.homepage = "https://github.com/drecom/activerecord-turntable"
9
9
  s.summary = %q{ActiveRecord Sharding plugin}
10
- s.description = %q{AcviveRecord Sharding plugin}
10
+ s.description = %q{ActiveRecord Sharding plugin}
11
11
 
12
12
  s.rubyforge_project = "activerecord-turntable"
13
13
  s.extra_rdoc_files = [
@@ -85,11 +85,14 @@ module ActiveRecord::Turntable::Migration
85
85
 
86
86
  module SchemaStatementsExt
87
87
  def create_sequence_for(table_name, options = { })
88
+ options = options.merge(:id => false)
89
+
88
90
  # TODO: pkname should be pulled from table definitions
89
91
  pkname = "id"
90
92
  sequence_table_name = ActiveRecord::Turntable::Sequencer.sequence_name(table_name, "id")
91
- create_table(sequence_table_name, options)
92
- execute "ALTER TABLE #{quote_table_name(sequence_table_name)} MODIFY id bigint(20) DEFAULT NULL auto_increment NOT NULL;"
93
+ create_table(sequence_table_name, options) do |t|
94
+ t.integer :id, :limit => 8
95
+ end
93
96
  execute "INSERT INTO #{quote_table_name(sequence_table_name)} (`id`) VALUES (0)"
94
97
  end
95
98
 
@@ -13,9 +13,7 @@ module ActiveRecord::Turntable
13
13
 
14
14
  def next_sequence_value(sequence_name)
15
15
  conn = @klass.connection.seq.connection
16
- conn.execute "BEGIN"
17
16
  conn.execute "UPDATE #{@klass.connection.quote_table_name(sequence_name)} SET id=LAST_INSERT_ID(id+1)"
18
- conn.execute "COMMIT"
19
17
  res = conn.execute("SELECT LAST_INSERT_ID()")
20
18
  new_id = res.first.first.to_i
21
19
  raise SequenceNotFoundError if new_id.zero?
@@ -23,7 +21,9 @@ module ActiveRecord::Turntable
23
21
  end
24
22
 
25
23
  def current_sequence_value(sequence_name)
26
- res = @klass.connection.seq.connection.execute("SELECT id FROM #{@klass.connection.quote_table_name(sequence_name)} LIMIT 1")
24
+ conn = @klass.connection.seq.connection
25
+ conn.execute "UPDATE #{@klass.connection.quote_table_name(sequence_name)} SET id=LAST_INSERT_ID(id)"
26
+ res = conn.execute("SELECT LAST_INSERT_ID()")
27
27
  current_id = res.first.first.to_i
28
28
  return current_id
29
29
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module Turntable
3
- VERSION = "1.1.1"
3
+ VERSION = "1.1.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-turntable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - gussan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-17 00:00:00.000000000 Z
11
+ date: 2014-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 3.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 3.0.0
41
41
  - !ruby/object:Gem::Dependency
@@ -56,185 +56,185 @@ dependencies:
56
56
  name: bsearch
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.5'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.5'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: httpclient
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 10.0.3
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 10.0.3
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rr
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: mysql2
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: fabrication
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: faker
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: activerecord-import
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - '>='
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: pry
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '>='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - '>='
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: guard-rspec
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - '>='
199
+ - - ">="
200
200
  - !ruby/object:Gem::Version
201
201
  version: '0'
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - '>='
206
+ - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: coveralls
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - '>='
213
+ - - ">="
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - '>='
220
+ - - ">="
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: growl
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - '>='
227
+ - - ">="
228
228
  - !ruby/object:Gem::Version
229
229
  version: '0'
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - '>='
234
+ - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
- description: AcviveRecord Sharding plugin
237
+ description: ActiveRecord Sharding plugin
238
238
  email:
239
239
  executables: []
240
240
  extensions: []
@@ -243,11 +243,11 @@ extra_rdoc_files:
243
243
  - README.rdoc
244
244
  - CHANGELOG.md
245
245
  files:
246
- - .coveralls.yml
247
- - .document
248
- - .gitignore
249
- - .rspec
250
- - .travis.yml
246
+ - ".coveralls.yml"
247
+ - ".document"
248
+ - ".gitignore"
249
+ - ".rspec"
250
+ - ".travis.yml"
251
251
  - CHANGELOG.md
252
252
  - Gemfile
253
253
  - Guardfile
@@ -389,17 +389,17 @@ require_paths:
389
389
  - lib
390
390
  required_ruby_version: !ruby/object:Gem::Requirement
391
391
  requirements:
392
- - - '>='
392
+ - - ">="
393
393
  - !ruby/object:Gem::Version
394
394
  version: '0'
395
395
  required_rubygems_version: !ruby/object:Gem::Requirement
396
396
  requirements:
397
- - - '>='
397
+ - - ">="
398
398
  - !ruby/object:Gem::Version
399
399
  version: '0'
400
400
  requirements: []
401
401
  rubyforge_project: activerecord-turntable
402
- rubygems_version: 2.0.2
402
+ rubygems_version: 2.2.2
403
403
  signing_key:
404
404
  specification_version: 4
405
405
  summary: ActiveRecord Sharding plugin
@@ -429,3 +429,4 @@ test_files:
429
429
  - spec/spec_helper.rb
430
430
  - spec/test_models.rb
431
431
  - spec/turntable_helper.rb
432
+ has_rdoc: