do_sqlite3 0.10.8 → 0.10.9
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/ChangeLog.markdown +4 -0
- data/Rakefile +1 -1
- data/ext/do_sqlite3/do_common.c +8 -0
- data/ext/do_sqlite3/do_sqlite3.c +2 -1
- data/ext/do_sqlite3/do_sqlite3_extension.c +13 -12
- data/lib/do_sqlite3.rb +1 -1
- data/lib/do_sqlite3/version.rb +1 -1
- data/tasks/compile.rake +1 -1
- metadata +9 -18
data/ChangeLog.markdown
CHANGED
data/Rakefile
CHANGED
@@ -15,7 +15,7 @@ JRUBY = RUBY_PLATFORM =~ /java/
|
|
15
15
|
IRONRUBY = defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ironruby'
|
16
16
|
WINDOWS = Gem.win_platform? || (JRUBY && ENV_JAVA['os.name'] =~ /windows/i)
|
17
17
|
SUDO = WINDOWS ? '' : ('sudo' unless ENV['SUDOLESS'])
|
18
|
-
BINARY_VERSION = '
|
18
|
+
BINARY_VERSION = '3071300'
|
19
19
|
|
20
20
|
CLEAN.include(%w[ {tmp,pkg}/ **/*.{o,so,bundle,jar,log,a,gem,dSYM,obj,pdb,exp,DS_Store,rbc,db} ext/do_sqlite3/Makefile ext-java/target ])
|
21
21
|
|
data/ext/do_sqlite3/do_common.c
CHANGED
@@ -185,6 +185,10 @@ VALUE data_objects_parse_date(const char *date) {
|
|
185
185
|
return Qnil;
|
186
186
|
}
|
187
187
|
|
188
|
+
if(!year && !month && !day) {
|
189
|
+
return Qnil;
|
190
|
+
}
|
191
|
+
|
188
192
|
return rb_funcall(rb_cDate, ID_NEW, 3, INT2NUM(year), INT2NUM(month), INT2NUM(day));
|
189
193
|
}
|
190
194
|
|
@@ -237,6 +241,10 @@ VALUE data_objects_parse_date_time(const char *date) {
|
|
237
241
|
fmt_datetime = strchr(date, '.') ? _fmt_datetime_tz_subsec : _fmt_datetime_tz_normal;
|
238
242
|
tokens_read = sscanf(date, fmt_datetime, &year, &month, &day, &hour, &min, &sec, &hour_offset, &minute_offset);
|
239
243
|
|
244
|
+
if(!year && !month && !day && !hour && !min && !sec) {
|
245
|
+
return Qnil;
|
246
|
+
}
|
247
|
+
|
240
248
|
switch (tokens_read) {
|
241
249
|
case 8:
|
242
250
|
minute_offset *= hour_offset < 0 ? -1 : 1;
|
data/ext/do_sqlite3/do_sqlite3.c
CHANGED
@@ -16,12 +16,15 @@ VALUE do_sqlite3_cExtension_enable_load_extension(VALUE self, VALUE on) {
|
|
16
16
|
if (connection == Qnil) { return Qfalse; }
|
17
17
|
|
18
18
|
// Retrieve the actual connection from the
|
19
|
-
|
19
|
+
VALUE sqlite3_connection = rb_iv_get(connection, "@connection");
|
20
20
|
|
21
|
-
if (
|
21
|
+
if (sqlite3_connection == Qnil) { return Qfalse; }
|
22
22
|
|
23
23
|
sqlite3 *db;
|
24
24
|
|
25
|
+
Data_Get_Struct(sqlite3_connection, sqlite3, db);
|
26
|
+
|
27
|
+
|
25
28
|
if (!(db = DATA_PTR(connection))) {
|
26
29
|
return Qfalse;
|
27
30
|
}
|
@@ -40,26 +43,23 @@ VALUE do_sqlite3_cExtension_enable_load_extension(VALUE self, VALUE on) {
|
|
40
43
|
|
41
44
|
VALUE do_sqlite3_cExtension_load_extension(VALUE self, VALUE path) {
|
42
45
|
#ifdef HAVE_SQLITE3_ENABLE_LOAD_EXTENSION
|
43
|
-
VALUE
|
44
|
-
VALUE connection = rb_funcall(self, id_connection, 0);
|
46
|
+
VALUE connection = rb_iv_get(self, "@connection");
|
45
47
|
|
46
48
|
if (connection == Qnil) { return Qfalse; }
|
47
49
|
|
48
|
-
// Retrieve the actual connection from the
|
49
|
-
|
50
|
+
// Retrieve the actual connection from the object
|
51
|
+
VALUE sqlite3_connection = rb_iv_get(connection, "@connection");
|
50
52
|
|
51
|
-
if (
|
53
|
+
if (sqlite3_connection == Qnil) { return Qfalse; }
|
52
54
|
|
53
55
|
sqlite3 *db;
|
54
56
|
|
55
|
-
|
56
|
-
return Qfalse;
|
57
|
-
}
|
57
|
+
Data_Get_Struct(sqlite3_connection, sqlite3, db);
|
58
58
|
|
59
59
|
const char *extension_path = rb_str_ptr_readonly(path);
|
60
|
-
char *errmsg;
|
60
|
+
char *errmsg = sqlite3_malloc(1024);
|
61
61
|
|
62
|
-
if (!
|
62
|
+
if (!errmsg) {
|
63
63
|
return Qfalse;
|
64
64
|
}
|
65
65
|
|
@@ -72,6 +72,7 @@ VALUE do_sqlite3_cExtension_load_extension(VALUE self, VALUE path) {
|
|
72
72
|
rb_exc_raise(errexp);
|
73
73
|
}
|
74
74
|
|
75
|
+
sqlite3_free(errmsg);
|
75
76
|
return Qtrue;
|
76
77
|
#else
|
77
78
|
return Qfalse;
|
data/lib/do_sqlite3.rb
CHANGED
@@ -11,7 +11,7 @@ if RUBY_PLATFORM =~ /java/
|
|
11
11
|
|
12
12
|
begin
|
13
13
|
java.lang.Thread.currentThread.getContextClassLoader().loadClass(DataObjects::Sqlite3::JDBC_DRIVER, true)
|
14
|
-
rescue
|
14
|
+
rescue java.lang.ClassNotFoundException
|
15
15
|
require 'jdbc/sqlite3' # the JDBC driver, packaged as a gem
|
16
16
|
end
|
17
17
|
|
data/lib/do_sqlite3/version.rb
CHANGED
data/tasks/compile.rake
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: do_sqlite3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
4
|
+
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 10
|
9
|
-
-
|
10
|
-
version: 0.10.
|
8
|
+
- 9
|
9
|
+
version: 0.10.9
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Dirkjan Bussink
|
@@ -15,33 +14,30 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2011-03-29 00:00:00
|
17
|
+
date: 2011-03-29 00:00:00 +02:00
|
18
|
+
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: data_objects
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
24
|
requirements:
|
26
25
|
- - "="
|
27
26
|
- !ruby/object:Gem::Version
|
28
|
-
hash: 39
|
29
27
|
segments:
|
30
28
|
- 0
|
31
29
|
- 10
|
32
|
-
-
|
33
|
-
version: 0.10.
|
30
|
+
- 9
|
31
|
+
version: 0.10.9
|
34
32
|
type: :runtime
|
35
33
|
version_requirements: *id001
|
36
34
|
- !ruby/object:Gem::Dependency
|
37
35
|
name: rspec
|
38
36
|
prerelease: false
|
39
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
38
|
requirements:
|
42
39
|
- - ~>
|
43
40
|
- !ruby/object:Gem::Version
|
44
|
-
hash: 9
|
45
41
|
segments:
|
46
42
|
- 2
|
47
43
|
- 5
|
@@ -52,11 +48,9 @@ dependencies:
|
|
52
48
|
name: rake-compiler
|
53
49
|
prerelease: false
|
54
50
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
51
|
requirements:
|
57
52
|
- - ~>
|
58
53
|
- !ruby/object:Gem::Version
|
59
|
-
hash: 5
|
60
54
|
segments:
|
61
55
|
- 0
|
62
56
|
- 7
|
@@ -114,6 +108,7 @@ files:
|
|
114
108
|
- tasks/release.rake
|
115
109
|
- tasks/retrieve.rake
|
116
110
|
- tasks/spec.rake
|
111
|
+
has_rdoc: true
|
117
112
|
homepage:
|
118
113
|
licenses: []
|
119
114
|
|
@@ -123,27 +118,23 @@ rdoc_options: []
|
|
123
118
|
require_paths:
|
124
119
|
- lib
|
125
120
|
required_ruby_version: !ruby/object:Gem::Requirement
|
126
|
-
none: false
|
127
121
|
requirements:
|
128
122
|
- - ">="
|
129
123
|
- !ruby/object:Gem::Version
|
130
|
-
hash: 3
|
131
124
|
segments:
|
132
125
|
- 0
|
133
126
|
version: "0"
|
134
127
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
|
-
none: false
|
136
128
|
requirements:
|
137
129
|
- - ">="
|
138
130
|
- !ruby/object:Gem::Version
|
139
|
-
hash: 3
|
140
131
|
segments:
|
141
132
|
- 0
|
142
133
|
version: "0"
|
143
134
|
requirements: []
|
144
135
|
|
145
136
|
rubyforge_project: dorb
|
146
|
-
rubygems_version: 1.
|
137
|
+
rubygems_version: 1.3.6
|
147
138
|
signing_key:
|
148
139
|
specification_version: 3
|
149
140
|
summary: DataObjects Sqlite3 Driver
|