do_mysql 0.10.6-x86-mingw32 → 0.10.7-x86-mingw32
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 +2 -1
- data/ext/do_mysql/do_common.c +13 -45
- data/ext/do_mysql/extconf.rb +5 -0
- data/lib/do_mysql/1.8/do_mysql.so +0 -0
- data/lib/do_mysql/1.9/do_mysql.so +0 -0
- data/lib/do_mysql/version.rb +1 -1
- data/tasks/compile.rake +1 -1
- data/tasks/spec.rake +0 -1
- metadata +20 -31
data/ChangeLog.markdown
CHANGED
data/Rakefile
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'pathname'
|
2
2
|
require 'rubygems'
|
3
3
|
require 'bundler'
|
4
|
+
require 'rubygems/package_task'
|
4
5
|
Bundler::GemHelper.install_tasks
|
5
6
|
|
6
7
|
require 'rake'
|
@@ -14,7 +15,7 @@ JRUBY = RUBY_PLATFORM =~ /java/
|
|
14
15
|
IRONRUBY = defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ironruby'
|
15
16
|
WINDOWS = Gem.win_platform? || (JRUBY && ENV_JAVA['os.name'] =~ /windows/i)
|
16
17
|
SUDO = WINDOWS ? '' : ('sudo' unless ENV['SUDOLESS'])
|
17
|
-
BINARY_VERSION = '5.1.
|
18
|
+
BINARY_VERSION = '5.1.60'
|
18
19
|
|
19
20
|
CLEAN.include(%w[ {tmp,pkg}/ **/*.{o,so,bundle,jar,log,a,gem,dSYM,obj,pdb,exp,DS_Store,rbc,db} ext/do_mysql/Makefile ext-java/target ])
|
20
21
|
|
data/ext/do_mysql/do_common.c
CHANGED
@@ -53,9 +53,10 @@ VALUE data_objects_const_get(VALUE scope, const char *constant) {
|
|
53
53
|
void data_objects_debug(VALUE connection, VALUE string, struct timeval *start) {
|
54
54
|
struct timeval stop;
|
55
55
|
VALUE message;
|
56
|
+
do_int64 duration;
|
56
57
|
|
57
58
|
gettimeofday(&stop, NULL);
|
58
|
-
|
59
|
+
duration = (stop.tv_sec - start->tv_sec) * 1000000 + stop.tv_usec - start->tv_usec;
|
59
60
|
|
60
61
|
message = rb_funcall(cDO_Logger_Message, ID_NEW, 3, string, rb_time_new(start->tv_sec, start->tv_usec), INT2NUM(duration));
|
61
62
|
|
@@ -65,6 +66,7 @@ void data_objects_debug(VALUE connection, VALUE string, struct timeval *start) {
|
|
65
66
|
void data_objects_raise_error(VALUE self, const struct errcodes *errors, int errnum, const char *message, VALUE query, VALUE state) {
|
66
67
|
const char *exception_type = "SQLError";
|
67
68
|
const struct errcodes *e;
|
69
|
+
VALUE uri, exception;
|
68
70
|
|
69
71
|
for (e = errors; e->error_name; e++) {
|
70
72
|
if (e->error_no == errnum) {
|
@@ -74,9 +76,9 @@ void data_objects_raise_error(VALUE self, const struct errcodes *errors, int err
|
|
74
76
|
}
|
75
77
|
}
|
76
78
|
|
77
|
-
|
79
|
+
uri = rb_funcall(rb_iv_get(self, "@connection"), rb_intern("to_s"), 0);
|
78
80
|
|
79
|
-
|
81
|
+
exception = rb_funcall(
|
80
82
|
data_objects_const_get(mDO, exception_type),
|
81
83
|
ID_NEW,
|
82
84
|
5,
|
@@ -116,8 +118,8 @@ void data_objects_assert_file_exists(char *file, const char *message) {
|
|
116
118
|
}
|
117
119
|
|
118
120
|
VALUE data_objects_build_query_from_args(VALUE klass, int count, VALUE *args) {
|
119
|
-
VALUE array = rb_ary_new();
|
120
121
|
int i;
|
122
|
+
VALUE array = rb_ary_new();
|
121
123
|
|
122
124
|
for (i = 0; i < count; i++) {
|
123
125
|
rb_ary_push(array, args[i]);
|
@@ -176,8 +178,6 @@ VALUE data_objects_timezone_to_offset(int hour_offset, int minute_offset) {
|
|
176
178
|
VALUE data_objects_parse_date(const char *date) {
|
177
179
|
static char const *const _fmt_date = "%4d-%2d-%2d";
|
178
180
|
int year = 0, month = 0, day = 0;
|
179
|
-
int jd, ajd;
|
180
|
-
VALUE rational;
|
181
181
|
|
182
182
|
switch (sscanf(date, _fmt_date, &year, &month, &day)) {
|
183
183
|
case 0:
|
@@ -185,11 +185,7 @@ VALUE data_objects_parse_date(const char *date) {
|
|
185
185
|
return Qnil;
|
186
186
|
}
|
187
187
|
|
188
|
-
|
189
|
-
ajd = (jd * 2) - 1; // Math from Date.jd_to_ajd
|
190
|
-
rational = rb_funcall(rb_mKernel, ID_RATIONAL, 2, INT2NUM(ajd), INT2NUM(2));
|
191
|
-
|
192
|
-
return rb_funcall(rb_cDate, ID_NEW_DATE, 3, rational, INT2NUM(0), INT2NUM(2299161));
|
188
|
+
return rb_funcall(rb_cDate, ID_NEW, 3, INT2NUM(year), INT2NUM(month), INT2NUM(day));
|
193
189
|
}
|
194
190
|
|
195
191
|
VALUE data_objects_parse_time(const char *date) {
|
@@ -219,10 +215,9 @@ VALUE data_objects_parse_date_time(const char *date) {
|
|
219
215
|
int tokens_read;
|
220
216
|
const char *fmt_datetime;
|
221
217
|
|
222
|
-
VALUE
|
218
|
+
VALUE offset;
|
223
219
|
|
224
|
-
int year, month, day, hour, min, sec, hour_offset, minute_offset
|
225
|
-
do_int64 num, den;
|
220
|
+
int year, month, day, hour, min, sec, hour_offset, minute_offset;
|
226
221
|
|
227
222
|
struct tm timeinfo;
|
228
223
|
time_t target_time;
|
@@ -299,34 +294,9 @@ VALUE data_objects_parse_date_time(const char *date) {
|
|
299
294
|
rb_raise(eDataError, "Couldn't parse date: %s", date);
|
300
295
|
}
|
301
296
|
|
302
|
-
jd = data_objects_jd_from_date(year, month, day);
|
303
|
-
|
304
|
-
/*
|
305
|
-
* Generate ajd with fractional days for the time.
|
306
|
-
* Extracted from Date#jd_to_ajd, Date#day_fraction_to_time, and Rational#+ and #-.
|
307
|
-
*
|
308
|
-
* TODO: These are 64bit numbers; is reduce() really necessary?
|
309
|
-
*/
|
310
|
-
|
311
|
-
num = (hour * 1440) + (min * 24);
|
312
|
-
num -= (hour_offset * 1440) + (minute_offset * 24);
|
313
|
-
den = (24 * 1440);
|
314
|
-
data_objects_reduce(&num, &den);
|
315
|
-
|
316
|
-
num = (num * 86400) + (sec * den);
|
317
|
-
den = den * 86400;
|
318
|
-
data_objects_reduce(&num, &den);
|
319
|
-
|
320
|
-
num += jd * den;
|
321
|
-
|
322
|
-
num = (num * 2) - den;
|
323
|
-
den *= 2;
|
324
|
-
data_objects_reduce(&num, &den);
|
325
|
-
|
326
|
-
ajd = rb_funcall(rb_mKernel, ID_RATIONAL, 2, rb_ull2inum(num), rb_ull2inum(den));
|
327
297
|
offset = data_objects_timezone_to_offset(hour_offset, minute_offset);
|
328
|
-
|
329
|
-
|
298
|
+
return rb_funcall(rb_cDateTime, ID_NEW, 7, INT2NUM(year), INT2NUM(month), INT2NUM(day),
|
299
|
+
INT2NUM(hour), INT2NUM(min), INT2NUM(sec), offset);
|
330
300
|
}
|
331
301
|
|
332
302
|
VALUE data_objects_cConnection_character_set(VALUE self) {
|
@@ -360,17 +330,15 @@ VALUE data_objects_cConnection_quote_date(VALUE self, VALUE value) {
|
|
360
330
|
* into Ruby-strings so we can easily typecast later
|
361
331
|
*/
|
362
332
|
VALUE data_objects_cCommand_set_types(int argc, VALUE *argv, VALUE self) {
|
333
|
+
VALUE entry, sub_entry;
|
334
|
+
int i, j;
|
363
335
|
VALUE type_strings = rb_ary_new();
|
364
336
|
VALUE array = rb_ary_new();
|
365
337
|
|
366
|
-
int i, j;
|
367
|
-
|
368
338
|
for (i = 0; i < argc; i++) {
|
369
339
|
rb_ary_push(array, argv[i]);
|
370
340
|
}
|
371
341
|
|
372
|
-
VALUE entry, sub_entry;
|
373
|
-
|
374
342
|
for (i = 0; i < RARRAY_LEN(array); i++) {
|
375
343
|
entry = rb_ary_entry(array, i);
|
376
344
|
|
data/ext/do_mysql/extconf.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
ENV["RC_ARCHS"] = "" if RUBY_PLATFORM =~ /darwin/
|
2
2
|
|
3
3
|
require 'mkmf'
|
4
|
+
require 'date'
|
4
5
|
|
5
6
|
# Allow for custom compiler to be specified.
|
6
7
|
RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
|
@@ -81,6 +82,10 @@ have_func 'mysql_set_character_set', 'mysql.h'
|
|
81
82
|
have_func 'mysql_get_server_version', 'mysql.h'
|
82
83
|
have_struct_member 'MYSQL_FIELD', 'charsetnr', 'mysql.h'
|
83
84
|
|
85
|
+
unless DateTime.respond_to?(:new!)
|
86
|
+
$CFLAGS << ' -DHAVE_NO_DATETIME_NEWBANG'
|
87
|
+
end
|
88
|
+
|
84
89
|
$CFLAGS << ' -Wall '
|
85
90
|
|
86
91
|
if RUBY_VERSION < '1.8.6'
|
Binary file
|
Binary file
|
data/lib/do_mysql/version.rb
CHANGED
data/tasks/compile.rake
CHANGED
data/tasks/spec.rake
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: do_mysql
|
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
|
+
- 7
|
9
|
+
version: 0.10.7
|
11
10
|
platform: x86-mingw32
|
12
11
|
authors:
|
13
12
|
- Dirkjan Bussink
|
@@ -19,51 +18,45 @@ date: 2011-03-29 00:00:00 +02:00
|
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
21
|
+
prerelease: false
|
22
22
|
type: :runtime
|
23
|
-
|
24
|
-
|
23
|
+
name: data_objects
|
24
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
hash: 59
|
29
28
|
segments:
|
30
29
|
- 0
|
31
30
|
- 10
|
32
|
-
-
|
33
|
-
version: 0.10.
|
34
|
-
|
35
|
-
version_requirements: *id001
|
36
|
-
prerelease: false
|
31
|
+
- 7
|
32
|
+
version: 0.10.7
|
33
|
+
requirement: *id001
|
37
34
|
- !ruby/object:Gem::Dependency
|
35
|
+
prerelease: false
|
38
36
|
type: :development
|
39
|
-
|
40
|
-
|
37
|
+
name: rspec
|
38
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
41
39
|
requirements:
|
42
40
|
- - ~>
|
43
41
|
- !ruby/object:Gem::Version
|
44
|
-
hash: 9
|
45
42
|
segments:
|
46
43
|
- 2
|
47
44
|
- 5
|
48
45
|
version: "2.5"
|
49
|
-
|
50
|
-
version_requirements: *id002
|
51
|
-
prerelease: false
|
46
|
+
requirement: *id002
|
52
47
|
- !ruby/object:Gem::Dependency
|
48
|
+
prerelease: false
|
53
49
|
type: :development
|
54
|
-
|
55
|
-
|
50
|
+
name: rake-compiler
|
51
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
56
52
|
requirements:
|
57
53
|
- - ~>
|
58
54
|
- !ruby/object:Gem::Version
|
59
|
-
hash: 5
|
60
55
|
segments:
|
61
56
|
- 0
|
62
57
|
- 7
|
63
58
|
version: "0.7"
|
64
|
-
|
65
|
-
version_requirements: *id003
|
66
|
-
prerelease: false
|
59
|
+
requirement: *id003
|
67
60
|
description: Implements the DataObjects API for MySQL
|
68
61
|
email: d.bussink@gmail.com
|
69
62
|
executables: []
|
@@ -127,13 +120,13 @@ post_install_message: |+
|
|
127
120
|
======================================================================================================
|
128
121
|
|
129
122
|
You've installed the binary version of do_mysql.
|
130
|
-
It was built using MySQL version 5.1.
|
123
|
+
It was built using MySQL version 5.1.60.
|
131
124
|
It's recommended to use the exact same version to avoid potential issues.
|
132
125
|
|
133
126
|
At the time of building this gem, the necessary DLL files where available
|
134
127
|
in the following download:
|
135
128
|
|
136
|
-
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-noinstall-5.1.
|
129
|
+
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-noinstall-5.1.60-win32.zip/from/pick
|
137
130
|
|
138
131
|
You can put the lib\opt\libmysql.dll available in this package in your Ruby bin
|
139
132
|
directory, for example C:\Ruby\bin
|
@@ -145,27 +138,23 @@ rdoc_options: []
|
|
145
138
|
require_paths:
|
146
139
|
- lib
|
147
140
|
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
141
|
requirements:
|
150
142
|
- - ">="
|
151
143
|
- !ruby/object:Gem::Version
|
152
|
-
hash: 3
|
153
144
|
segments:
|
154
145
|
- 0
|
155
146
|
version: "0"
|
156
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
-
none: false
|
158
148
|
requirements:
|
159
149
|
- - ">="
|
160
150
|
- !ruby/object:Gem::Version
|
161
|
-
hash: 3
|
162
151
|
segments:
|
163
152
|
- 0
|
164
153
|
version: "0"
|
165
154
|
requirements: []
|
166
155
|
|
167
156
|
rubyforge_project: dorb
|
168
|
-
rubygems_version: 1.
|
157
|
+
rubygems_version: 1.3.6
|
169
158
|
signing_key:
|
170
159
|
specification_version: 3
|
171
160
|
summary: DataObjects MySQL Driver
|