mysql2 0.4.8-x86-mingw32 → 0.4.9-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +12 -15
- data/ext/mysql2/client.c +2 -2
- data/ext/mysql2/extconf.rb +1 -0
- data/ext/mysql2/statement.c +10 -0
- data/lib/mysql2/1.8/mysql2.so +0 -0
- data/lib/mysql2/1.9/mysql2.so +0 -0
- data/lib/mysql2/2.0/mysql2.so +0 -0
- data/lib/mysql2/2.1/mysql2.so +0 -0
- data/lib/mysql2/2.2/mysql2.so +0 -0
- data/lib/mysql2/2.3/mysql2.so +0 -0
- data/lib/mysql2/version.rb +1 -1
- data/spec/mysql2/client_spec.rb +5 -0
- data/spec/mysql2/statement_spec.rb +6 -0
- data/vendor/libmysql.dll +0 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0dc4df8e0d5eabc07be3629e7ea55974dc55d00b
|
4
|
+
data.tar.gz: 8342fe084c6eadf82cb60d40683f38f97f2e9e1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5df93b82152b24624acb66313ec6e5c73e4f7605aa72650dba0fa2ff9c692fff614b7ff7f9db9d16969bd8d5961ac348beb11b9a8351780fa473b28089f72e79
|
7
|
+
data.tar.gz: d2dc456c0f90a90a2500f24dfb2f657de635116128bb1e15279f49f77280aed28c0f5d6bb997956f28633263f9a0134d7608de99a648042761bbed04090d9f62
|
data/README.md
CHANGED
@@ -213,21 +213,18 @@ Mysql2::Client.new(
|
|
213
213
|
)
|
214
214
|
```
|
215
215
|
|
216
|
-
### Connecting to localhost
|
217
|
-
|
218
|
-
The underlying MySQL client library
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
You can be explicit about using either a local socket or a TCP/IP connection,
|
229
|
-
and whether to use IPv4 or IPv6, by specifying a value other than "localhost"
|
230
|
-
for the `host` or `socket` connection options.
|
216
|
+
### Connecting to MySQL on localhost and elsewhere
|
217
|
+
|
218
|
+
The underlying MySQL client library uses the `:host` parameter to determine the
|
219
|
+
type of connection to make, with special interpretation you should be aware of:
|
220
|
+
|
221
|
+
* An empty value or `"localhost"` will attempt a local connection:
|
222
|
+
* On Unix, connect to the default local socket path. (To set a custom socket
|
223
|
+
path, use the `:socket` parameter).
|
224
|
+
* On Windows, connect using a shared-memory connection, if enabled, or TCP.
|
225
|
+
* A value of `"."` on Windows specifies a named-pipe connection.
|
226
|
+
* An IPv4 or IPv6 address will result in a TCP connection.
|
227
|
+
* Any other value will be looked up as a hostname for a TCP connection.
|
231
228
|
|
232
229
|
### SSL options
|
233
230
|
|
data/ext/mysql2/client.c
CHANGED
@@ -903,7 +903,7 @@ static VALUE _mysql_client_options(VALUE self, int opt, VALUE value) {
|
|
903
903
|
retval = charval;
|
904
904
|
break;
|
905
905
|
|
906
|
-
#ifdef
|
906
|
+
#ifdef HAVE_CONST_MYSQL_ENABLE_CLEARTEXT_PLUGIN
|
907
907
|
case MYSQL_ENABLE_CLEARTEXT_PLUGIN:
|
908
908
|
boolval = (value == Qfalse ? 0 : 1);
|
909
909
|
retval = &boolval;
|
@@ -1328,7 +1328,7 @@ static VALUE set_init_command(VALUE self, VALUE value) {
|
|
1328
1328
|
}
|
1329
1329
|
|
1330
1330
|
static VALUE set_enable_cleartext_plugin(VALUE self, VALUE value) {
|
1331
|
-
#ifdef
|
1331
|
+
#ifdef HAVE_CONST_MYSQL_ENABLE_CLEARTEXT_PLUGIN
|
1332
1332
|
return _mysql_client_options(self, MYSQL_ENABLE_CLEARTEXT_PLUGIN, value);
|
1333
1333
|
#else
|
1334
1334
|
rb_raise(cMysql2Error, "enable-cleartext-plugin is not available, you may need a newer MySQL client library");
|
data/ext/mysql2/extconf.rb
CHANGED
@@ -114,6 +114,7 @@ mysql_h = [prefix, 'mysql.h'].compact.join('/')
|
|
114
114
|
add_ssl_defines(mysql_h)
|
115
115
|
have_struct_member('MYSQL', 'net.vio', mysql_h)
|
116
116
|
have_struct_member('MYSQL', 'net.pvio', mysql_h)
|
117
|
+
have_const('MYSQL_ENABLE_CLEARTEXT_PLUGIN', mysql_h)
|
117
118
|
|
118
119
|
# This is our wishlist. We use whichever flags work on the host.
|
119
120
|
# -Wall and -Wextra are included by default.
|
data/ext/mysql2/statement.c
CHANGED
@@ -343,6 +343,16 @@ static VALUE execute(int argc, VALUE *argv, VALUE self) {
|
|
343
343
|
#endif
|
344
344
|
set_buffer_for_string(&bind_buffers[i], &length_buffers[i], params_enc[i]);
|
345
345
|
break;
|
346
|
+
case T_TRUE:
|
347
|
+
bind_buffers[i].buffer_type = MYSQL_TYPE_TINY;
|
348
|
+
bind_buffers[i].buffer = xmalloc(sizeof(signed char));
|
349
|
+
*(signed char*)(bind_buffers[i].buffer) = 1;
|
350
|
+
break;
|
351
|
+
case T_FALSE:
|
352
|
+
bind_buffers[i].buffer_type = MYSQL_TYPE_TINY;
|
353
|
+
bind_buffers[i].buffer = xmalloc(sizeof(signed char));
|
354
|
+
*(signed char*)(bind_buffers[i].buffer) = 0;
|
355
|
+
break;
|
346
356
|
default:
|
347
357
|
// TODO: what Ruby type should support MYSQL_TYPE_TIME
|
348
358
|
if (CLASS_OF(argv[i]) == rb_cTime || CLASS_OF(argv[i]) == cDateTime) {
|
data/lib/mysql2/1.8/mysql2.so
CHANGED
Binary file
|
data/lib/mysql2/1.9/mysql2.so
CHANGED
Binary file
|
data/lib/mysql2/2.0/mysql2.so
CHANGED
Binary file
|
data/lib/mysql2/2.1/mysql2.so
CHANGED
Binary file
|
data/lib/mysql2/2.2/mysql2.so
CHANGED
Binary file
|
data/lib/mysql2/2.3/mysql2.so
CHANGED
Binary file
|
data/lib/mysql2/version.rb
CHANGED
data/spec/mysql2/client_spec.rb
CHANGED
@@ -1026,6 +1026,11 @@ RSpec.describe Mysql2::Client do
|
|
1026
1026
|
expect(@client.ping).to eql(false)
|
1027
1027
|
end
|
1028
1028
|
|
1029
|
+
it "should be able to connect using plaintext password" do
|
1030
|
+
client = new_client(:enable_cleartext_plugin => true)
|
1031
|
+
client.query('SELECT 1')
|
1032
|
+
end
|
1033
|
+
|
1029
1034
|
unless RUBY_VERSION =~ /1.8/
|
1030
1035
|
it "should respond to #encoding" do
|
1031
1036
|
expect(@client).to respond_to(:encoding)
|
@@ -61,6 +61,12 @@ RSpec.describe Mysql2::Statement do
|
|
61
61
|
expect(rows).to eq([{ "1" => 1 }])
|
62
62
|
end
|
63
63
|
|
64
|
+
it "should handle booleans" do
|
65
|
+
stmt = @client.prepare('SELECT ? AS `true`, ? AS `false`')
|
66
|
+
result = stmt.execute(true, false)
|
67
|
+
expect(result.to_a).to eq(['true' => 1, 'false' => 0])
|
68
|
+
end
|
69
|
+
|
64
70
|
it "should handle bignum but in int64_t" do
|
65
71
|
stmt = @client.prepare('SELECT ? AS max, ? AS min')
|
66
72
|
int64_max = (1 << 63) - 1
|
data/vendor/libmysql.dll
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mysql2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Brian Lopez
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-08-11 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description:
|
15
15
|
email:
|
@@ -91,11 +91,11 @@ post_install_message: |2+
|
|
91
91
|
======================================================================================================
|
92
92
|
|
93
93
|
You've installed the binary version of mysql2.
|
94
|
-
It was built using MySQL Connector/C version 6.1.
|
94
|
+
It was built using MySQL Connector/C version 6.1.11.
|
95
95
|
It's recommended to use the exact same version to avoid potential issues.
|
96
96
|
|
97
97
|
At the time of building this gem, the necessary DLL files were retrieved from:
|
98
|
-
http://cdn.mysql.com/Downloads/Connector-C/mysql-connector-c-6.1.
|
98
|
+
http://cdn.mysql.com/Downloads/Connector-C/mysql-connector-c-6.1.11-win32.zip
|
99
99
|
|
100
100
|
This gem *includes* vendor/libmysql.dll with redistribution notice in vendor/README.
|
101
101
|
|