do_sqlite3 0.9.6 → 0.9.7
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.
- data/.gitignore +3 -0
- data/Manifest.txt +2 -0
- data/Rakefile +12 -3
- data/ext/do_sqlite3_ext.c +5 -0
- data/lib/do_sqlite3.rb +8 -0
- data/lib/do_sqlite3/version.rb +1 -1
- data/lib/sqlite3.dll +0 -0
- data/spec/integration/do_sqlite3_spec.rb +8 -0
- metadata +9 -7
data/.gitignore
ADDED
data/Manifest.txt
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
.gitignore
|
1
2
|
History.txt
|
2
3
|
LICENSE
|
3
4
|
Manifest.txt
|
@@ -9,6 +10,7 @@ ext/extconf.rb
|
|
9
10
|
lib/do_sqlite3.rb
|
10
11
|
lib/do_sqlite3/transaction.rb
|
11
12
|
lib/do_sqlite3/version.rb
|
13
|
+
lib/sqlite3.dll
|
12
14
|
spec/integration/do_sqlite3_spec.rb
|
13
15
|
spec/integration/logging_spec.rb
|
14
16
|
spec/integration/quoting_spec.rb
|
data/Rakefile
CHANGED
@@ -17,12 +17,21 @@ EMAIL = "bj.schaefer@gmail.com"
|
|
17
17
|
GEM_NAME = "do_sqlite3"
|
18
18
|
GEM_VERSION = DataObjects::Sqlite3::VERSION
|
19
19
|
GEM_DEPENDENCIES = [["data_objects", GEM_VERSION]]
|
20
|
-
|
21
|
-
|
20
|
+
|
21
|
+
clean = %w(o bundle log a gem dSYM obj pdb lib def exp DS_Store)
|
22
|
+
|
23
|
+
unless ENV["WINDOWS"]
|
24
|
+
clean << "so"
|
25
|
+
GEM_EXTRAS = { :extensions => %w[ ext/extconf.rb ], :has_rdoc => false }
|
26
|
+
else
|
27
|
+
GEM_EXTRAS = {}
|
28
|
+
end
|
29
|
+
|
30
|
+
GEM_CLEAN = ["**/*.{#{clean.join(",")}}", 'ext/Makefile']
|
22
31
|
|
23
32
|
PROJECT_NAME = "dorb"
|
24
33
|
PROJECT_URL = "http://rubyforge.org/projects/dorb"
|
25
|
-
PROJECT_DESCRIPTION = PROJECT_SUMMARY = "A DataObject.rb driver for
|
34
|
+
PROJECT_DESCRIPTION = PROJECT_SUMMARY = "A DataObject.rb driver for Sqlite3"
|
26
35
|
|
27
36
|
DRIVER = true
|
28
37
|
|
data/ext/do_sqlite3_ext.c
CHANGED
@@ -156,6 +156,10 @@ static VALUE parse_date_time(char *date) {
|
|
156
156
|
|
157
157
|
int tokens_read, max_tokens;
|
158
158
|
|
159
|
+
if ( strcmp(date, "") == 0 ) {
|
160
|
+
return Qnil;
|
161
|
+
}
|
162
|
+
|
159
163
|
if (0 != strchr(date, '.')) {
|
160
164
|
// This is a datetime with sub-second precision
|
161
165
|
tokens_read = sscanf(date, "%4d-%2d-%2d%*c%2d:%2d:%2d.%d%3d:%2d", &year, &month, &day, &hour, &min, &sec, &usec, &hour_offset, &minute_offset);
|
@@ -378,6 +382,7 @@ static VALUE cCommand_execute_reader(int argc, VALUE *argv, VALUE self) {
|
|
378
382
|
Data_Get_Struct(rb_iv_get(conn_obj, "@connection"), sqlite3, db);
|
379
383
|
|
380
384
|
query = build_query_from_args(self, argc, argv);
|
385
|
+
|
381
386
|
data_objects_debug(query);
|
382
387
|
|
383
388
|
status = sqlite3_prepare_v2(db, StringValuePtr(query), -1, &sqlite3_reader, 0);
|
data/lib/do_sqlite3.rb
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
|
2
|
+
# HACK: If running on Windows, then add the current directory to the PATH
|
3
|
+
# for the current process so it can find the bundled dlls before the require
|
4
|
+
# of the actual extension file.
|
5
|
+
if RUBY_PLATFORM.match(/mingw|mswin/i)
|
6
|
+
libdir = File.expand_path(File.dirname(__FILE__)).gsub(File::SEPARATOR, File::ALT_SEPARATOR)
|
7
|
+
ENV['PATH'] = "#{libdir};" + ENV['PATH']
|
8
|
+
end
|
9
|
+
|
2
10
|
require 'rubygems'
|
3
11
|
require 'data_objects'
|
4
12
|
require 'do_sqlite3_ext'
|
data/lib/do_sqlite3/version.rb
CHANGED
data/lib/sqlite3.dll
ADDED
Binary file
|
@@ -136,6 +136,14 @@ describe "DataObjects::Sqlite3::Result" do
|
|
136
136
|
end
|
137
137
|
end
|
138
138
|
|
139
|
+
it "should not blow up when an empty string for a timestamp is used" do
|
140
|
+
id = insert("INSERT INTO users (name, age, type, created_at) VALUES (?, ?, ?, ?)", 'Sam', 30, Person, "")
|
141
|
+
|
142
|
+
select("SELECT created_at FROM users WHERE id = ?", [DateTime], id) do |reader|
|
143
|
+
reader.values.last.should == nil
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
139
147
|
it "should return DateTimes using the same timezone that was used to insert it" do
|
140
148
|
pending "improved support for timezone checking"
|
141
149
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: do_sqlite3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bernerd Schaefer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-11-18 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.9.
|
23
|
+
version: 0.9.7
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: hoe
|
@@ -30,9 +30,9 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.8.2
|
34
34
|
version:
|
35
|
-
description: A DataObject.rb driver for
|
35
|
+
description: A DataObject.rb driver for Sqlite3
|
36
36
|
email:
|
37
37
|
- bj.schaefer@gmail.com
|
38
38
|
executables: []
|
@@ -44,6 +44,7 @@ extra_rdoc_files:
|
|
44
44
|
- Manifest.txt
|
45
45
|
- README.txt
|
46
46
|
files:
|
47
|
+
- .gitignore
|
47
48
|
- History.txt
|
48
49
|
- LICENSE
|
49
50
|
- Manifest.txt
|
@@ -55,6 +56,7 @@ files:
|
|
55
56
|
- lib/do_sqlite3.rb
|
56
57
|
- lib/do_sqlite3/transaction.rb
|
57
58
|
- lib/do_sqlite3/version.rb
|
59
|
+
- lib/sqlite3.dll
|
58
60
|
- spec/integration/do_sqlite3_spec.rb
|
59
61
|
- spec/integration/logging_spec.rb
|
60
62
|
- spec/integration/quoting_spec.rb
|
@@ -85,9 +87,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
87
|
requirements: []
|
86
88
|
|
87
89
|
rubyforge_project: dorb
|
88
|
-
rubygems_version: 1.
|
90
|
+
rubygems_version: 1.3.1
|
89
91
|
signing_key:
|
90
92
|
specification_version: 2
|
91
|
-
summary: A DataObject.rb driver for
|
93
|
+
summary: A DataObject.rb driver for Sqlite3
|
92
94
|
test_files: []
|
93
95
|
|