xapian_db 1.3.5.2 → 1.3.5.3

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: 6c261e611b52eb0ee8488a557ccc7a8f5527263e
4
- data.tar.gz: d70a7ba090414139326ea0d55484395a6a5b6096
3
+ metadata.gz: 5ce0f970692c7d1bdc362dc7f67d6c4f375d2868
4
+ data.tar.gz: cde3a5950f350d9e15d2ff65b9add3a0f8e858a5
5
5
  SHA512:
6
- metadata.gz: 35737fa35a89f057a815df6848f90e0251b6d72d9fdadaa4587c97399239b3686c6705d597366ce9accbf0c85953b61a936cc39c7008c8c81c86dec6e1a97994
7
- data.tar.gz: e05a9527113baaef7e963473fa8dc44d89e42f02cc9a32f72cf59681f2dbe7b1318aa3dc902d3b043418cfb9b44fa7f62ee118905db6d2b14148fdd517743d1f
6
+ metadata.gz: f002b01854b74a5d5d93e13f6ef98d160cc3db5ceff0e3c0256b9e38861b59acd740f500f039d32773c57305574d1e112a1000e4a6c84080823608ae12c90f95
7
+ data.tar.gz: 143d0466a6653ba2696398090d87e75bca53e626a756d59a3d348c3ecaf6f7e968c6276326311ef4eddf28746307d4d361490c21e02f9593062c5b7254179a04
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ##1.3.5.3 (May 22th, 2014)
2
+
3
+ Fixes:
4
+
5
+ - retry the search when a Xapian::DatabaseModifiedError occurs
6
+
1
7
  ##1.3.5.2 (January 3rd, 2014)
2
8
 
3
9
  Fixes:
@@ -85,7 +85,19 @@ module XapianDb
85
85
 
86
86
  opts[:spelling_suggestion] = @query_parser.spelling_suggestion
87
87
  opts[:db_size] = self.size
88
- result = Resultset.new(enquiry, opts)
88
+
89
+ retries = 0
90
+ begin
91
+ result = Resultset.new(enquiry, opts)
92
+ rescue IOError => ex
93
+ raise unless ex.message =~ /DatabaseModifiedError: /
94
+ raise if retries >= 5
95
+ sleep 0.1
96
+ retries += 1
97
+ Rails.logger.warn "XapianDb: DatabaseModifiedError, retry #{retries}" if defined?(Rails)
98
+ @reader.reopen
99
+ retry
100
+ end
89
101
 
90
102
  Rails.logger.debug "XapianDb search (#{(Time.now - start) * 1000}ms) #{expression}" if defined?(Rails)
91
103
  result
@@ -51,15 +51,14 @@ module XapianDb
51
51
  # @option options [String] :spelling_suggestion (nil) The spelling corrected query (if a language is configured)
52
52
  def initialize(enquiry, options={})
53
53
 
54
- enquiry = enquiry
55
54
  return build_empty_resultset if enquiry.nil?
56
- db_size = options.delete :db_size
57
- @spelling_suggestion = options.delete :spelling_suggestion
58
-
59
- limit = options.delete :limit
60
- page = options.delete :page
61
- per_page = options.delete :per_page
62
- raise ArgumentError.new "unsupported options for resultset: #{options}" if options.size > 0
55
+ params = options.dup
56
+ db_size = params.delete :db_size
57
+ @spelling_suggestion = params.delete :spelling_suggestion
58
+ limit = params.delete :limit
59
+ page = params.delete :page
60
+ per_page = params.delete :per_page
61
+ raise ArgumentError.new "unsupported options for resultset: #{params}" if params.size > 0
63
62
  raise ArgumentError.new "db_size option is required" unless db_size
64
63
 
65
64
  limit = limit.nil? ? db_size : limit.to_i
metadata CHANGED
@@ -1,167 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xapian_db
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5.2
4
+ version: 1.3.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gernot Kogler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-03 00:00:00.000000000 Z
11
+ date: 2014-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.0.10
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: 1.0.10
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: guard
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
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: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.3.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.3.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simplecov
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.3.7
62
62
  type: :development
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: 0.3.7
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: beanstalk-client
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: 1.1.0
76
76
  type: :development
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: 1.1.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: '0'
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: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: ruby-progressbar
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: resque
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: 1.19.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: 1.19.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: sidekiq
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: 2.13.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: 2.13.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: xapian-ruby
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 1.2.7.1
145
+ version: 1.2.15.1
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
- version: 1.2.7.1
152
+ version: 1.2.15.1
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: pry-rails
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
  description: XapianDb is a ruby gem that combines features of nosql databases and
@@ -171,9 +171,14 @@ executables: []
171
171
  extensions: []
172
172
  extra_rdoc_files: []
173
173
  files:
174
+ - CHANGELOG.md
175
+ - LICENSE
176
+ - README.rdoc
177
+ - Rakefile
174
178
  - lib/generators/install_generator.rb
175
179
  - lib/generators/templates/beanstalk_worker
176
180
  - lib/type_codec.rb
181
+ - lib/xapian_db.rb
177
182
  - lib/xapian_db/adapters/active_record_adapter.rb
178
183
  - lib/xapian_db/adapters/base_adapter.rb
179
184
  - lib/xapian_db/adapters/datamapper_adapter.rb
@@ -198,6 +203,7 @@ files:
198
203
  - lib/xapian_db/repositories/stemmer.rb
199
204
  - lib/xapian_db/repositories/stopper.rb
200
205
  - lib/xapian_db/resultset.rb
206
+ - lib/xapian_db/stopwords/README
201
207
  - lib/xapian_db/stopwords/da.txt
202
208
  - lib/xapian_db/stopwords/de.txt
203
209
  - lib/xapian_db/stopwords/en.txt
@@ -209,45 +215,39 @@ files:
209
215
  - lib/xapian_db/stopwords/nl.txt
210
216
  - lib/xapian_db/stopwords/no.txt
211
217
  - lib/xapian_db/stopwords/pt.txt
212
- - lib/xapian_db/stopwords/README
213
218
  - lib/xapian_db/stopwords/ru.txt
214
219
  - lib/xapian_db/stopwords/sv.txt
215
220
  - lib/xapian_db/stopwords/update_stopwords.rb
216
221
  - lib/xapian_db/utilities.rb
217
- - lib/xapian_db.rb
218
222
  - tasks/spec.rake
219
223
  - tasks/xapian_rebuild_index.rake
220
- - LICENSE
221
- - README.rdoc
222
- - CHANGELOG.md
223
- - Rakefile
224
224
  homepage: https://github.com/garaio/xapian_db
225
225
  licenses:
226
226
  - MIT
227
227
  metadata: {}
228
228
  post_install_message:
229
229
  rdoc_options:
230
- - --line-numbers
231
- - --inline-source
232
- - --title
230
+ - "--line-numbers"
231
+ - "--inline-source"
232
+ - "--title"
233
233
  - Xapian-DB
234
- - --main
234
+ - "--main"
235
235
  - README.rdoc
236
236
  require_paths:
237
237
  - lib
238
238
  required_ruby_version: !ruby/object:Gem::Requirement
239
239
  requirements:
240
- - - '>='
240
+ - - ">="
241
241
  - !ruby/object:Gem::Version
242
242
  version: '0'
243
243
  required_rubygems_version: !ruby/object:Gem::Requirement
244
244
  requirements:
245
- - - '>='
245
+ - - ">="
246
246
  - !ruby/object:Gem::Version
247
247
  version: 1.3.6
248
248
  requirements: []
249
249
  rubyforge_project:
250
- rubygems_version: 2.1.11
250
+ rubygems_version: 2.2.2
251
251
  signing_key:
252
252
  specification_version: 4
253
253
  summary: Ruby library to use a Xapian db as a key/value store with high performance