do_mysql 0.10.14 → 0.10.15

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2284f99889297d934ae660c21d94e7f6288a9375
4
- data.tar.gz: cbf9a08f4551ef2d7aa4560b78913731ceed457b
3
+ metadata.gz: ec29f420849aeb00fc521cfc5457f13e34cef76e
4
+ data.tar.gz: 8075995943a7868c015d41a682f866d19e5cee8c
5
5
  SHA512:
6
- metadata.gz: 60e28114e1fe072f313b428f750496e33aec515ac455b2510924243d701bb8a27091ec2e5469beea7794f2724e285ba1c7e7917f69072e547a3e42974a4a9d00
7
- data.tar.gz: d7d0627e74812ec145ce28ff507eee0e3c56b6162d367e1bb7c5366b47980be2607491711c2cc2e3d277026a21526d44e994077413c369bc06a28bcebae1b06f
6
+ metadata.gz: 78be705e67d255c09c28ea1dedb8d0253447e83196d7b3a34c9a354405a4745064efb6b17c00f8d5f7dfc9b4e1ccb0d77ce82ed79085c107fd58dfc99949d395
7
+ data.tar.gz: 8961519f1b69b182b5c2d7e91b0dbd1a5cf0121852500a63850f20e7a81212a64e25da28076e41b4a65142e6765adc1959f6490bbc2fd927691ca9920f114005
@@ -1,3 +1,9 @@
1
+ ## 0.10.15 2015-02-15
2
+
3
+ * Ruby 2.2 support
4
+ * utf8mb4 support on do\_mysql
5
+ * Windows support on 2.1.x and 2.2.x
6
+
1
7
  ## 0.10.14 2014-02-13
2
8
 
3
9
  * Don't do DNS lookup in transaction loading
@@ -63,7 +63,7 @@ void data_objects_debug(VALUE connection, VALUE string, struct timeval *start) {
63
63
  rb_funcall(connection, DO_ID_LOG, 1, message);
64
64
  }
65
65
 
66
- void data_objects_raise_error(VALUE self, const struct errcodes *errors, int errnum, const char *message, VALUE query, VALUE state) {
66
+ void data_objects_raise_error(VALUE self, const struct errcodes *errors, int errnum, VALUE message, VALUE query, VALUE state) {
67
67
  const char *exception_type = "SQLError";
68
68
  const struct errcodes *e;
69
69
  VALUE uri, exception;
@@ -82,7 +82,7 @@ void data_objects_raise_error(VALUE self, const struct errcodes *errors, int err
82
82
  data_objects_const_get(mDO, exception_type),
83
83
  DO_ID_NEW,
84
84
  5,
85
- rb_str_new2(message),
85
+ message,
86
86
  INT2NUM(errnum),
87
87
  state,
88
88
  query,
@@ -123,7 +123,7 @@ static inline void data_objects_define_errors(VALUE scope, const struct errcodes
123
123
  }
124
124
  }
125
125
 
126
- extern void data_objects_raise_error(VALUE self, const struct errcodes *errors, int errnum, const char *message, VALUE query, VALUE state);
126
+ extern void data_objects_raise_error(VALUE self, const struct errcodes *errors, int errnum, VALUE message, VALUE query, VALUE state);
127
127
 
128
128
  extern VALUE data_objects_typecast(const char *value, long length, const VALUE type, int encoding);
129
129
 
@@ -22,6 +22,17 @@
22
22
  #define do_mysql_cCommand_execute do_mysql_cCommand_execute_async
23
23
  #endif
24
24
 
25
+ #ifndef HAVE_RB_THREAD_FD_SELECT
26
+ #define rb_fdset_t fd_set
27
+ #define rb_fd_isset(n, f) FD_ISSET(n, f)
28
+ #define rb_fd_init(f) FD_ZERO(f)
29
+ #define rb_fd_zero(f) FD_ZERO(f)
30
+ #define rb_fd_set(n, f) FD_SET(n, f)
31
+ #define rb_fd_clr(n, f) FD_CLR(n, f)
32
+ #define rb_fd_term(f)
33
+ #define rb_thread_fd_select rb_thread_select
34
+ #endif
35
+
25
36
  #define CHECK_AND_RAISE(mysql_result_value, query) if (0 != mysql_result_value) { do_mysql_raise_error(self, db, query); }
26
37
 
27
38
  void do_mysql_full_connect(VALUE self, MYSQL *db);
@@ -105,7 +116,7 @@ VALUE do_mysql_typecast(const char *value, long length, const VALUE type, int en
105
116
 
106
117
  void do_mysql_raise_error(VALUE self, MYSQL *db, VALUE query) {
107
118
  int errnum = mysql_errno(db);
108
- const char *message = mysql_error(db);
119
+ VALUE message = rb_str_new2(mysql_error(db));
109
120
  VALUE sql_state = Qnil;
110
121
 
111
122
  #ifdef HAVE_MYSQL_SQLSTATE
@@ -154,13 +165,13 @@ MYSQL_RES *do_mysql_cCommand_execute_async(VALUE self, VALUE connection, MYSQL *
154
165
  CHECK_AND_RAISE(retval, query);
155
166
 
156
167
  int socket_fd = db->net.fd;
157
- fd_set rset;
168
+ rb_fdset_t rset;
158
169
 
159
170
  while (1) {
160
- FD_ZERO(&rset);
161
- FD_SET(socket_fd, &rset);
171
+ rb_fd_init(&rset);
172
+ rb_fd_set(socket_fd, &rset);
162
173
 
163
- retval = rb_thread_select(socket_fd + 1, &rset, NULL, NULL, NULL);
174
+ retval = rb_thread_fd_select(socket_fd + 1, &rset, NULL, NULL, NULL);
164
175
 
165
176
  if (retval < 0) {
166
177
  rb_sys_fail(0);
@@ -82,6 +82,8 @@ have_func 'mysql_set_character_set', 'mysql.h'
82
82
  have_func 'mysql_get_server_version', 'mysql.h'
83
83
  have_struct_member 'MYSQL_FIELD', 'charsetnr', 'mysql.h'
84
84
 
85
+ have_func('rb_thread_fd_select')
86
+
85
87
  unless DateTime.respond_to?(:new!)
86
88
  $CFLAGS << ' -DHAVE_NO_DATETIME_NEWBANG'
87
89
  end
@@ -20,6 +20,7 @@ module DataObjects
20
20
  "GBK" => "gbk",
21
21
  "ISO-8859-9" => "latin5",
22
22
  "UTF-8" => "utf8",
23
+ "UTF-8-MB4" => "utf8mb4",
23
24
  "UTF-16BE" => "ucs2",
24
25
  "IBM866" => "cp866",
25
26
  "macCentEuro" => "macce",
@@ -1,5 +1,5 @@
1
1
  module DataObjects
2
2
  module Mysql
3
- VERSION = '0.10.14'
3
+ VERSION = '0.10.15'
4
4
  end
5
5
  end
@@ -56,7 +56,7 @@ begin
56
56
  ext.classpath = '../do_jdbc/lib/do_jdbc_internal.jar'
57
57
  ext.java_compiling do |gem|
58
58
  gem.add_dependency 'jdbc-mysql', '>=5.0.4'
59
- gem.add_dependency 'do_jdbc', '0.10.14'
59
+ gem.add_dependency 'do_jdbc', '0.10.15'
60
60
  end
61
61
  end
62
62
  rescue LoadError
@@ -3,7 +3,7 @@ task :build_all do
3
3
  `rake clean`
4
4
  `rake build`
5
5
  `rake java gem`
6
- `rake cross native gem RUBY_CC_VERSION=1.8.7:1.9.3:2.0.0`
6
+ `rake cross native gem RUBY_CC_VERSION=1.8.7:1.9.3:2.0.0:2.1.5:2.2.0`
7
7
  end
8
8
 
9
9
  desc 'Release all gems (native, binaries for JRuby and Windows)'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: do_mysql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.14
4
+ version: 0.10.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dirkjan Bussink
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-13 00:00:00.000000000 Z
11
+ date: 2015-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: data_objects
@@ -16,40 +16,40 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.10.14
19
+ version: 0.10.15
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.10.14
26
+ version: 0.10.15
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2.5'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.5'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake-compiler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.7'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.7'
55
55
  description: Implements the DataObjects API for MySQL
@@ -112,17 +112,17 @@ require_paths:
112
112
  - lib
113
113
  required_ruby_version: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - ">="
120
+ - - '>='
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
124
  rubyforge_project: dorb
125
- rubygems_version: 2.2.0.preview.1
125
+ rubygems_version: 2.0.14
126
126
  signing_key:
127
127
  specification_version: 3
128
128
  summary: DataObjects MySQL Driver