sqlite3 1.4.2 → 1.7.2
Sign up to get free protection for your applications and to get access to all the features.
- 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/CHANGELOG.rdoc
DELETED
@@ -1,318 +0,0 @@
|
|
1
|
-
=== 1.4.2
|
2
|
-
|
3
|
-
* Travis: Drop unused setting "sudo: false"
|
4
|
-
* The taint mechanism will be deprecated in Ruby 2.7
|
5
|
-
* Fix Ruby 2.7 rb_check_safe_obj warnings
|
6
|
-
* Update travis config
|
7
|
-
|
8
|
-
=== 1.4.1
|
9
|
-
|
10
|
-
* Don't mandate dl functions for the extention build
|
11
|
-
* bumping version
|
12
|
-
|
13
|
-
=== 1.4.0
|
14
|
-
|
15
|
-
* Enhancements
|
16
|
-
* Better aggregator support
|
17
|
-
|
18
|
-
* Bugfixes
|
19
|
-
* Various
|
20
|
-
|
21
|
-
=== 1.3.13
|
22
|
-
|
23
|
-
* Enancements
|
24
|
-
* Support SQLite flags when defining functions
|
25
|
-
* Add definition for SQLITE_DETERMINISTIC flag
|
26
|
-
|
27
|
-
=== 1.3.12
|
28
|
-
|
29
|
-
* Bugfixes:
|
30
|
-
* OS X install will default to homebrew if available. Fixes #195
|
31
|
-
|
32
|
-
=== 1.3.11 / 2015-10-10
|
33
|
-
|
34
|
-
* Enhancements:
|
35
|
-
* Windows: build against SQLite 3.8.11.1
|
36
|
-
|
37
|
-
* Internal:
|
38
|
-
* Use rake-compiler-dock to build Windows binaries. Pull #159 [larskanis]
|
39
|
-
* Expand Ruby versions being tested for Travis and AppVeyor
|
40
|
-
|
41
|
-
=== 1.3.10 / 2014-10-30
|
42
|
-
|
43
|
-
* Enhancements:
|
44
|
-
* Windows: build against SQLite 3.8.6. Closes #135 [Hubro]
|
45
|
-
|
46
|
-
=== 1.3.9 / 2014-02-25
|
47
|
-
|
48
|
-
* Bugfixes:
|
49
|
-
* Reset exception message. Closes #80
|
50
|
-
* Reduce warnings due unused pointers. Closes #89
|
51
|
-
* Add BSD-3 license reference to gemspec. Refs #99 and #106
|
52
|
-
|
53
|
-
=== 1.3.8 / 2013-08-17
|
54
|
-
|
55
|
-
* Enhancements:
|
56
|
-
* Windows: build against SQLite 3.7.17
|
57
|
-
|
58
|
-
* Bugfixes:
|
59
|
-
* Reset exception message. Closes #80
|
60
|
-
* Correctly convert BLOB values to Ruby. Closes #65
|
61
|
-
* Add MIT license reference to gemspec. Closes #99
|
62
|
-
* Remove unused pointer. Closes #89
|
63
|
-
|
64
|
-
* Internal:
|
65
|
-
* Backport improvements in cross compilation for Windows
|
66
|
-
* Use of Minitest for internal tests
|
67
|
-
* Use Gemfile (generated by Hoe) to deal with dependencies
|
68
|
-
* Cleanup Travis CI
|
69
|
-
|
70
|
-
=== 1.3.7 / 2013-01-11
|
71
|
-
|
72
|
-
* Bugfixes
|
73
|
-
* Closing a bad statement twice will not segv.
|
74
|
-
* Aggregate handlers are initialized on each query. Closes #44
|
75
|
-
|
76
|
-
* Internal
|
77
|
-
* Unset environment variables that could affect cross compilation.
|
78
|
-
|
79
|
-
=== 1.3.6 / 2012-04-16
|
80
|
-
|
81
|
-
* Enhancements
|
82
|
-
* Windows: build against SQLite 3.7.11
|
83
|
-
* Added SQLite3::ResultSet#each_hash for fetching each row as a hash.
|
84
|
-
* Added SQLite3::ResultSet#next_hash for fetching one row as a hash.
|
85
|
-
|
86
|
-
* Bugfixes
|
87
|
-
* Support both UTF-16LE and UTF-16BE encoding modes on PPC. Closes #63
|
88
|
-
* Protect parameters to custom functions from being garbage collected too
|
89
|
-
soon. Fixes #60. Thanks hirataya!
|
90
|
-
* Fix backwards compatibility with 1.2.5 with bind vars and `query` method.
|
91
|
-
Fixes #35.
|
92
|
-
* Fix double definition error caused by defining sqlite3_int64/uint64.
|
93
|
-
* Fix suspicious version regexp.
|
94
|
-
|
95
|
-
* Deprecations
|
96
|
-
* ArrayWithTypesAndFields#types is deprecated and the class will be removed
|
97
|
-
in version 2.0.0. Please use the `types` method on the ResultSet class
|
98
|
-
that created this object.
|
99
|
-
* ArrayWithTypesAndFields#fields is deprecated and the class will be removed
|
100
|
-
in version 2.0.0. Please use the `columns` method on the ResultSet class
|
101
|
-
that created this object.
|
102
|
-
* The ArrayWithTypesAndFields class will be removed in 2.0.0
|
103
|
-
* The ArrayWithTypes class will be removed in 2.0.0
|
104
|
-
* HashWithTypesAndFields#types is deprecated and the class will be removed
|
105
|
-
in version 2.0.0. Please use the `types` method on the ResultSet class
|
106
|
-
that created this object.
|
107
|
-
* HashWithTypesAndFields#fields is deprecated and the class will be removed
|
108
|
-
in version 2.0.0. Please use the `columns` method on the ResultSet class
|
109
|
-
that created this object.
|
110
|
-
|
111
|
-
=== 1.3.5 / 2011-12-03 - ZOMG Holidays are here Edition!
|
112
|
-
|
113
|
-
* Enhancements
|
114
|
-
* Windows: build against SQLite 3.7.9
|
115
|
-
* Static: enable SQLITE_ENABLE_COLUMN_METADATA
|
116
|
-
* Added Statement#clear_bindings! to set bindings back to nil
|
117
|
-
|
118
|
-
* Bugfixes
|
119
|
-
* Fixed a segv on Database.new. Fixes #34 (thanks nobu!)
|
120
|
-
* Database error is not reset, so don't check it in Statement#reset!
|
121
|
-
* Remove conditional around Bignum statement bindings.
|
122
|
-
Fixes #52. Fixes #56. Thank you Evgeny Myasishchev.
|
123
|
-
|
124
|
-
* Internal
|
125
|
-
* Use proper endianness when testing database connection with UTF-16.
|
126
|
-
Fixes #40. Fixes #51
|
127
|
-
* Use -fPIC for static compilation when host is x86_64.
|
128
|
-
|
129
|
-
=== 1.3.4 / 2011-07-25
|
130
|
-
|
131
|
-
* Enhancements:
|
132
|
-
* Windows: build against SQLite 3.7.7.1
|
133
|
-
* Windows: build static binaries that do not depend on sqlite3.dll be
|
134
|
-
installed anymore
|
135
|
-
|
136
|
-
* Bugfixes
|
137
|
-
* Backup API is conditionaly required so that older libsqlite3 can be used.
|
138
|
-
Thanks Hongli Lai.
|
139
|
-
* Fixed segmentation fault when nil is passed to SQLite3::Statement.new
|
140
|
-
* Fix extconf's hardcoded path that affected installation on certain systems.
|
141
|
-
|
142
|
-
=== 1.3.3 / 2010-01-16
|
143
|
-
|
144
|
-
* Bugfixes
|
145
|
-
* Abort on installation if sqlite3_backup_init is missing. Fixes #19
|
146
|
-
* Gem has been renamed to 'sqlite3'. Please use `gem install sqlite3`
|
147
|
-
|
148
|
-
=== 1.3.2 / 2010-10-30 / RubyConf Uruguay Edition!
|
149
|
-
|
150
|
-
* Enhancements:
|
151
|
-
* Windows: build against 3.7.3 version of SQLite3
|
152
|
-
* SQLite3::Database can now be open as readonly
|
153
|
-
|
154
|
-
db = SQLite3::Database.new('my.db', :readonly => true)
|
155
|
-
|
156
|
-
* Added SQLite3::SQLITE_VERSION and SQLite3::SQLITE_VERSION_NUMBER [nurse]
|
157
|
-
|
158
|
-
* Bugfixes
|
159
|
-
* type_translation= works along with Database#execute and a block
|
160
|
-
* defined functions are kept in a hash to prevent GC. #7
|
161
|
-
* Removed GCC specific flags from extconf.
|
162
|
-
|
163
|
-
* DEPRECATIONS
|
164
|
-
* SQLite3::Database#type_translation= will be deprecated in the future with
|
165
|
-
no replacement.
|
166
|
-
* SQlite3::Version will be deprecated in 2.0.0 with SQLite3::VERSION as the
|
167
|
-
replacement.
|
168
|
-
|
169
|
-
=== 1.3.1 / 2010-07-09
|
170
|
-
|
171
|
-
* Enhancements
|
172
|
-
* Custom collations may be defined using SQLite3::Database#collation
|
173
|
-
|
174
|
-
* Bugfixes
|
175
|
-
* Statements returning 0 columns are automatically stepped. [RF #28308]
|
176
|
-
* SQLite3::Database#encoding works on 1.8 and 1.9
|
177
|
-
|
178
|
-
=== 1.3.0 / 2010-06-06
|
179
|
-
|
180
|
-
* Enhancements
|
181
|
-
* Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove]
|
182
|
-
See API_CHANGES document for details.
|
183
|
-
This closes: Bug #27300, Bug #27241, Patch #16020
|
184
|
-
* Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse]
|
185
|
-
* Added support for type translations [tenderlove]
|
186
|
-
|
187
|
-
@db.translator.add_translator('sometime') do |type, thing|
|
188
|
-
'output' # this will be returned as value for that column
|
189
|
-
end
|
190
|
-
|
191
|
-
* Experimental
|
192
|
-
* Added API to access and load extensions. [kashif]
|
193
|
-
These functions maps directly into SQLite3 own enable_load_extension()
|
194
|
-
and load_extension() C-API functions. See SQLite3::Database API documentation for details.
|
195
|
-
This closes: Patches #9178
|
196
|
-
|
197
|
-
* Bugfixes
|
198
|
-
* Corrected gem dependencies (runtime and development)
|
199
|
-
* Fixed threaded tests [Alexey Borzenkov]
|
200
|
-
* Removed GitHub gemspec
|
201
|
-
* Fixed "No definition for" warnings from RDoc
|
202
|
-
* Generate zip and tgz files for releases
|
203
|
-
* Added Luis Lavena as gem Author (maintainer)
|
204
|
-
* Prevent mkmf interfere with Mighty Snow Leopard
|
205
|
-
* Allow extension compilation search for common lib paths [kashif]
|
206
|
-
(lookup /usr/local, /opt/local and /usr)
|
207
|
-
* Corrected extension compilation under MSVC [romuloceccon]
|
208
|
-
* Define load_extension functionality based on availability [tenderlove]
|
209
|
-
* Deprecation notices for Database#query. Fixes RF #28192
|
210
|
-
|
211
|
-
=== 1.3.0.beta.2 / 2010-05-15
|
212
|
-
|
213
|
-
* Enhancements
|
214
|
-
* Added support for type translations [tenderlove]
|
215
|
-
|
216
|
-
@db.translator.add_translator('sometime') do |type, thing|
|
217
|
-
'output' # this will be returned as value for that column
|
218
|
-
end
|
219
|
-
|
220
|
-
* Bugfixes
|
221
|
-
* Allow extension compilation search for common lib paths [kashif]
|
222
|
-
(lookup /usr/local, /opt/local and /usr)
|
223
|
-
* Corrected extension compilation under MSVC [romuloceccon]
|
224
|
-
* Define load_extension functionality based on availability [tenderlove]
|
225
|
-
* Deprecation notices for Database#query. Fixes RF #28192
|
226
|
-
|
227
|
-
=== 1.3.0.beta.1 / 2010-05-10
|
228
|
-
|
229
|
-
* Enhancements
|
230
|
-
* Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove]
|
231
|
-
See API_CHANGES document for details.
|
232
|
-
This closes: Bug #27300, Bug #27241, Patch #16020
|
233
|
-
* Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse]
|
234
|
-
|
235
|
-
* Experimental
|
236
|
-
* Added API to access and load extensions. [kashif]
|
237
|
-
These functions maps directly into SQLite3 own enable_load_extension()
|
238
|
-
and load_extension() C-API functions. See SQLite3::Database API documentation for details.
|
239
|
-
This closes: Patches #9178
|
240
|
-
|
241
|
-
* Bugfixes
|
242
|
-
* Corrected gem dependencies (runtime and development)
|
243
|
-
* Fixed threaded tests [Alexey Borzenkov]
|
244
|
-
* Removed GitHub gemspec
|
245
|
-
* Fixed "No definition for" warnings from RDoc
|
246
|
-
* Generate zip and tgz files for releases
|
247
|
-
* Added Luis Lavena as gem Author (maintainer)
|
248
|
-
* Prevent mkmf interfere with Mighty Snow Leopard
|
249
|
-
|
250
|
-
=== 1.2.5 / 25 Jul 2009
|
251
|
-
|
252
|
-
* Check for illegal nil before executing SQL [Erik Veenstra]
|
253
|
-
* Switch to Hoe for gem task management and packaging.
|
254
|
-
* Advertise rake-compiler as development dependency.
|
255
|
-
* Build gem binaries for Windows.
|
256
|
-
* Improved Ruby 1.9 support compatibility.
|
257
|
-
* Taint returned values. Patch #20325.
|
258
|
-
* Database.open and Database.new now take an optional block [Gerrit Kaiser]
|
259
|
-
|
260
|
-
|
261
|
-
=== 1.2.4.1 (internal) / 5 Jul 2009
|
262
|
-
|
263
|
-
* Check for illegal nil before executing SQL [Erik Veenstra]
|
264
|
-
* Switch to Hoe for gem task management and packaging.
|
265
|
-
* Advertise rake-compiler as development dependency.
|
266
|
-
* Build gem binaries for Windows.
|
267
|
-
* Improved Ruby 1.9 support compatibility.
|
268
|
-
|
269
|
-
|
270
|
-
=== 1.2.4 / 27 Aug 2008
|
271
|
-
|
272
|
-
* Package the updated C file for source builds. [Jamis Buck]
|
273
|
-
|
274
|
-
|
275
|
-
=== 1.2.3 / 26 Aug 2008
|
276
|
-
|
277
|
-
* Fix incorrect permissions on database.rb and translator.rb [Various]
|
278
|
-
|
279
|
-
* Avoid using Object#extend for greater speedups [Erik Veenstra]
|
280
|
-
|
281
|
-
* Ruby 1.9 compatibility tweaks for Array#zip [jimmy88@gmail.com]
|
282
|
-
|
283
|
-
* Fix linking against Ruby 1.8.5 [Rob Holland <rob@inversepath.com>]
|
284
|
-
|
285
|
-
|
286
|
-
=== 1.2.2 / 31 May 2008
|
287
|
-
|
288
|
-
* Make the table_info method adjust the returned default value for the rows
|
289
|
-
so that the sqlite3 change in 3.3.8 and greater can be handled
|
290
|
-
transparently [Jamis Buck <jamis@37signals.com>]
|
291
|
-
|
292
|
-
* Ruby 1.9 compatibility tweaks [Roman Le Negrate <roman2k@free.fr>]
|
293
|
-
|
294
|
-
* Various performance enhancements [thanks Erik Veenstra]
|
295
|
-
|
296
|
-
* Correct busy_handler documentation [Rob Holland <rob@inversepath.com>]
|
297
|
-
|
298
|
-
* Use int_bind64 on Fixnum values larger than a 32bit C int can take. [Rob Holland <rob@inversepath.com>]
|
299
|
-
|
300
|
-
* Work around a quirk in SQLite's error reporting by calling sqlite3_reset
|
301
|
-
to produce a more informative error code upon a failure from
|
302
|
-
sqlite3_step. [Rob Holland <rob@inversepath.com>]
|
303
|
-
|
304
|
-
* Various documentation, test, and style tweaks [Rob Holland <rob@inversepath.com>]
|
305
|
-
|
306
|
-
* Be more granular with time/data translation [Rob Holland <rob@inversepath.com>]
|
307
|
-
|
308
|
-
* Use Date directly for parsing rather than going via Time [Rob Holland <rob@inversepath.com>]
|
309
|
-
|
310
|
-
* Check for the rt library and fdatasync so we link against that when
|
311
|
-
needed [Rob Holland <rob@inversepath.com>]
|
312
|
-
|
313
|
-
* Rename data structures to avoid collision on win32. based on patch
|
314
|
-
by: Luis Lavena [Rob Holland <rob@inversepath.com>]
|
315
|
-
|
316
|
-
* Add test for defaults [Daniel Rodríguez Troitiño]
|
317
|
-
|
318
|
-
* Correctly unquote double-quoted pragma defaults [Łukasz Dargiewicz <lukasz.dargiewicz@gmail.com>]
|
data/Manifest.txt
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
.gemtest
|
2
|
-
.travis.yml
|
3
|
-
API_CHANGES.rdoc
|
4
|
-
CHANGELOG.rdoc
|
5
|
-
ChangeLog.cvs
|
6
|
-
Gemfile
|
7
|
-
LICENSE
|
8
|
-
Manifest.txt
|
9
|
-
README.rdoc
|
10
|
-
Rakefile
|
11
|
-
appveyor.yml
|
12
|
-
ext/sqlite3/aggregator.c
|
13
|
-
ext/sqlite3/aggregator.h
|
14
|
-
ext/sqlite3/backup.c
|
15
|
-
ext/sqlite3/backup.h
|
16
|
-
ext/sqlite3/database.c
|
17
|
-
ext/sqlite3/database.h
|
18
|
-
ext/sqlite3/exception.c
|
19
|
-
ext/sqlite3/exception.h
|
20
|
-
ext/sqlite3/extconf.rb
|
21
|
-
ext/sqlite3/sqlite3.c
|
22
|
-
ext/sqlite3/sqlite3_ruby.h
|
23
|
-
ext/sqlite3/statement.c
|
24
|
-
ext/sqlite3/statement.h
|
25
|
-
faq/faq.rb
|
26
|
-
faq/faq.yml
|
27
|
-
lib/sqlite3.rb
|
28
|
-
lib/sqlite3/constants.rb
|
29
|
-
lib/sqlite3/database.rb
|
30
|
-
lib/sqlite3/errors.rb
|
31
|
-
lib/sqlite3/pragmas.rb
|
32
|
-
lib/sqlite3/resultset.rb
|
33
|
-
lib/sqlite3/statement.rb
|
34
|
-
lib/sqlite3/translator.rb
|
35
|
-
lib/sqlite3/value.rb
|
36
|
-
lib/sqlite3/version.rb
|
37
|
-
rakelib/faq.rake
|
38
|
-
rakelib/gem.rake
|
39
|
-
rakelib/native.rake
|
40
|
-
rakelib/vendor_sqlite3.rake
|
41
|
-
setup.rb
|
42
|
-
test/helper.rb
|
43
|
-
test/test_backup.rb
|
44
|
-
test/test_collation.rb
|
45
|
-
test/test_database.rb
|
46
|
-
test/test_database_flags.rb
|
47
|
-
test/test_database_readonly.rb
|
48
|
-
test/test_database_readwrite.rb
|
49
|
-
test/test_deprecated.rb
|
50
|
-
test/test_encoding.rb
|
51
|
-
test/test_integration.rb
|
52
|
-
test/test_integration_aggregate.rb
|
53
|
-
test/test_integration_open_close.rb
|
54
|
-
test/test_integration_pending.rb
|
55
|
-
test/test_integration_resultset.rb
|
56
|
-
test/test_integration_statement.rb
|
57
|
-
test/test_result_set.rb
|
58
|
-
test/test_sqlite3.rb
|
59
|
-
test/test_statement.rb
|
60
|
-
test/test_statement_execute.rb
|
data/README.rdoc
DELETED
@@ -1,118 +0,0 @@
|
|
1
|
-
= SQLite3/Ruby Interface
|
2
|
-
|
3
|
-
* https://github.com/sparklemotion/sqlite3-ruby
|
4
|
-
* http://groups.google.com/group/sqlite3-ruby
|
5
|
-
* http://rubygems.org/gems/sqlite3
|
6
|
-
* http://www.rubydoc.info/gems/sqlite3/frames
|
7
|
-
|
8
|
-
{<img src="https://travis-ci.org/sparklemotion/sqlite3-ruby.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/sparklemotion/sqlite3-ruby]
|
9
|
-
|
10
|
-
== DESCRIPTION
|
11
|
-
|
12
|
-
This module allows Ruby programs to interface with the SQLite3
|
13
|
-
database engine (http://www.sqlite.org). You must have the
|
14
|
-
SQLite engine installed in order to build this module.
|
15
|
-
|
16
|
-
Note that this module is only compatible with SQLite 3.6.16 or newer.
|
17
|
-
|
18
|
-
== SYNOPSIS
|
19
|
-
|
20
|
-
require "sqlite3"
|
21
|
-
|
22
|
-
# Open a database
|
23
|
-
db = SQLite3::Database.new "test.db"
|
24
|
-
|
25
|
-
# Create a table
|
26
|
-
rows = db.execute <<-SQL
|
27
|
-
create table numbers (
|
28
|
-
name varchar(30),
|
29
|
-
val int
|
30
|
-
);
|
31
|
-
SQL
|
32
|
-
|
33
|
-
# Execute a few inserts
|
34
|
-
{
|
35
|
-
"one" => 1,
|
36
|
-
"two" => 2,
|
37
|
-
}.each do |pair|
|
38
|
-
db.execute "insert into numbers values ( ?, ? )", pair
|
39
|
-
end
|
40
|
-
|
41
|
-
# Find a few rows
|
42
|
-
db.execute( "select * from numbers" ) do |row|
|
43
|
-
p row
|
44
|
-
end
|
45
|
-
|
46
|
-
# Create another table with multiple columns
|
47
|
-
|
48
|
-
db.execute <<-SQL
|
49
|
-
create table students (
|
50
|
-
name varchar(50),
|
51
|
-
email varchar(50),
|
52
|
-
grade varchar(5),
|
53
|
-
blog varchar(50)
|
54
|
-
);
|
55
|
-
SQL
|
56
|
-
|
57
|
-
# Execute inserts with parameter markers
|
58
|
-
db.execute("INSERT INTO students (name, email, grade, blog)
|
59
|
-
VALUES (?, ?, ?, ?)", ["Jane", "me@janedoe.com", "A", "http://blog.janedoe.com"])
|
60
|
-
|
61
|
-
db.execute( "select * from students" ) do |row|
|
62
|
-
p row
|
63
|
-
end
|
64
|
-
|
65
|
-
|
66
|
-
== Compilation and Installation
|
67
|
-
|
68
|
-
Install SQLite3, enabling the option SQLITE_ENABLE_COLUMN_METADATA (see
|
69
|
-
www.sqlite.org/compile.html for details).
|
70
|
-
|
71
|
-
Then do the following:
|
72
|
-
|
73
|
-
ruby setup.rb config
|
74
|
-
ruby setup.rb setup
|
75
|
-
ruby setup.rb install
|
76
|
-
|
77
|
-
Alternatively, you can download and install the RubyGem package for
|
78
|
-
SQLite3/Ruby (you must have RubyGems and SQLite3 installed, first):
|
79
|
-
|
80
|
-
gem install sqlite3
|
81
|
-
|
82
|
-
If you have sqlite3 installed in a non-standard location, you can specify the location of the include and lib files by doing:
|
83
|
-
|
84
|
-
gem install sqlite3 -- --with-sqlite3-include=/opt/local/include \
|
85
|
-
--with-sqlite3-lib=/opt/local/lib
|
86
|
-
|
87
|
-
= SUPPORT!!!
|
88
|
-
|
89
|
-
== OMG! Something has gone wrong! Where do I get help?
|
90
|
-
|
91
|
-
The best place to get help is from the
|
92
|
-
{sqlite3-ruby mailing list}[http://groups.google.com/group/sqlite3-ruby] which
|
93
|
-
can be found here:
|
94
|
-
|
95
|
-
* http://groups.google.com/group/sqlite3-ruby
|
96
|
-
|
97
|
-
== I've found a bug! Where do I file it?
|
98
|
-
|
99
|
-
Uh oh. After contacting the mailing list, you've found that you've actually
|
100
|
-
discovered a bug. You can file the bug at the
|
101
|
-
{github issues page}[https://github.com/sparklemotion/sqlite3-ruby/issues]
|
102
|
-
which can be found here:
|
103
|
-
|
104
|
-
* https://github.com/sparklemotion/sqlite3-ruby/issues
|
105
|
-
|
106
|
-
== Usage
|
107
|
-
|
108
|
-
For help figuring out the SQLite3/Ruby interface, check out the
|
109
|
-
SYNOPSIS as well as the RDoc. It includes examples of
|
110
|
-
usage. If you have any questions that you feel should be addressed in the
|
111
|
-
FAQ, please send them to {the mailing list}[http://groups.google.com/group/sqlite3-ruby]
|
112
|
-
|
113
|
-
== Source Code
|
114
|
-
|
115
|
-
The source repository is accessible via git:
|
116
|
-
|
117
|
-
git clone git://github.com/sparklemotion/sqlite3-ruby.git
|
118
|
-
|
data/Rakefile
DELETED
data/appveyor.yml
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
---
|
2
|
-
version: "{build}"
|
3
|
-
branches:
|
4
|
-
only:
|
5
|
-
- master
|
6
|
-
- 1-3-stable
|
7
|
-
clone_depth: 10
|
8
|
-
install:
|
9
|
-
- SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
|
10
|
-
- ruby --version
|
11
|
-
- gem --version
|
12
|
-
- gem install bundler --quiet --no-ri --no-rdoc
|
13
|
-
- bundler --version
|
14
|
-
- bundle install
|
15
|
-
build_script:
|
16
|
-
- rake native gem
|
17
|
-
test_script:
|
18
|
-
- rake test
|
19
|
-
artifacts:
|
20
|
-
- path: pkg\*.gem
|
21
|
-
|
22
|
-
environment:
|
23
|
-
matrix:
|
24
|
-
- ruby_version: "193"
|
25
|
-
- ruby_version: "200"
|
26
|
-
- ruby_version: "200-x64"
|
27
|
-
- ruby_version: "21"
|
28
|
-
- ruby_version: "21-x64"
|
29
|
-
- ruby_version: "22"
|
30
|
-
- ruby_version: "22-x64"
|
31
|
-
- ruby_version: "23"
|
32
|
-
- ruby_version: "23-x64"
|
33
|
-
- ruby_version: "24"
|
34
|
-
- ruby_version: "24-x64"
|
35
|
-
- ruby_version: "25"
|
36
|
-
- ruby_version: "25-x64"
|
data/faq/faq.rb
DELETED
@@ -1,145 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
require 'redcloth'
|
3
|
-
|
4
|
-
def process_faq_list( faqs )
|
5
|
-
puts "<ul>"
|
6
|
-
faqs.each do |faq|
|
7
|
-
process_faq_list_item faq
|
8
|
-
end
|
9
|
-
puts "</ul>"
|
10
|
-
end
|
11
|
-
|
12
|
-
def process_faq_list_item( faq )
|
13
|
-
question = faq.keys.first
|
14
|
-
answer = faq.values.first
|
15
|
-
|
16
|
-
print "<li>"
|
17
|
-
|
18
|
-
question_text = RedCloth.new(question).to_html.gsub( %r{</?p>},"" )
|
19
|
-
if answer.is_a?( Array )
|
20
|
-
puts question_text
|
21
|
-
process_faq_list answer
|
22
|
-
else
|
23
|
-
print "<a href='##{question.object_id}'>#{question_text}</a>"
|
24
|
-
end
|
25
|
-
|
26
|
-
puts "</li>"
|
27
|
-
end
|
28
|
-
|
29
|
-
def process_faq_descriptions( faqs, path=nil )
|
30
|
-
faqs.each do |faq|
|
31
|
-
process_faq_description faq, path
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def process_faq_description( faq, path )
|
36
|
-
question = faq.keys.first
|
37
|
-
path = ( path ? path + " " : "" ) + question
|
38
|
-
answer = faq.values.first
|
39
|
-
|
40
|
-
if answer.is_a?( Array )
|
41
|
-
process_faq_descriptions( answer, path )
|
42
|
-
else
|
43
|
-
title = RedCloth.new( path ).to_html.gsub( %r{</?p>}, "" )
|
44
|
-
answer = RedCloth.new( answer || "" )
|
45
|
-
|
46
|
-
puts "<a name='#{question.object_id}'></a>"
|
47
|
-
puts "<div class='faq-title'>#{title}</div>"
|
48
|
-
puts "<div class='faq-answer'>#{add_api_links(answer.to_html)}</div>"
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
API_OBJECTS = [ "Database", "Statement", "ResultSet",
|
53
|
-
"ParsedStatement", "Pragmas", "Translator" ].inject( "(" ) { |acc,name|
|
54
|
-
acc << "|" if acc.length > 1
|
55
|
-
acc << name
|
56
|
-
acc
|
57
|
-
} + ")"
|
58
|
-
|
59
|
-
def add_api_links( text )
|
60
|
-
text.gsub( /#{API_OBJECTS}(#(\w+))?/ ) do
|
61
|
-
disp_obj = obj = $1
|
62
|
-
|
63
|
-
case obj
|
64
|
-
when "Pragmas"; disp_obj = "Database"
|
65
|
-
end
|
66
|
-
|
67
|
-
method = $3
|
68
|
-
s = "<a href='http://sqlite-ruby.rubyforge.org/classes/SQLite/#{obj}.html'>#{disp_obj}"
|
69
|
-
s << "##{method}" if method
|
70
|
-
s << "</a>"
|
71
|
-
s
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
faqs = YAML.load( File.read( "faq.yml" ) )
|
76
|
-
|
77
|
-
puts <<-EOF
|
78
|
-
<html>
|
79
|
-
<head>
|
80
|
-
<title>SQLite3/Ruby FAQ</title>
|
81
|
-
<style type="text/css">
|
82
|
-
a, a:visited, a:active {
|
83
|
-
color: #00F;
|
84
|
-
text-decoration: none;
|
85
|
-
}
|
86
|
-
|
87
|
-
a:hover {
|
88
|
-
text-decoration: underline;
|
89
|
-
}
|
90
|
-
|
91
|
-
.faq-list {
|
92
|
-
color: #000;
|
93
|
-
font-family: vera-sans, verdana, arial, sans-serif;
|
94
|
-
}
|
95
|
-
|
96
|
-
.faq-title {
|
97
|
-
background: #007;
|
98
|
-
color: #FFF;
|
99
|
-
font-family: vera-sans, verdana, arial, sans-serif;
|
100
|
-
padding-left: 1em;
|
101
|
-
padding-top: 0.5em;
|
102
|
-
padding-bottom: 0.5em;
|
103
|
-
font-weight: bold;
|
104
|
-
font-size: large;
|
105
|
-
border: 1px solid #000;
|
106
|
-
}
|
107
|
-
|
108
|
-
.faq-answer {
|
109
|
-
margin-left: 1em;
|
110
|
-
color: #000;
|
111
|
-
font-family: vera-sans, verdana, arial, sans-serif;
|
112
|
-
}
|
113
|
-
|
114
|
-
.faq-answer pre {
|
115
|
-
margin-left: 1em;
|
116
|
-
color: #000;
|
117
|
-
background: #FFE;
|
118
|
-
font-size: normal;
|
119
|
-
border: 1px dotted #CCC;
|
120
|
-
padding: 1em;
|
121
|
-
}
|
122
|
-
|
123
|
-
h1 {
|
124
|
-
background: #005;
|
125
|
-
color: #FFF;
|
126
|
-
font-family: vera-sans, verdana, arial, sans-serif;
|
127
|
-
padding-left: 1em;
|
128
|
-
padding-top: 1em;
|
129
|
-
padding-bottom: 1em;
|
130
|
-
font-weight: bold;
|
131
|
-
font-size: x-large;
|
132
|
-
border: 1px solid #00F;
|
133
|
-
}
|
134
|
-
</style>
|
135
|
-
</head>
|
136
|
-
<body>
|
137
|
-
<h1>SQLite/Ruby FAQ</h1>
|
138
|
-
<div class="faq-list">
|
139
|
-
EOF
|
140
|
-
|
141
|
-
process_faq_list( faqs )
|
142
|
-
puts "</div>"
|
143
|
-
process_faq_descriptions( faqs )
|
144
|
-
|
145
|
-
puts "</body></html>"
|