sqlite3 1.4.2 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{API_CHANGES.rdoc → API_CHANGES.md} +3 -4
- data/CHANGELOG.md +641 -0
- data/CONTRIBUTING.md +34 -0
- data/FAQ.md +431 -0
- data/Gemfile +7 -14
- data/INSTALLATION.md +259 -0
- data/LICENSE-DEPENDENCIES +20 -0
- data/README.md +110 -0
- data/dependencies.yml +14 -0
- data/ext/sqlite3/aggregator.c +10 -10
- data/ext/sqlite3/backup.c +26 -13
- data/ext/sqlite3/database.c +89 -38
- data/ext/sqlite3/database.h +2 -0
- data/ext/sqlite3/extconf.rb +269 -84
- data/ext/sqlite3/sqlite3.c +5 -2
- data/ext/sqlite3/sqlite3_ruby.h +5 -2
- data/ext/sqlite3/statement.c +37 -28
- data/lib/sqlite3/constants.rb +1 -1
- data/lib/sqlite3/database.rb +55 -30
- data/lib/sqlite3/pragmas.rb +13 -6
- data/lib/sqlite3/resultset.rb +4 -12
- data/lib/sqlite3/statement.rb +2 -1
- data/lib/sqlite3/translator.rb +2 -3
- data/lib/sqlite3/version.rb +3 -5
- data/ports/archives/sqlite-autoconf-3450100.tar.gz +0 -0
- data/test/helper.rb +9 -0
- data/test/test_database.rb +182 -17
- data/test/test_deprecated.rb +10 -5
- data/test/test_encoding.rb +10 -0
- data/test/test_integration_resultset.rb +2 -2
- data/test/test_integration_statement.rb +2 -2
- data/test/test_pragmas.rb +22 -0
- data/test/test_result_set.rb +18 -8
- data/test/test_sqlite3.rb +9 -0
- data/test/test_statement.rb +28 -1
- data/test/test_statement_execute.rb +4 -0
- metadata +36 -144
- data/.travis.yml +0 -33
- data/CHANGELOG.rdoc +0 -318
- data/Manifest.txt +0 -60
- data/README.rdoc +0 -118
- data/Rakefile +0 -8
- data/appveyor.yml +0 -36
- data/faq/faq.rb +0 -145
- data/faq/faq.yml +0 -426
- data/rakelib/faq.rake +0 -9
- data/rakelib/gem.rake +0 -40
- data/rakelib/native.rake +0 -56
- data/rakelib/vendor_sqlite3.rake +0 -97
- data/setup.rb +0 -1333
data/test/test_statement.rb
CHANGED
@@ -7,6 +7,11 @@ module SQLite3
|
|
7
7
|
@stmt = SQLite3::Statement.new(@db, "select 'foo'")
|
8
8
|
end
|
9
9
|
|
10
|
+
def teardown
|
11
|
+
@stmt.close if !@stmt.closed?
|
12
|
+
@db.close
|
13
|
+
end
|
14
|
+
|
10
15
|
def test_double_close_does_not_segv
|
11
16
|
@db.execute 'CREATE TABLE "things" ("number" float NOT NULL)'
|
12
17
|
|
@@ -35,6 +40,8 @@ module SQLite3
|
|
35
40
|
# Older versions of SQLite return:
|
36
41
|
# column *column_name* is not unique
|
37
42
|
assert_match(/(column(s)? .* (is|are) not unique|UNIQUE constraint failed: .*)/, exception.message)
|
43
|
+
|
44
|
+
stmt.close
|
38
45
|
end
|
39
46
|
|
40
47
|
###
|
@@ -46,6 +53,7 @@ module SQLite3
|
|
46
53
|
if stmt.respond_to?(:database_name)
|
47
54
|
assert_equal 'main', stmt.database_name(0)
|
48
55
|
end
|
56
|
+
stmt.close
|
49
57
|
end
|
50
58
|
|
51
59
|
def test_prepare_blob
|
@@ -77,6 +85,7 @@ module SQLite3
|
|
77
85
|
def test_new_with_remainder
|
78
86
|
stmt = SQLite3::Statement.new(@db, "select 'foo';bar")
|
79
87
|
assert_equal 'bar', stmt.remainder
|
88
|
+
stmt.close
|
80
89
|
end
|
81
90
|
|
82
91
|
def test_empty_remainder
|
@@ -101,6 +110,7 @@ module SQLite3
|
|
101
110
|
result = nil
|
102
111
|
stmt.each { |x| result = x }
|
103
112
|
assert_equal ['hello'], result
|
113
|
+
stmt.close
|
104
114
|
end
|
105
115
|
|
106
116
|
def test_bind_param_int
|
@@ -109,6 +119,7 @@ module SQLite3
|
|
109
119
|
result = nil
|
110
120
|
stmt.each { |x| result = x }
|
111
121
|
assert_equal [10], result
|
122
|
+
stmt.close
|
112
123
|
end
|
113
124
|
|
114
125
|
def test_bind_nil
|
@@ -117,6 +128,7 @@ module SQLite3
|
|
117
128
|
result = nil
|
118
129
|
stmt.each { |x| result = x }
|
119
130
|
assert_equal [nil], result
|
131
|
+
stmt.close
|
120
132
|
end
|
121
133
|
|
122
134
|
def test_bind_blob
|
@@ -125,9 +137,12 @@ module SQLite3
|
|
125
137
|
stmt.bind_param(1, SQLite3::Blob.new('hello'))
|
126
138
|
stmt.execute
|
127
139
|
row = @db.execute('select * from foo')
|
140
|
+
stmt.close
|
128
141
|
|
129
142
|
assert_equal ['hello'], row.first
|
130
|
-
|
143
|
+
capture_io do # hush deprecation warning
|
144
|
+
assert_equal ['blob'], row.first.types
|
145
|
+
end
|
131
146
|
end
|
132
147
|
|
133
148
|
def test_bind_64
|
@@ -136,6 +151,7 @@ module SQLite3
|
|
136
151
|
result = nil
|
137
152
|
stmt.each { |x| result = x }
|
138
153
|
assert_equal [2 ** 31], result
|
154
|
+
stmt.close
|
139
155
|
end
|
140
156
|
|
141
157
|
def test_bind_double
|
@@ -144,6 +160,7 @@ module SQLite3
|
|
144
160
|
result = nil
|
145
161
|
stmt.each { |x| result = x }
|
146
162
|
assert_equal [2.2], result
|
163
|
+
stmt.close
|
147
164
|
end
|
148
165
|
|
149
166
|
def test_named_bind
|
@@ -152,6 +169,7 @@ module SQLite3
|
|
152
169
|
result = nil
|
153
170
|
stmt.each { |x| result = x }
|
154
171
|
assert_equal ['hello'], result
|
172
|
+
stmt.close
|
155
173
|
end
|
156
174
|
|
157
175
|
def test_named_bind_no_colon
|
@@ -160,6 +178,7 @@ module SQLite3
|
|
160
178
|
result = nil
|
161
179
|
stmt.each { |x| result = x }
|
162
180
|
assert_equal ['hello'], result
|
181
|
+
stmt.close
|
163
182
|
end
|
164
183
|
|
165
184
|
def test_named_bind_symbol
|
@@ -168,6 +187,7 @@ module SQLite3
|
|
168
187
|
result = nil
|
169
188
|
stmt.each { |x| result = x }
|
170
189
|
assert_equal ['hello'], result
|
190
|
+
stmt.close
|
171
191
|
end
|
172
192
|
|
173
193
|
def test_named_bind_not_found
|
@@ -175,6 +195,7 @@ module SQLite3
|
|
175
195
|
assert_raises(SQLite3::Exception) do
|
176
196
|
stmt.bind_param('bar', 'hello')
|
177
197
|
end
|
198
|
+
stmt.close
|
178
199
|
end
|
179
200
|
|
180
201
|
def test_each
|
@@ -225,16 +246,19 @@ module SQLite3
|
|
225
246
|
def test_bind_parameter_count
|
226
247
|
stmt = SQLite3::Statement.new(@db, "select ?, ?, ?")
|
227
248
|
assert_equal 3, stmt.bind_parameter_count
|
249
|
+
stmt.close
|
228
250
|
end
|
229
251
|
|
230
252
|
def test_execute_with_varargs
|
231
253
|
stmt = @db.prepare('select ?, ?')
|
232
254
|
assert_equal [[nil, nil]], stmt.execute(nil, nil).to_a
|
255
|
+
stmt.close
|
233
256
|
end
|
234
257
|
|
235
258
|
def test_execute_with_hash
|
236
259
|
stmt = @db.prepare('select :n, :h')
|
237
260
|
assert_equal [[10, nil]], stmt.execute('n' => 10, 'h' => nil).to_a
|
261
|
+
stmt.close
|
238
262
|
end
|
239
263
|
|
240
264
|
def test_with_error
|
@@ -244,6 +268,7 @@ module SQLite3
|
|
244
268
|
stmt.execute('employee-1') rescue SQLite3::ConstraintException
|
245
269
|
stmt.reset!
|
246
270
|
assert stmt.execute('employee-2')
|
271
|
+
stmt.close
|
247
272
|
end
|
248
273
|
|
249
274
|
def test_clear_bindings!
|
@@ -258,6 +283,8 @@ module SQLite3
|
|
258
283
|
while x = stmt.step
|
259
284
|
assert_equal [nil, nil], x
|
260
285
|
end
|
286
|
+
|
287
|
+
stmt.close
|
261
288
|
end
|
262
289
|
end
|
263
290
|
end
|
metadata
CHANGED
@@ -1,153 +1,44 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sqlite3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamis Buck
|
8
8
|
- Luis Lavena
|
9
9
|
- Aaron Patterson
|
10
|
+
- Mike Dalessio
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date:
|
14
|
+
date: 2024-01-30 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
17
|
+
name: mini_portile2
|
17
18
|
requirement: !ruby/object:Gem::Requirement
|
18
19
|
requirements:
|
19
20
|
- - "~>"
|
20
21
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
22
|
-
type: :
|
22
|
+
version: 2.8.0
|
23
|
+
type: :runtime
|
23
24
|
prerelease: false
|
24
25
|
version_requirements: !ruby/object:Gem::Requirement
|
25
26
|
requirements:
|
26
27
|
- - "~>"
|
27
28
|
- !ruby/object:Gem::Version
|
28
|
-
version:
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: '1.0'
|
36
|
-
type: :development
|
37
|
-
prerelease: false
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
39
|
-
requirements:
|
40
|
-
- - "~>"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '1.0'
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
|
-
name: rake-compiler-dock
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 0.6.0
|
50
|
-
type: :development
|
51
|
-
prerelease: false
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - "~>"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 0.6.0
|
57
|
-
- !ruby/object:Gem::Dependency
|
58
|
-
name: mini_portile
|
59
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- - "~>"
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: 0.6.2
|
64
|
-
type: :development
|
65
|
-
prerelease: false
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
67
|
-
requirements:
|
68
|
-
- - "~>"
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 0.6.2
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: hoe-bundler
|
73
|
-
requirement: !ruby/object:Gem::Requirement
|
74
|
-
requirements:
|
75
|
-
- - "~>"
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '1.0'
|
78
|
-
type: :development
|
79
|
-
prerelease: false
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
81
|
-
requirements:
|
82
|
-
- - "~>"
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: '1.0'
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: hoe-gemspec
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
88
|
-
requirements:
|
89
|
-
- - "~>"
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
version: '1.0'
|
92
|
-
type: :development
|
93
|
-
prerelease: false
|
94
|
-
version_requirements: !ruby/object:Gem::Requirement
|
95
|
-
requirements:
|
96
|
-
- - "~>"
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '1.0'
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
|
-
name: rdoc
|
101
|
-
requirement: !ruby/object:Gem::Requirement
|
102
|
-
requirements:
|
103
|
-
- - ">="
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
version: '4.0'
|
106
|
-
- - "<"
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '7'
|
109
|
-
type: :development
|
110
|
-
prerelease: false
|
111
|
-
version_requirements: !ruby/object:Gem::Requirement
|
112
|
-
requirements:
|
113
|
-
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: '4.0'
|
116
|
-
- - "<"
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '7'
|
119
|
-
- !ruby/object:Gem::Dependency
|
120
|
-
name: hoe
|
121
|
-
requirement: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - "~>"
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '3.20'
|
126
|
-
type: :development
|
127
|
-
prerelease: false
|
128
|
-
version_requirements: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - "~>"
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: '3.20'
|
133
|
-
description: |-
|
134
|
-
This module allows Ruby programs to interface with the SQLite3
|
135
|
-
database engine (http://www.sqlite.org). You must have the
|
136
|
-
SQLite engine installed in order to build this module.
|
137
|
-
|
138
|
-
Note that this module is only compatible with SQLite 3.6.16 or newer.
|
139
|
-
email:
|
140
|
-
- jamis@37signals.com
|
141
|
-
- luislavena@gmail.com
|
142
|
-
- aaron@tenderlovemaking.com
|
29
|
+
version: 2.8.0
|
30
|
+
force_ruby_platform: false
|
31
|
+
description: |
|
32
|
+
Ruby library to interface with the SQLite3 database engine (http://www.sqlite.org). Precompiled
|
33
|
+
binaries are available for common platforms for recent versions of Ruby.
|
34
|
+
email:
|
143
35
|
executables: []
|
144
36
|
extensions:
|
145
37
|
- ext/sqlite3/extconf.rb
|
146
38
|
extra_rdoc_files:
|
147
|
-
- API_CHANGES.
|
148
|
-
- CHANGELOG.
|
149
|
-
-
|
150
|
-
- README.rdoc
|
39
|
+
- API_CHANGES.md
|
40
|
+
- CHANGELOG.md
|
41
|
+
- README.md
|
151
42
|
- ext/sqlite3/aggregator.c
|
152
43
|
- ext/sqlite3/backup.c
|
153
44
|
- ext/sqlite3/database.c
|
@@ -156,16 +47,17 @@ extra_rdoc_files:
|
|
156
47
|
- ext/sqlite3/statement.c
|
157
48
|
files:
|
158
49
|
- ".gemtest"
|
159
|
-
-
|
160
|
-
-
|
161
|
-
-
|
50
|
+
- API_CHANGES.md
|
51
|
+
- CHANGELOG.md
|
52
|
+
- CONTRIBUTING.md
|
162
53
|
- ChangeLog.cvs
|
54
|
+
- FAQ.md
|
163
55
|
- Gemfile
|
56
|
+
- INSTALLATION.md
|
164
57
|
- LICENSE
|
165
|
-
-
|
166
|
-
- README.
|
167
|
-
-
|
168
|
-
- appveyor.yml
|
58
|
+
- LICENSE-DEPENDENCIES
|
59
|
+
- README.md
|
60
|
+
- dependencies.yml
|
169
61
|
- ext/sqlite3/aggregator.c
|
170
62
|
- ext/sqlite3/aggregator.h
|
171
63
|
- ext/sqlite3/backup.c
|
@@ -179,8 +71,6 @@ files:
|
|
179
71
|
- ext/sqlite3/sqlite3_ruby.h
|
180
72
|
- ext/sqlite3/statement.c
|
181
73
|
- ext/sqlite3/statement.h
|
182
|
-
- faq/faq.rb
|
183
|
-
- faq/faq.yml
|
184
74
|
- lib/sqlite3.rb
|
185
75
|
- lib/sqlite3/constants.rb
|
186
76
|
- lib/sqlite3/database.rb
|
@@ -191,11 +81,7 @@ files:
|
|
191
81
|
- lib/sqlite3/translator.rb
|
192
82
|
- lib/sqlite3/value.rb
|
193
83
|
- lib/sqlite3/version.rb
|
194
|
-
-
|
195
|
-
- rakelib/gem.rake
|
196
|
-
- rakelib/native.rake
|
197
|
-
- rakelib/vendor_sqlite3.rake
|
198
|
-
- setup.rb
|
84
|
+
- ports/archives/sqlite-autoconf-3450100.tar.gz
|
199
85
|
- test/helper.rb
|
200
86
|
- test/test_backup.rb
|
201
87
|
- test/test_collation.rb
|
@@ -211,6 +97,7 @@ files:
|
|
211
97
|
- test/test_integration_pending.rb
|
212
98
|
- test/test_integration_resultset.rb
|
213
99
|
- test/test_integration_statement.rb
|
100
|
+
- test/test_pragmas.rb
|
214
101
|
- test/test_result_set.rb
|
215
102
|
- test/test_sqlite3.rb
|
216
103
|
- test/test_statement.rb
|
@@ -219,27 +106,32 @@ homepage: https://github.com/sparklemotion/sqlite3-ruby
|
|
219
106
|
licenses:
|
220
107
|
- BSD-3-Clause
|
221
108
|
metadata:
|
109
|
+
homepage_uri: https://github.com/sparklemotion/sqlite3-ruby
|
110
|
+
bug_tracker_uri: https://github.com/sparklemotion/sqlite3-ruby/issues
|
111
|
+
documentation_uri: https://www.rubydoc.info/gems/sqlite3
|
112
|
+
changelog_uri: https://github.com/sparklemotion/sqlite3-ruby/blob/master/CHANGELOG.md
|
113
|
+
source_code_uri: https://github.com/sparklemotion/sqlite3-ruby
|
222
114
|
msys2_mingw_dependencies: sqlite3
|
115
|
+
rubygems_mfa_required: 'true'
|
223
116
|
post_install_message:
|
224
117
|
rdoc_options:
|
225
118
|
- "--main"
|
226
|
-
- README.
|
119
|
+
- README.md
|
227
120
|
require_paths:
|
228
121
|
- lib
|
229
122
|
required_ruby_version: !ruby/object:Gem::Requirement
|
230
123
|
requirements:
|
231
124
|
- - ">="
|
232
125
|
- !ruby/object:Gem::Version
|
233
|
-
version:
|
126
|
+
version: '2.7'
|
234
127
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
235
128
|
requirements:
|
236
129
|
- - ">="
|
237
130
|
- !ruby/object:Gem::Version
|
238
|
-
version:
|
131
|
+
version: '0'
|
239
132
|
requirements: []
|
240
|
-
rubygems_version: 3.
|
133
|
+
rubygems_version: 3.4.19
|
241
134
|
signing_key:
|
242
135
|
specification_version: 4
|
243
|
-
summary:
|
244
|
-
(http://www.sqlite.org)
|
136
|
+
summary: Ruby library to interface with the SQLite3 database engine (http://www.sqlite.org).
|
245
137
|
test_files: []
|
data/.travis.yml
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
cache: bundler
|
3
|
-
before_install:
|
4
|
-
- gem update --system 2.7.7
|
5
|
-
- gem install bundler -v 1.16.2
|
6
|
-
addons:
|
7
|
-
apt:
|
8
|
-
packages:
|
9
|
-
- libgmp-dev
|
10
|
-
|
11
|
-
after_failure:
|
12
|
-
- "find . -name mkmf.log -exec cat {} \\;"
|
13
|
-
|
14
|
-
after_success:
|
15
|
-
- "find . -name mkmf.log -exec cat {} \\;"
|
16
|
-
|
17
|
-
env:
|
18
|
-
- USE_MINI_PORTILE=true
|
19
|
-
- USE_MINI_PORTILE=false
|
20
|
-
rvm:
|
21
|
-
- 1.9.3
|
22
|
-
- 2.0.0
|
23
|
-
- 2.1
|
24
|
-
- 2.2
|
25
|
-
- 2.3
|
26
|
-
- 2.4
|
27
|
-
- 2.5
|
28
|
-
- 2.6
|
29
|
-
- 2.7
|
30
|
-
- ruby-head
|
31
|
-
matrix:
|
32
|
-
allow_failures:
|
33
|
-
- env: USE_MINI_PORTILE=false
|