dawanda-sqlite3 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/API_CHANGES.rdoc +50 -0
- data/CHANGELOG.rdoc +184 -0
- data/ChangeLog.cvs +88 -0
- data/LICENSE +27 -0
- data/Manifest.txt +50 -0
- data/README.rdoc +95 -0
- data/Rakefile +10 -0
- data/ext/sqlite3/backup.c +168 -0
- data/ext/sqlite3/backup.h +15 -0
- data/ext/sqlite3/database.c +762 -0
- data/ext/sqlite3/database.h +15 -0
- data/ext/sqlite3/exception.c +94 -0
- data/ext/sqlite3/exception.h +8 -0
- data/ext/sqlite3/extconf.rb +41 -0
- data/ext/sqlite3/sqlite3.c +40 -0
- data/ext/sqlite3/sqlite3_ruby.h +44 -0
- data/ext/sqlite3/statement.c +418 -0
- data/ext/sqlite3/statement.h +16 -0
- data/faq/faq.rb +145 -0
- data/faq/faq.yml +426 -0
- data/lib/sqlite3.rb +10 -0
- data/lib/sqlite3/constants.rb +49 -0
- data/lib/sqlite3/database.rb +587 -0
- data/lib/sqlite3/errors.rb +44 -0
- data/lib/sqlite3/pragmas.rb +280 -0
- data/lib/sqlite3/resultset.rb +126 -0
- data/lib/sqlite3/statement.rb +148 -0
- data/lib/sqlite3/translator.rb +118 -0
- data/lib/sqlite3/value.rb +57 -0
- data/lib/sqlite3/version.rb +25 -0
- data/setup.rb +1333 -0
- data/tasks/faq.rake +9 -0
- data/tasks/gem.rake +31 -0
- data/tasks/native.rake +61 -0
- data/tasks/vendor_sqlite3.rake +104 -0
- data/test/helper.rb +3 -0
- data/test/test_backup.rb +33 -0
- data/test/test_collation.rb +82 -0
- data/test/test_database.rb +319 -0
- data/test/test_database_readonly.rb +29 -0
- data/test/test_deprecated.rb +37 -0
- data/test/test_encoding.rb +119 -0
- data/test/test_integration.rb +544 -0
- data/test/test_integration_open_close.rb +30 -0
- data/test/test_integration_pending.rb +115 -0
- data/test/test_integration_resultset.rb +156 -0
- data/test/test_integration_statement.rb +194 -0
- data/test/test_sqlite3.rb +9 -0
- data/test/test_statement.rb +213 -0
- data/test/test_statement_execute.rb +35 -0
- metadata +184 -0
data/.gemtest
ADDED
File without changes
|
data/API_CHANGES.rdoc
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
= API Changes
|
2
|
+
|
3
|
+
* SQLite3::Database#execute only accepts an array for bind parameters.
|
4
|
+
|
5
|
+
* SQLite3::ResultSet used to query the database for the first row, regardless
|
6
|
+
of whether the user asked for it or not. I have removed that so that rows
|
7
|
+
will not be returned until the user asks for them. This is a subtle but
|
8
|
+
sometimes important change in behavior.
|
9
|
+
|
10
|
+
83882d2208ed189361617d5ab8532a325aaf729d
|
11
|
+
|
12
|
+
* SQLite3::Database#trace now takes either a block or an object that responds
|
13
|
+
to "call". The previous implementation passed around a VALUE that was cast
|
14
|
+
to a void *. This is dangerous because the value could get garbage collected
|
15
|
+
before the proc was called. If the user wants data passed around with the
|
16
|
+
block, they should use variables available to the closure or create an
|
17
|
+
object.
|
18
|
+
|
19
|
+
* SQLite3::Statement#step automatically converts to ruby types, where before
|
20
|
+
all values were automatically yielded as strings. This will only be a
|
21
|
+
problem for people who were accessing information about the database that
|
22
|
+
wasn't previously passed through the pure ruby conversion code.
|
23
|
+
|
24
|
+
* SQLite3::Database#errmsg no longer takes a parameter to return error
|
25
|
+
messages as UTF-16. Do people even use that? I opt for staying UTF-8 when
|
26
|
+
possible. See test_integration.rb test_errmsg_utf16
|
27
|
+
|
28
|
+
* SQLite3::Database#authorize same changes as trace
|
29
|
+
|
30
|
+
* test/test_tc_database.rb was removed because we no longer use the Driver
|
31
|
+
design pattern.
|
32
|
+
|
33
|
+
= Garbage Collection Strategy
|
34
|
+
|
35
|
+
All statements keep pointers back to their respective database connections.
|
36
|
+
The @connection instance variable on the Statement handle keeps the database
|
37
|
+
connection alive. Memory allocated for a statement handler will be freed in
|
38
|
+
two cases:
|
39
|
+
|
40
|
+
* close is called on the statement
|
41
|
+
* The SQLite3::Database object gets garbage collected
|
42
|
+
|
43
|
+
We can't free the memory for the statement in the garbage collection function
|
44
|
+
for the statement handler. The reason is because there exists a race
|
45
|
+
condition. We cannot guarantee the order in which objects will be garbage
|
46
|
+
collected. So, it is possible that a connection and a statement are up for
|
47
|
+
garbage collection. If the database connection were to be free'd before the
|
48
|
+
statement, then boom. Instead we'll be conservative and free unclosed
|
49
|
+
statements when the connection is terminated.
|
50
|
+
|
data/CHANGELOG.rdoc
ADDED
@@ -0,0 +1,184 @@
|
|
1
|
+
=== 1.3.4 / Unreleased
|
2
|
+
|
3
|
+
* Bugfixes
|
4
|
+
* Backup API is conditionaly required so that older libsqlite3 can be used.
|
5
|
+
Thanks Hongli Lai.
|
6
|
+
* Fixed segmentation fault when nil is passed to SQLite3::Statement.new
|
7
|
+
|
8
|
+
=== 1.3.3 / 2010-01-16
|
9
|
+
|
10
|
+
* Bugfixes
|
11
|
+
* Abort on installation if sqlite3_backup_init is missing. Fixes #19
|
12
|
+
* Gem has been renamed to 'sqlite3'. Please use `gem install sqlite3`
|
13
|
+
|
14
|
+
=== 1.3.2 / 2010-10-30 / RubyConf Uruguay Edition!
|
15
|
+
|
16
|
+
* Enhancements:
|
17
|
+
* Windows: build against 3.7.3 version of SQLite3
|
18
|
+
* SQLite3::Database can now be open as readonly
|
19
|
+
|
20
|
+
db = SQLite3::Database.new('my.db', :readonly => true)
|
21
|
+
|
22
|
+
* Added SQLite3::SQLITE_VERSION and SQLite3::SQLITE_VERSION_NUMBER [nurse]
|
23
|
+
|
24
|
+
* Bugfixes
|
25
|
+
* type_translation= works along with Database#execute and a block
|
26
|
+
* defined functions are kept in a hash to prevent GC. #7
|
27
|
+
* Removed GCC specific flags from extconf.
|
28
|
+
|
29
|
+
* DEPRECATIONS
|
30
|
+
* SQLite3::Database#type_translation= will be deprecated in the future with
|
31
|
+
no replacement.
|
32
|
+
* SQlite3::Version will be deprecated in 2.0.0 with SQLite3::VERSION as the
|
33
|
+
replacement.
|
34
|
+
|
35
|
+
=== 1.3.1 / 2010-07-09
|
36
|
+
|
37
|
+
* Enhancements
|
38
|
+
* Custom collations may be defined using SQLite3::Database#collation
|
39
|
+
|
40
|
+
* Bugfixes
|
41
|
+
* Statements returning 0 columns are automatically stepped. [RF #28308]
|
42
|
+
* SQLite3::Database#encoding works on 1.8 and 1.9
|
43
|
+
|
44
|
+
=== 1.3.0 / 2010-06-06
|
45
|
+
|
46
|
+
* Enhancements
|
47
|
+
* Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove]
|
48
|
+
See API_CHANGES document for details.
|
49
|
+
This closes: Bug #27300, Bug #27241, Patch #16020
|
50
|
+
* Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse]
|
51
|
+
* Added support for type translations [tenderlove]
|
52
|
+
|
53
|
+
@db.translator.add_translator('sometime') do |type, thing|
|
54
|
+
'output' # this will be returned as value for that column
|
55
|
+
end
|
56
|
+
|
57
|
+
* Experimental
|
58
|
+
* Added API to access and load extensions. [kashif]
|
59
|
+
These functions maps directly into SQLite3 own enable_load_extension()
|
60
|
+
and load_extension() C-API functions. See SQLite3::Database API documentation for details.
|
61
|
+
This closes: Patches #9178
|
62
|
+
|
63
|
+
* Bugfixes
|
64
|
+
* Corrected gem dependencies (runtime and development)
|
65
|
+
* Fixed threaded tests [Alexey Borzenkov]
|
66
|
+
* Removed GitHub gemspec
|
67
|
+
* Fixed "No definition for" warnings from RDoc
|
68
|
+
* Generate zip and tgz files for releases
|
69
|
+
* Added Luis Lavena as gem Author (maintainer)
|
70
|
+
* Prevent mkmf interfere with Mighty Snow Leopard
|
71
|
+
* Allow extension compilation search for common lib paths [kashif]
|
72
|
+
(lookup /usr/local, /opt/local and /usr)
|
73
|
+
* Corrected extension compilation under MSVC [romuloceccon]
|
74
|
+
* Define load_extension functionality based on availability [tenderlove]
|
75
|
+
* Deprecation notices for Database#query. Fixes RF #28192
|
76
|
+
|
77
|
+
=== 1.3.0.beta.2 / 2010-05-15
|
78
|
+
|
79
|
+
* Enhancements
|
80
|
+
* Added support for type translations [tenderlove]
|
81
|
+
|
82
|
+
@db.translator.add_translator('sometime') do |type, thing|
|
83
|
+
'output' # this will be returned as value for that column
|
84
|
+
end
|
85
|
+
|
86
|
+
* Bugfixes
|
87
|
+
* Allow extension compilation search for common lib paths [kashif]
|
88
|
+
(lookup /usr/local, /opt/local and /usr)
|
89
|
+
* Corrected extension compilation under MSVC [romuloceccon]
|
90
|
+
* Define load_extension functionality based on availability [tenderlove]
|
91
|
+
* Deprecation notices for Database#query. Fixes RF #28192
|
92
|
+
|
93
|
+
=== 1.3.0.beta.1 / 2010-05-10
|
94
|
+
|
95
|
+
* Enhancements
|
96
|
+
* Complete rewrite of C-based adapter from SWIG to hand-crafted one [tenderlove]
|
97
|
+
See API_CHANGES document for details.
|
98
|
+
This closes: Bug #27300, Bug #27241, Patch #16020
|
99
|
+
* Improved UTF, Unicode, M17N, all that handling and proper BLOB handling [tenderlove, nurse]
|
100
|
+
|
101
|
+
* Experimental
|
102
|
+
* Added API to access and load extensions. [kashif]
|
103
|
+
These functions maps directly into SQLite3 own enable_load_extension()
|
104
|
+
and load_extension() C-API functions. See SQLite3::Database API documentation for details.
|
105
|
+
This closes: Patches #9178
|
106
|
+
|
107
|
+
* Bugfixes
|
108
|
+
* Corrected gem dependencies (runtime and development)
|
109
|
+
* Fixed threaded tests [Alexey Borzenkov]
|
110
|
+
* Removed GitHub gemspec
|
111
|
+
* Fixed "No definition for" warnings from RDoc
|
112
|
+
* Generate zip and tgz files for releases
|
113
|
+
* Added Luis Lavena as gem Author (maintainer)
|
114
|
+
* Prevent mkmf interfere with Mighty Snow Leopard
|
115
|
+
|
116
|
+
=== 1.2.5 / 25 Jul 2009
|
117
|
+
|
118
|
+
* Check for illegal nil before executing SQL [Erik Veenstra]
|
119
|
+
* Switch to Hoe for gem task management and packaging.
|
120
|
+
* Advertise rake-compiler as development dependency.
|
121
|
+
* Build gem binaries for Windows.
|
122
|
+
* Improved Ruby 1.9 support compatibility.
|
123
|
+
* Taint returned values. Patch #20325.
|
124
|
+
* Database.open and Database.new now take an optional block [Gerrit Kaiser]
|
125
|
+
|
126
|
+
|
127
|
+
=== 1.2.4.1 (internal) / 5 Jul 2009
|
128
|
+
|
129
|
+
* Check for illegal nil before executing SQL [Erik Veenstra]
|
130
|
+
* Switch to Hoe for gem task management and packaging.
|
131
|
+
* Advertise rake-compiler as development dependency.
|
132
|
+
* Build gem binaries for Windows.
|
133
|
+
* Improved Ruby 1.9 support compatibility.
|
134
|
+
|
135
|
+
|
136
|
+
=== 1.2.4 / 27 Aug 2008
|
137
|
+
|
138
|
+
* Package the updated C file for source builds. [Jamis Buck]
|
139
|
+
|
140
|
+
|
141
|
+
=== 1.2.3 / 26 Aug 2008
|
142
|
+
|
143
|
+
* Fix incorrect permissions on database.rb and translator.rb [Various]
|
144
|
+
|
145
|
+
* Avoid using Object#extend for greater speedups [Erik Veenstra]
|
146
|
+
|
147
|
+
* Ruby 1.9 compatibility tweaks for Array#zip [jimmy88@gmail.com]
|
148
|
+
|
149
|
+
* Fix linking against Ruby 1.8.5 [Rob Holland <rob@inversepath.com>]
|
150
|
+
|
151
|
+
|
152
|
+
=== 1.2.2 / 31 May 2008
|
153
|
+
|
154
|
+
* Make the table_info method adjust the returned default value for the rows
|
155
|
+
so that the sqlite3 change in 3.3.8 and greater can be handled
|
156
|
+
transparently [Jamis Buck <jamis@37signals.com>]
|
157
|
+
|
158
|
+
* Ruby 1.9 compatibility tweaks [Roman Le Negrate <roman2k@free.fr>]
|
159
|
+
|
160
|
+
* Various performance enhancements [thanks Erik Veenstra]
|
161
|
+
|
162
|
+
* Correct busy_handler documentation [Rob Holland <rob@inversepath.com>]
|
163
|
+
|
164
|
+
* Use int_bind64 on Fixnum values larger than a 32bit C int can take. [Rob Holland <rob@inversepath.com>]
|
165
|
+
|
166
|
+
* Work around a quirk in SQLite's error reporting by calling sqlite3_reset
|
167
|
+
to produce a more informative error code upon a failure from
|
168
|
+
sqlite3_step. [Rob Holland <rob@inversepath.com>]
|
169
|
+
|
170
|
+
* Various documentation, test, and style tweaks [Rob Holland <rob@inversepath.com>]
|
171
|
+
|
172
|
+
* Be more granular with time/data translation [Rob Holland <rob@inversepath.com>]
|
173
|
+
|
174
|
+
* Use Date directly for parsing rather than going via Time [Rob Holland <rob@inversepath.com>]
|
175
|
+
|
176
|
+
* Check for the rt library and fdatasync so we link against that when
|
177
|
+
needed [Rob Holland <rob@inversepath.com>]
|
178
|
+
|
179
|
+
* Rename data structures to avoid collision on win32. based on patch
|
180
|
+
by: Luis Lavena [Rob Holland <rob@inversepath.com>]
|
181
|
+
|
182
|
+
* Add test for defaults [Daniel Rodríguez Troitiño]
|
183
|
+
|
184
|
+
* Correctly unquote double-quoted pragma defaults [Łukasz Dargiewicz <lukasz.dargiewicz@gmail.com>]
|
data/ChangeLog.cvs
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
2005-01-05 09:40 minam
|
2
|
+
|
3
|
+
* Rakefile, sqlite3-ruby-win32.gemspec, sqlite3-ruby.gemspec: Added
|
4
|
+
win32 gem.
|
5
|
+
|
6
|
+
2005-01-05 07:31 minam
|
7
|
+
|
8
|
+
* Rakefile, test/tc_integration.rb, test/tests.rb: Added
|
9
|
+
native-vs-dl benchmark to Rakefile. Added SQLITE3_DRIVERS
|
10
|
+
environment variable to integration test to specify which
|
11
|
+
driver(s) should be tested (defaults to "Native").
|
12
|
+
|
13
|
+
2005-01-04 14:26 minam
|
14
|
+
|
15
|
+
* ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb,
|
16
|
+
lib/sqlite3/driver/native/driver.rb, test/tc_database.rb,
|
17
|
+
test/tc_integration.rb, test/tests.rb: Unit tests: done. Bugs:
|
18
|
+
fixed.
|
19
|
+
|
20
|
+
2005-01-03 23:13 minam
|
21
|
+
|
22
|
+
* ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb,
|
23
|
+
lib/sqlite3/driver/dl/driver.rb,
|
24
|
+
lib/sqlite3/driver/native/driver.rb, test/tc_integration.rb:
|
25
|
+
Custom functions (aggregate and otherwise) are supported by the
|
26
|
+
native driver now. Test cases for the same.
|
27
|
+
|
28
|
+
2005-01-03 13:51 minam
|
29
|
+
|
30
|
+
* ext/sqlite3_api/MANIFEST, ext/sqlite3_api/extconf.rb,
|
31
|
+
ext/sqlite3_api/post-clean.rb, ext/sqlite3_api/post-distclean.rb,
|
32
|
+
ext/sqlite3_api/sqlite3_api.i, lib/sqlite3/database.rb,
|
33
|
+
lib/sqlite3/resultset.rb, lib/sqlite3/version.rb,
|
34
|
+
lib/sqlite3/driver/dl/driver.rb,
|
35
|
+
lib/sqlite3/driver/native/driver.rb, test/native-vs-dl.rb,
|
36
|
+
test/tc_integration.rb: Added preliminary implementation of
|
37
|
+
native driver (swig-based), and integration tests.
|
38
|
+
|
39
|
+
2004-12-29 19:37 minam
|
40
|
+
|
41
|
+
* lib/sqlite3/driver/dl/driver.rb: Some fixes to allow the DL
|
42
|
+
driver to work with Ruby 1.8.1.
|
43
|
+
|
44
|
+
2004-12-29 14:52 minam
|
45
|
+
|
46
|
+
* lib/sqlite3/: database.rb, version.rb: Made #quote a class method
|
47
|
+
(again). Bumped version to 0.6.
|
48
|
+
|
49
|
+
2004-12-25 22:59 minam
|
50
|
+
|
51
|
+
* lib/sqlite3/driver/dl/api.rb: Added check for darwin in supported
|
52
|
+
platforms (thanks to bitsweat).
|
53
|
+
|
54
|
+
2004-12-22 12:38 minam
|
55
|
+
|
56
|
+
* Rakefile: Rakefile wasn't packaging the README file.
|
57
|
+
|
58
|
+
2004-12-21 22:28 minam
|
59
|
+
|
60
|
+
* Rakefile, sqlite3-ruby.gemspec, test/bm.rb: Packaging now works.
|
61
|
+
Added benchmarks.
|
62
|
+
|
63
|
+
2004-12-21 21:45 minam
|
64
|
+
|
65
|
+
* LICENSE, README, Rakefile, setup.rb, sqlite3-ruby.gemspec,
|
66
|
+
doc/faq/faq.rb, doc/faq/faq.yml, lib/sqlite3.rb,
|
67
|
+
lib/sqlite3/statement.rb, lib/sqlite3/constants.rb,
|
68
|
+
lib/sqlite3/database.rb, lib/sqlite3/resultset.rb,
|
69
|
+
lib/sqlite3/translator.rb, lib/sqlite3/value.rb,
|
70
|
+
lib/sqlite3/version.rb, lib/sqlite3/errors.rb,
|
71
|
+
lib/sqlite3/pragmas.rb, lib/sqlite3/driver/dl/api.rb,
|
72
|
+
lib/sqlite3/driver/dl/driver.rb, test/mocks.rb,
|
73
|
+
test/tc_database.rb, test/tests.rb, test/driver/dl/tc_driver.rb:
|
74
|
+
Initial import
|
75
|
+
|
76
|
+
2004-12-21 21:45 minam
|
77
|
+
|
78
|
+
* LICENSE, README, Rakefile, setup.rb, sqlite3-ruby.gemspec,
|
79
|
+
doc/faq/faq.rb, doc/faq/faq.yml, lib/sqlite3.rb,
|
80
|
+
lib/sqlite3/statement.rb, lib/sqlite3/constants.rb,
|
81
|
+
lib/sqlite3/database.rb, lib/sqlite3/resultset.rb,
|
82
|
+
lib/sqlite3/translator.rb, lib/sqlite3/value.rb,
|
83
|
+
lib/sqlite3/version.rb, lib/sqlite3/errors.rb,
|
84
|
+
lib/sqlite3/pragmas.rb, lib/sqlite3/driver/dl/api.rb,
|
85
|
+
lib/sqlite3/driver/dl/driver.rb, test/mocks.rb,
|
86
|
+
test/tc_database.rb, test/tests.rb, test/driver/dl/tc_driver.rb:
|
87
|
+
Initial revision
|
88
|
+
|
data/LICENSE
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
Copyright (c) 2004, Jamis Buck (jamis@jamisbuck.org)
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
5
|
+
modification, are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
* Redistributions of source code must retain the above copyright notice,
|
8
|
+
this list of conditions and the following disclaimer.
|
9
|
+
|
10
|
+
* Redistributions in binary form must reproduce the above copyright
|
11
|
+
notice, this list of conditions and the following disclaimer in the
|
12
|
+
documentation and/or other materials provided with the distribution.
|
13
|
+
|
14
|
+
* The names of its contributors may not be used to endorse or promote
|
15
|
+
products derived from this software without specific prior written
|
16
|
+
permission.
|
17
|
+
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
19
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
20
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
21
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
22
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
23
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
24
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
25
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
26
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
27
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/Manifest.txt
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
API_CHANGES.rdoc
|
2
|
+
CHANGELOG.rdoc
|
3
|
+
ChangeLog.cvs
|
4
|
+
LICENSE
|
5
|
+
Manifest.txt
|
6
|
+
README.rdoc
|
7
|
+
Rakefile
|
8
|
+
ext/sqlite3/backup.c
|
9
|
+
ext/sqlite3/backup.h
|
10
|
+
ext/sqlite3/database.c
|
11
|
+
ext/sqlite3/database.h
|
12
|
+
ext/sqlite3/exception.c
|
13
|
+
ext/sqlite3/exception.h
|
14
|
+
ext/sqlite3/extconf.rb
|
15
|
+
ext/sqlite3/sqlite3.c
|
16
|
+
ext/sqlite3/sqlite3_ruby.h
|
17
|
+
ext/sqlite3/statement.c
|
18
|
+
ext/sqlite3/statement.h
|
19
|
+
faq/faq.rb
|
20
|
+
faq/faq.yml
|
21
|
+
lib/sqlite3.rb
|
22
|
+
lib/sqlite3/constants.rb
|
23
|
+
lib/sqlite3/database.rb
|
24
|
+
lib/sqlite3/errors.rb
|
25
|
+
lib/sqlite3/pragmas.rb
|
26
|
+
lib/sqlite3/resultset.rb
|
27
|
+
lib/sqlite3/statement.rb
|
28
|
+
lib/sqlite3/translator.rb
|
29
|
+
lib/sqlite3/value.rb
|
30
|
+
lib/sqlite3/version.rb
|
31
|
+
setup.rb
|
32
|
+
tasks/faq.rake
|
33
|
+
tasks/gem.rake
|
34
|
+
tasks/native.rake
|
35
|
+
tasks/vendor_sqlite3.rake
|
36
|
+
test/helper.rb
|
37
|
+
test/test_backup.rb
|
38
|
+
test/test_collation.rb
|
39
|
+
test/test_database.rb
|
40
|
+
test/test_database_readonly.rb
|
41
|
+
test/test_deprecated.rb
|
42
|
+
test/test_encoding.rb
|
43
|
+
test/test_integration.rb
|
44
|
+
test/test_integration_open_close.rb
|
45
|
+
test/test_integration_pending.rb
|
46
|
+
test/test_integration_resultset.rb
|
47
|
+
test/test_integration_statement.rb
|
48
|
+
test/test_sqlite3.rb
|
49
|
+
test/test_statement.rb
|
50
|
+
test/test_statement_execute.rb
|
data/README.rdoc
ADDED
@@ -0,0 +1,95 @@
|
|
1
|
+
= SQLite3/Ruby Interface
|
2
|
+
|
3
|
+
* http://github.com/luislavena/sqlite3-ruby
|
4
|
+
* http://groups.google.com/group/sqlite3-ruby
|
5
|
+
|
6
|
+
== DESCRIPTION
|
7
|
+
|
8
|
+
This module allows Ruby programs to interface with the SQLite3
|
9
|
+
database engine (http://www.sqlite.org). You must have the
|
10
|
+
SQLite engine installed in order to build this module.
|
11
|
+
|
12
|
+
Note that this module is NOT compatible with SQLite 2.x.
|
13
|
+
|
14
|
+
== SYNOPSIS
|
15
|
+
|
16
|
+
require "sqlite3"
|
17
|
+
|
18
|
+
# Open a database
|
19
|
+
db = SQLite3::Database.new "test.db"
|
20
|
+
|
21
|
+
# Create a database
|
22
|
+
rows = db.execute <<-SQL
|
23
|
+
create table numbers (
|
24
|
+
name varchar(30),
|
25
|
+
val int
|
26
|
+
);
|
27
|
+
SQL
|
28
|
+
|
29
|
+
# Execute a few inserts
|
30
|
+
{
|
31
|
+
"one" => 1,
|
32
|
+
"two" => 2,
|
33
|
+
}.each do |pair|
|
34
|
+
db.execute "insert into numbers values ( ?, ? )", pair
|
35
|
+
end
|
36
|
+
|
37
|
+
# Find a few rows
|
38
|
+
db.execute( "select * from numbers" ) do |row|
|
39
|
+
p row
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
== Compilation and Installation
|
44
|
+
|
45
|
+
Install SQLite3, enabling option SQLITE_ENABLE_COLUMN_METADATA (see
|
46
|
+
www.sqlite.org/compile.html for details).
|
47
|
+
|
48
|
+
Then do the following:
|
49
|
+
|
50
|
+
ruby setup.rb config
|
51
|
+
ruby setup.rb setup
|
52
|
+
ruby setup.rb install
|
53
|
+
|
54
|
+
Alternatively, you can download and install the RubyGem package for
|
55
|
+
SQLite3/Ruby (you must have RubyGems and SQLite3 installed, first):
|
56
|
+
|
57
|
+
gem install sqlite3
|
58
|
+
|
59
|
+
If you have sqlite3 installed in a non-standard location, you can specify the location of the include and lib files by doing:
|
60
|
+
|
61
|
+
gem install sqlite3 -- --with-sqlite3-include=/opt/local/include \
|
62
|
+
--with-sqlite3-lib=/opt/local/lib
|
63
|
+
|
64
|
+
= SUPPORT!!!
|
65
|
+
|
66
|
+
== OMG! Something has gone wrong! Where do I get help?
|
67
|
+
|
68
|
+
The best place to get help is from the
|
69
|
+
{sqlite3-ruby mailing list}[http://groups.google.com/group/sqlite3-ruby] which
|
70
|
+
can be found here:
|
71
|
+
|
72
|
+
* http://groups.google.com/group/sqlite3-ruby
|
73
|
+
|
74
|
+
== I've found a bug! Where do I file it?
|
75
|
+
|
76
|
+
Uh oh. After contacting the mailing list, you've found that you've actually
|
77
|
+
discovered a bug. You can file the bug at the
|
78
|
+
{github issues page}[http://github.com/luislavena/sqlite3-ruby/issues]
|
79
|
+
which can be found here:
|
80
|
+
|
81
|
+
* http://github.com/luislavena/sqlite3-ruby/issues
|
82
|
+
|
83
|
+
== Usage
|
84
|
+
|
85
|
+
For help figuring out the SQLite3/Ruby interface, check out the
|
86
|
+
SYNOPSIS as well as the RDoc. It includes examples of
|
87
|
+
usage. If you have any questions that you feel should be address in the
|
88
|
+
FAQ, please send them to {the mailing list}[http://groups.google.com/group/sqlite3-ruby]
|
89
|
+
|
90
|
+
== Source Code
|
91
|
+
|
92
|
+
The source repository is accessible via git:
|
93
|
+
|
94
|
+
git clone git://github.com/luislavena/sqlite3-ruby.git
|
95
|
+
|