mysql2 0.3.11-x86-mingw32 → 0.3.18-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +280 -75
  3. data/ext/mysql2/client.c +721 -206
  4. data/ext/mysql2/client.h +26 -12
  5. data/ext/mysql2/extconf.rb +120 -16
  6. data/ext/mysql2/infile.c +122 -0
  7. data/ext/mysql2/infile.h +1 -0
  8. data/ext/mysql2/mysql2_ext.h +7 -4
  9. data/ext/mysql2/mysql_enc_name_to_ruby.h +168 -0
  10. data/ext/mysql2/mysql_enc_to_ruby.h +246 -0
  11. data/ext/mysql2/result.c +230 -112
  12. data/ext/mysql2/result.h +4 -1
  13. data/lib/mysql2.rb +46 -3
  14. data/lib/mysql2/1.8/mysql2.so +0 -0
  15. data/lib/mysql2/1.9/mysql2.so +0 -0
  16. data/lib/mysql2/2.0/mysql2.so +0 -0
  17. data/lib/mysql2/2.1/mysql2.so +0 -0
  18. data/lib/mysql2/client.rb +48 -200
  19. data/lib/mysql2/console.rb +5 -0
  20. data/lib/mysql2/em.rb +22 -3
  21. data/lib/mysql2/error.rb +71 -6
  22. data/lib/mysql2/mysql2.rb +2 -0
  23. data/lib/mysql2/version.rb +1 -1
  24. data/spec/configuration.yml.example +17 -0
  25. data/spec/em/em_spec.rb +90 -5
  26. data/spec/my.cnf.example +9 -0
  27. data/spec/mysql2/client_spec.rb +501 -69
  28. data/spec/mysql2/error_spec.rb +58 -44
  29. data/spec/mysql2/result_spec.rb +191 -74
  30. data/spec/spec_helper.rb +23 -3
  31. data/spec/test_data +1 -0
  32. data/support/libmysql.def +219 -0
  33. data/support/mysql_enc_to_ruby.rb +82 -0
  34. data/support/ruby_enc_to_mysql.rb +61 -0
  35. data/vendor/README +654 -0
  36. data/vendor/libmysql.dll +0 -0
  37. metadata +86 -221
  38. data/.gitignore +0 -12
  39. data/.rspec +0 -3
  40. data/.rvmrc +0 -1
  41. data/.travis.yml +0 -7
  42. data/CHANGELOG.md +0 -244
  43. data/Gemfile +0 -3
  44. data/MIT-LICENSE +0 -20
  45. data/Rakefile +0 -5
  46. data/benchmark/active_record.rb +0 -51
  47. data/benchmark/active_record_threaded.rb +0 -42
  48. data/benchmark/allocations.rb +0 -33
  49. data/benchmark/escape.rb +0 -36
  50. data/benchmark/query_with_mysql_casting.rb +0 -80
  51. data/benchmark/query_without_mysql_casting.rb +0 -56
  52. data/benchmark/sequel.rb +0 -37
  53. data/benchmark/setup_db.rb +0 -119
  54. data/benchmark/threaded.rb +0 -44
  55. data/mysql2.gemspec +0 -29
  56. data/tasks/benchmarks.rake +0 -20
  57. data/tasks/compile.rake +0 -71
  58. data/tasks/rspec.rake +0 -16
  59. data/tasks/vendor_mysql.rake +0 -40
Binary file
metadata CHANGED
@@ -1,278 +1,143 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mysql2
3
- version: !ruby/object:Gem::Version
4
- hash: 5
5
- prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 11
10
- segments_generated: true
11
- version: 0.3.11
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.18
12
5
  platform: x86-mingw32
13
- authors:
6
+ authors:
14
7
  - Brian Lopez
15
8
  autorequire:
16
9
  bindir: bin
17
10
  cert_chain: []
18
-
19
- date: 2011-12-06 00:00:00 -08:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
23
- name: eventmachine
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- segments_generated: true
33
- version: "0"
34
- prerelease: false
35
- type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
11
+ date: 2015-02-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
38
14
  name: rake-compiler
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
42
17
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 13
45
- segments:
46
- - 0
47
- - 7
48
- - 7
49
- segments_generated: true
50
- version: 0.7.7
51
- prerelease: false
52
- type: :development
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
55
- name: rake
56
- requirement: &id003 !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - "="
60
- - !ruby/object:Gem::Version
61
- hash: 49
62
- segments:
63
- - 0
64
- - 8
65
- - 7
66
- segments_generated: true
67
- version: 0.8.7
68
- prerelease: false
69
- type: :development
70
- version_requirements: *id003
71
- - !ruby/object:Gem::Dependency
72
- name: rspec
73
- requirement: &id004 !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- hash: 3
79
- segments:
80
- - 0
81
- segments_generated: true
82
- version: "0"
83
- prerelease: false
84
- type: :development
85
- version_requirements: *id004
86
- - !ruby/object:Gem::Dependency
87
- name: activerecord
88
- requirement: &id005 !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- hash: 3
94
- segments:
95
- - 0
96
- segments_generated: true
97
- version: "0"
98
- prerelease: false
18
+ - !ruby/object:Gem::Version
19
+ version: 0.9.5
99
20
  type: :development
100
- version_requirements: *id005
101
- - !ruby/object:Gem::Dependency
102
- name: mysql
103
- requirement: &id006 !ruby/object:Gem::Requirement
104
- none: false
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- hash: 3
109
- segments:
110
- - 0
111
- segments_generated: true
112
- version: "0"
113
- prerelease: false
114
- type: :development
115
- version_requirements: *id006
116
- - !ruby/object:Gem::Dependency
117
- name: do_mysql
118
- requirement: &id007 !ruby/object:Gem::Requirement
119
- none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- hash: 3
124
- segments:
125
- - 0
126
- segments_generated: true
127
- version: "0"
128
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 0.9.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.9.3
129
34
  type: :development
130
- version_requirements: *id007
131
- - !ruby/object:Gem::Dependency
132
- name: sequel
133
- requirement: &id008 !ruby/object:Gem::Requirement
134
- none: false
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- hash: 3
139
- segments:
140
- - 0
141
- segments_generated: true
142
- version: "0"
143
35
  prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.9.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.8.0
144
48
  type: :development
145
- version_requirements: *id008
146
- - !ruby/object:Gem::Dependency
147
- name: faker
148
- requirement: &id009 !ruby/object:Gem::Requirement
149
- none: false
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- hash: 3
154
- segments:
155
- - 0
156
- segments_generated: true
157
- version: "0"
158
49
  prerelease: false
159
- type: :development
160
- version_requirements: *id009
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.8.0
161
55
  description:
162
56
  email: seniorlopez@gmail.com
163
57
  executables: []
164
-
165
58
  extensions: []
166
-
167
59
  extra_rdoc_files: []
168
-
169
- files:
170
- - .gitignore
171
- - .rspec
172
- - .rvmrc
173
- - .travis.yml
174
- - CHANGELOG.md
175
- - Gemfile
176
- - MIT-LICENSE
60
+ files:
177
61
  - README.md
178
- - Rakefile
179
- - benchmark/active_record.rb
180
- - benchmark/active_record_threaded.rb
181
- - benchmark/allocations.rb
182
- - benchmark/escape.rb
183
- - benchmark/query_with_mysql_casting.rb
184
- - benchmark/query_without_mysql_casting.rb
185
- - benchmark/sequel.rb
186
- - benchmark/setup_db.rb
187
- - benchmark/threaded.rb
188
62
  - examples/eventmachine.rb
189
63
  - examples/threaded.rb
190
64
  - ext/mysql2/client.c
191
65
  - ext/mysql2/client.h
192
66
  - ext/mysql2/extconf.rb
67
+ - ext/mysql2/infile.c
68
+ - ext/mysql2/infile.h
193
69
  - ext/mysql2/mysql2_ext.c
194
70
  - ext/mysql2/mysql2_ext.h
71
+ - ext/mysql2/mysql_enc_name_to_ruby.h
72
+ - ext/mysql2/mysql_enc_to_ruby.h
195
73
  - ext/mysql2/result.c
196
74
  - ext/mysql2/result.h
197
75
  - ext/mysql2/wait_for_single_fd.h
198
76
  - lib/mysql2.rb
77
+ - lib/mysql2/1.8/mysql2.so
78
+ - lib/mysql2/1.9/mysql2.so
79
+ - lib/mysql2/2.0/mysql2.so
80
+ - lib/mysql2/2.1/mysql2.so
199
81
  - lib/mysql2/client.rb
82
+ - lib/mysql2/console.rb
200
83
  - lib/mysql2/em.rb
201
84
  - lib/mysql2/error.rb
85
+ - lib/mysql2/mysql2.rb
202
86
  - lib/mysql2/result.rb
203
87
  - lib/mysql2/version.rb
204
- - mysql2.gemspec
88
+ - spec/configuration.yml.example
205
89
  - spec/em/em_spec.rb
90
+ - spec/my.cnf.example
206
91
  - spec/mysql2/client_spec.rb
207
92
  - spec/mysql2/error_spec.rb
208
93
  - spec/mysql2/result_spec.rb
209
94
  - spec/rcov.opts
210
95
  - spec/spec_helper.rb
211
- - tasks/benchmarks.rake
212
- - tasks/compile.rake
213
- - tasks/rspec.rake
214
- - tasks/vendor_mysql.rake
215
- - lib/mysql2/1.8/mysql2.so
216
- - lib/mysql2/1.9/mysql2.so
217
- - lib/mysql2/mysql2.rb
218
- has_rdoc: true
96
+ - spec/test_data
97
+ - support/libmysql.def
98
+ - support/mysql_enc_to_ruby.rb
99
+ - support/ruby_enc_to_mysql.rb
100
+ - vendor/README
101
+ - vendor/libmysql.dll
219
102
  homepage: http://github.com/brianmario/mysql2
220
- licenses: []
221
-
222
- post_install_message: |+
223
-
224
- ======================================================================================================
225
-
226
- You've installed the binary version of mysql2.
227
- It was built using MySQL Connector/C version 6.0.2.
228
- It's recommended to use the exact same version to avoid potential issues.
229
-
230
- At the time of building this gem, the necessary DLL files where available
231
- in the following download:
232
-
233
- http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip/from/pick
234
-
235
- And put lib\libmysql.dll file in your Ruby bin directory, for example C:\Ruby\bin
236
-
237
- ======================================================================================================
238
-
239
- rdoc_options:
103
+ licenses:
104
+ - MIT
105
+ metadata: {}
106
+ post_install_message: ! "\n======================================================================================================\n\n
107
+ \ You've installed the binary version of mysql2.\n It was built using MySQL Connector/C
108
+ version 6.1.5.\n It's recommended to use the exact same version to avoid potential
109
+ issues.\n\n At the time of building this gem, the necessary DLL files were retrieved
110
+ from:\n http://cdn.mysql.com/Downloads/Connector-C/mysql-connector-c-6.1.5-win32.zip\n\n
111
+ \ This gem *includes* vendor/libmysql.dll with redistribution notice in vendor/README.\n\n======================================================================================================\n\n"
112
+ rdoc_options:
240
113
  - --charset=UTF-8
241
- require_paths:
114
+ require_paths:
242
115
  - lib
243
- required_ruby_version: !ruby/object:Gem::Requirement
244
- none: false
245
- requirements:
246
- - - ">="
247
- - !ruby/object:Gem::Version
248
- hash: 3
249
- segments:
250
- - 0
251
- segments_generated: true
252
- version: "0"
253
- required_rubygems_version: !ruby/object:Gem::Requirement
254
- none: false
255
- requirements:
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- hash: 3
259
- segments:
260
- - 0
261
- segments_generated: true
262
- version: "0"
116
+ required_ruby_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ required_rubygems_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
263
126
  requirements: []
264
-
265
127
  rubyforge_project:
266
- rubygems_version: 1.3.9.3
128
+ rubygems_version: 2.4.4
267
129
  signing_key:
268
- specification_version: 3
130
+ specification_version: 4
269
131
  summary: A simple, fast Mysql library for Ruby, binding to libmysql
270
- test_files:
132
+ test_files:
271
133
  - examples/eventmachine.rb
272
134
  - examples/threaded.rb
135
+ - spec/configuration.yml.example
273
136
  - spec/em/em_spec.rb
137
+ - spec/my.cnf.example
274
138
  - spec/mysql2/client_spec.rb
275
139
  - spec/mysql2/error_spec.rb
276
140
  - spec/mysql2/result_spec.rb
277
141
  - spec/rcov.opts
278
142
  - spec/spec_helper.rb
143
+ - spec/test_data
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- Makefile
2
- *.dSYM
3
- *.o
4
- *.bundle
5
- *.so
6
- *.a
7
- *.rbc
8
- mkmf.log
9
- pkg/
10
- tmp
11
- vendor
12
- lib/mysql2/mysql2.rb
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --colour
3
- --fail-fast
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm use 1.9.3@mysql2 --create
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- rvm:
2
- - 1.8.7
3
- - 1.9.2
4
- - 1.9.3
5
- - ree
6
- before_script:
7
- - "mysql -e 'create database test;' >/dev/null"
data/CHANGELOG.md DELETED
@@ -1,244 +0,0 @@
1
- # Changelog
2
-
3
- ## 0.3.11 (December 6th, 2011)
4
- * change mysql error detection strategy from using mysql_field_count to the more explicit mysql_errno
5
- * bugfix to avoid race condition with active connections that error out
6
- * revert back to using xmalloc/xfree for allocations
7
- * avoid potentially unsafe Ruby C API usage w/o GVL
8
- * reacquire GVL before retrying on EINTR on connect
9
-
10
- ## 0.3.10 (November 9th, 2011)
11
-
12
- ## 0.3.9 (November 9th, 2011)
13
-
14
- ## 0.3.8 (November 9th, 2011)
15
- * remove fiber support from mysql2, the code has moved to the
16
- em-synchrony gem.
17
- * use rb_wait_for_single_fd() if available
18
- * fixed a bug with inheriting query options
19
- * remove ext/ from the default loadpath
20
- * fix build issues on OSX with Xcode 4.2 (gcc-llvm compiler)
21
-
22
- ## 0.3.7 (August 16th, 2011)
23
- * ensure symbolized column names support encodings in 1.9
24
-
25
- ## 0.3.6 (June 17th, 2011)
26
- * fix bug in Time/DateTime range detection
27
- * (win32) fix bug where the Mysql2::Client object wasn't cleaned up properly if interrupted during a query
28
- * add Mysql2::Result#count (aliased as size) to get the row count for the dataset
29
- this can be especially helpful if you want to get the number of rows without having to inflate
30
- the entire dataset into ruby (since this happens lazily)
31
-
32
- ## 0.3.5 (June 15th, 2011)
33
- * bug fix for Time/DateTime usage depending on 32/64bit Ruby
34
-
35
- ## 0.3.4 (June 15th, 2011)
36
- * fix a long standing bug where a signal would interrupt rb_thread_select and put the connection in a permanently broken state
37
- * turn on casting in the ActiveRecord again, users can disable it if they need to for performance reasons
38
-
39
- ## 0.3.3 (June 14th, 2011)
40
- * disable async support, and access to the underlying file descriptor under Windows. It's never worked reliably and ruby-core has a lot of work to do in order to make it possible.
41
- * added support for turning eager-casting off. This is especially useful in ORMs that will lazily cast values upon access.
42
- * added a warning if a 0.2.x release is being used with ActiveRecord 3.1 since both the 0.2.x releases and AR 3.1 have mysql2 adapters, we want you to use the one in AR 3.1
43
- * added Mysql2::Client.escape (class-level method)
44
- * disabled eager-casting in the bundled ActiveRecord adapter (for Rails 3.0 or less)
45
-
46
- ## 0.3.2 (April 26th, 2011)
47
- * Fix typo in initialization for older ActiveRecord versions
48
-
49
- ## 0.3.1 (April 26th, 2011)
50
- * Fix typo in initialization for older ActiveRecord versions
51
-
52
- ## 0.3.0 (April 26th, 2011)
53
- * switch to MySQL Connector/C for win32 builds
54
- * win32 bugfixes
55
- * BREAKING CHANGE: the ActiveRecord adapter has been pulled into Rails 3.1 and is no longer part of the gem
56
- * added Mysql2::Client.escape (class-level) for raw one-off non-encoding-aware escaping
57
-
58
- ## 0.2.18 (December 6th, 2011)
59
- * change mysql error detection strategy from using mysql_field_count to the more explicit mysql_errno
60
- * bugfix to avoid race condition with active connections that error out
61
- * revert back to using xmalloc/xfree for allocations
62
- * avoid potentially unsafe Ruby C API usage w/o GVL
63
- * reacquire GVL before retrying on EINTR on connect
64
-
65
- ## 0.2.17 (November 9th, 2011)
66
-
67
- ## 0.2.16 (November 9th, 2011)
68
-
69
- ## 0.2.15 (November 9th, 2011)
70
-
71
- ## 0.2.14 (November 9th, 2011)
72
- * use rb_wait_for_single_fd() if available
73
- * fixed a bug with inheriting query options
74
- * remove ext/ from the default loadpath
75
- * fix build issues on OSX with Xcode 4.2 (gcc-llvm compiler)
76
-
77
- ## 0.2.13 (August 16th, 2011)
78
- * fix stupid bug around symbol encoding support (thanks coderrr!)
79
-
80
- ## 0.2.12 (August 16th, 2011)
81
- * ensure symbolized column names support encodings in 1.9
82
- * plugging sql vulnerability in mysql2 adapter
83
-
84
- ## 0.2.11 (June 17th, 2011)
85
- * fix bug in Time/DateTime range detection
86
- * (win32) fix bug where the Mysql2::Client object wasn't cleaned up properly if interrupted during a query
87
- * add Mysql2::Result#count (aliased as size) to get the row count for the dataset
88
- this can be especially helpful if you want to get the number of rows without having to inflate
89
- the entire dataset into ruby (since this happens lazily)
90
-
91
- ## 0.2.10 (June 15th, 2011)
92
- * bug fix for Time/DateTime usage depending on 32/64bit Ruby
93
-
94
- ## 0.2.9 (June 15th, 2011)
95
- * fix a long standing bug where a signal would interrupt rb_thread_select and put the connection in a permanently broken state
96
- * turn on casting in the ActiveRecord again, users can disable it if they need to for performance reasons
97
-
98
- ## 0.2.8 (June 14th, 2011)
99
- * disable async support, and access to the underlying file descriptor under Windows. It's never worked reliably and ruby-core has a lot of work to do in order to make it possible.
100
- * added support for turning eager-casting off. This is especially useful in ORMs that will lazily cast values upon access.
101
- * added a warning if a 0.2.x release is being used with ActiveRecord 3.1 since both the 0.2.x releases and AR 3.1 have mysql2 adapters, we want you to use the one in AR 3.1
102
- * added Mysql2::Client.escape (class-level method)
103
- * disabled eager-casting in the bundled ActiveRecord adapter (for Rails 3.0 or less)
104
-
105
- ## 0.2.7 (March 28th, 2011)
106
- * various fixes for em_mysql2 and fiber usage
107
- * use our own Mysql2IndexDefinition class for better compatibility across ActiveRecord versions
108
- * ensure the query is a string earlier in the Mysql2::Client#query codepath for 1.9
109
- * only set binary ruby encoding on fields that have a binary flag *and* encoding set
110
- * a few various optimizations
111
- * add support for :read_timeout to be set on a connection
112
- * Fix to install with MariDB on Windows
113
- * add fibered em connection without activerecord
114
- * fix some 1.9.3 compilation warnings
115
- * add LD_RUN_PATH when using hard coded mysql paths - this should help users with MySQL installed in non-standard locations
116
- * for windows support, duplicate the socket from libmysql and create a temporary CRT fd
117
- * fix for handling years before 1970 on Windows
118
- * fixes to the Fiber adapter
119
- * set wait_timeout maximum on Windows to 2147483
120
- * update supported range for Time objects
121
- * upon being required, make sure the libmysql we're using is the one we were built against
122
- * add Mysql2::Client#thread_id
123
- * add Mysql2::Client#ping
124
- * switch connection check in AR adapter to use Mysql2::Client#ping for efficiency
125
- * prefer linking against thread-safe version of libmysqlclient
126
- * define RSTRING_NOT_MODIFIED for an awesome rbx speed boost
127
- * expose Mysql2::Client#encoding in 1.9, make sure we set the error message and sqlstate encodings accordingly
128
- * do not segfault when raising for invalid charset (found in 1.9.3dev)
129
-
130
- ## 0.2.6 (October 19th, 2010)
131
- * version bump since the 0.2.5 win32 binary gems were broken
132
-
133
- ## 0.2.5 (October 19th, 2010)
134
- * fixes for easier Win32 binary gem deployment for targeting 1.8 and 1.9 in the same gem
135
- * refactor of connection checks and management to avoid race conditions with the GC/threading to prevent the unexpected loss of connections
136
- * update the default flags during connection
137
- * add support for setting wait_timeout on AR adapter
138
- * upgrade to rspec2
139
- * bugfix for an edge case where the GC would clean up a Mysql2::Client object before the underlying MYSQL pointer had been initialized
140
- * fix to CFLAGS to allow compilation on SPARC with sunstudio compiler - Anko painting <anko.com+github@gmail.com>
141
-
142
- ## 0.2.4 (September 17th, 2010)
143
- * a few patches for win32 support from Luis Lavena - thanks man!
144
- * bugfix from Eric Wong to avoid a potential stack overflow during Mysql2::Client#escape
145
- * added the ability to turn internal row caching on/off via the :cache_rows => true/false option
146
- * a couple of small patches for rbx compatibility
147
- * set IndexDefinition#length in AR adapter - Kouhei Yanagita <yanagi@shakenbu.org>
148
- * fix a long-standing data corruption bug - thank you thank you thank you to @joedamato (http://github.com/ice799)
149
- * bugfix from calling mysql_close on a closed/freed connection surfaced by the above fix
150
-
151
- ## 0.2.3 (August 20th, 2010)
152
- * connection flags can now be passed to the constructor via the :flags key
153
- * switch AR adapter connection over to use FOUND_ROWS option
154
- * patch to ensure we use DateTime objects in place of Time for timestamps that are out of the supported range on 32bit platforms < 1.9.2
155
-
156
- ## 0.2.2 (August 19th, 2010)
157
- * Change how AR adapter would send initial commands upon connecting
158
- ** we can make multiple session variable assignments in a single query
159
- * fix signal handling when waiting on queries
160
- * retry connect if interrupted by signals
161
-
162
- ## 0.2.1 (August 16th, 2010)
163
- * bring mysql2 ActiveRecord adapter back into gem
164
-
165
- ## 0.2.0 (August 16th, 2010)
166
- * switch back to letting libmysql manage all allocation/thread-state/freeing for the connection
167
- * cache various numeric type conversions in hot-spots of the code for a little speed boost
168
- * ActiveRecord adapter moved into Rails 3 core
169
- ** Don't worry 2.3.x users! We'll either release the adapter as a separate gem, or try to get it into 2.3.9
170
- * Fix for the "closed MySQL connection" error (GH #31)
171
- * Fix for the "can't modify frozen object" error in 1.9.2 (GH #37)
172
- * Introduce cascading query and result options (more info in README)
173
- * Sequel adapter pulled into core (will be in the next release - 3.15.0 at the time of writing)
174
- * add a safety check when attempting to send a query before a result has been fetched
175
-
176
- ## 0.1.9 (July 17th, 2010)
177
- * Support async ActiveRecord access with fibers and EventMachine (mperham)
178
- * string encoding support for 1.9, respecting Encoding.default_internal
179
- * added support for rake-compiler (tenderlove)
180
- * bugfixes for ActiveRecord driver
181
- ** one minor bugfix for TimeZone support
182
- ** fix the select_rows method to return what it should according to the docs (r-stu31)
183
- * Mysql2::Client#fields method added - returns the array of field names from a resultset, as strings
184
- * Sequel adapter
185
- ** bugfix regarding sybolized field names (Eric Wong)
186
- ** fix query logging in Sequel adapter
187
- * Lots of nice code cleanup (tenderlove)
188
- ** Mysql2::Error definition moved to pure-Ruby
189
- ** Mysql2::client#initialize definition moved to pure-Ruby
190
- ** Mysql2::Result partially moved to pure-Ruby
191
-
192
- ## 0.1.8 (June 2nd, 2010)
193
- * fixes for AR adapter for timezone juggling
194
- * fixes to be able to run benchmarks and specs under 1.9.2
195
-
196
- ## 0.1.7 (May 22nd, 2010)
197
- * fix a bug when using the disconnect! method on a closed connection in the AR driver
198
-
199
- ## 0.1.6 (May 14th, 2010)
200
- * more fixes to the AR adapter related to casting
201
- * add missing index creation override method to AR adapter
202
- * added sql_state and error_number methods to the Mysql2::Error exception class
203
-
204
- ## 0.1.5 (May 12th, 2010)
205
- * quite a few patches from Eric Wong related to thread-safety, non-blocking I/O and general cleanup
206
- ** wrap mysql_real_connect with rb_thread_blocking_region
207
- ** release GVL for possibly blocking mysql_* library calls
208
- ** [cleanup] quiet down warnings
209
- ** [cleanup] make all C symbols static
210
- ** add Mysql2::Client#close method
211
- ** correctly free the wrapped result in case of EOF
212
- ** Fix memory leak from the result wrapper struct itself
213
- ** make Mysql2::Client destructor safely non-blocking
214
- * bug fixes for ActiveRecord adapter
215
- ** added casting for default values since they all come back from Mysql as strings (!?!)
216
- ** missing constant was added
217
- ** fixed a typo in the show_variable method
218
- * switched over sscanf for date/time parsing in C
219
- * made some specs a little finer-grained
220
- * initial Sequel adapter added
221
- * updated query benchmarks to reflect the difference between casting in C and in Ruby
222
-
223
- ## 0.1.4 (April 23rd, 2010)
224
- * optimization: implemented a local cache for rows that are lazily created in ruby during iteration. The MySQL C result is freed as soon as all the results have been cached
225
- * optimization: implemented a local cache for field names so every row reuses the same objects as field names/keys
226
- * refactor the Mysql2 connection adapter for ActiveRecord to not extend the Mysql adapter - now being a free-standing connection adapter
227
-
228
- ## 0.1.3 (April 15th, 2010)
229
- * added an EventMachine Deferrable API
230
- * added an ActiveRecord connection adapter
231
- ** should be compatible with 2.3.5 and 3.0 (including Arel)
232
-
233
- ## 0.1.2 (April 9th, 2010)
234
- * fix a bug (copy/paste fail) around checking for empty TIME values and returning nil (thanks @marius)
235
-
236
- ## 0.1.1 (April 6th, 2010)
237
- * added affected_rows method (mysql_affected_rows)
238
- * added last_id method (last_insert_id)
239
- * enable reconnect option by default
240
- * added initial async query support
241
- * updated extconf (thanks to the mysqlplus project) for easier gem building
242
-
243
- ## 0.1.0 (April 6th, 2010)
244
- * initial release