mysql2 0.3.21 → 0.4.10

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -0
  3. data/README.md +132 -55
  4. data/examples/eventmachine.rb +1 -1
  5. data/examples/threaded.rb +4 -6
  6. data/ext/mysql2/client.c +314 -118
  7. data/ext/mysql2/client.h +13 -3
  8. data/ext/mysql2/extconf.rb +111 -44
  9. data/ext/mysql2/infile.c +2 -2
  10. data/ext/mysql2/mysql2_ext.c +1 -0
  11. data/ext/mysql2/mysql2_ext.h +5 -10
  12. data/ext/mysql2/mysql_enc_name_to_ruby.h +2 -2
  13. data/ext/mysql2/mysql_enc_to_ruby.h +25 -22
  14. data/ext/mysql2/result.c +489 -101
  15. data/ext/mysql2/result.h +12 -4
  16. data/ext/mysql2/statement.c +595 -0
  17. data/ext/mysql2/statement.h +19 -0
  18. data/lib/mysql2/client.rb +70 -27
  19. data/lib/mysql2/console.rb +1 -1
  20. data/lib/mysql2/em.rb +5 -6
  21. data/lib/mysql2/error.rb +17 -26
  22. data/lib/mysql2/field.rb +3 -0
  23. data/lib/mysql2/statement.rb +17 -0
  24. data/lib/mysql2/version.rb +1 -1
  25. data/lib/mysql2.rb +37 -35
  26. data/spec/configuration.yml.example +0 -6
  27. data/spec/em/em_spec.rb +22 -21
  28. data/spec/mysql2/client_spec.rb +484 -346
  29. data/spec/mysql2/error_spec.rb +38 -39
  30. data/spec/mysql2/result_spec.rb +256 -230
  31. data/spec/mysql2/statement_spec.rb +776 -0
  32. data/spec/spec_helper.rb +80 -59
  33. data/spec/ssl/ca-cert.pem +17 -0
  34. data/spec/ssl/ca-key.pem +27 -0
  35. data/spec/ssl/ca.cnf +22 -0
  36. data/spec/ssl/cert.cnf +22 -0
  37. data/spec/ssl/client-cert.pem +17 -0
  38. data/spec/ssl/client-key.pem +27 -0
  39. data/spec/ssl/client-req.pem +15 -0
  40. data/spec/ssl/gen_certs.sh +48 -0
  41. data/spec/ssl/pkcs8-client-key.pem +28 -0
  42. data/spec/ssl/pkcs8-server-key.pem +28 -0
  43. data/spec/ssl/server-cert.pem +17 -0
  44. data/spec/ssl/server-key.pem +27 -0
  45. data/spec/ssl/server-req.pem +15 -0
  46. data/support/5072E1F5.asc +432 -0
  47. data/support/mysql_enc_to_ruby.rb +7 -8
  48. data/support/ruby_enc_to_mysql.rb +1 -1
  49. metadata +50 -55
@@ -42,7 +42,7 @@ mysql_to_rb = {
42
42
  "binary" => "ASCII-8BIT",
43
43
  "geostd8" => "NULL",
44
44
  "cp932" => "Windows-31J",
45
- "eucjpms" => "eucJP-ms"
45
+ "eucjpms" => "eucJP-ms",
46
46
  }
47
47
 
48
48
  client = Mysql2::Client.new(:username => user, :password => pass, :host => host, :port => port.to_i)
@@ -53,7 +53,7 @@ encodings_with_nil = Array.new(encodings.size)
53
53
  collations.each do |collation|
54
54
  mysql_col_idx = collation[2].to_i
55
55
  rb_enc = mysql_to_rb[collation[1]]
56
- encodings[mysql_col_idx-1] = [mysql_col_idx, rb_enc]
56
+ encodings[mysql_col_idx - 1] = [mysql_col_idx, rb_enc]
57
57
  end
58
58
 
59
59
  encodings.each_with_index do |encoding, idx|
@@ -65,10 +65,10 @@ encodings_with_nil.sort! do |a, b|
65
65
  end
66
66
 
67
67
  encodings_with_nil = encodings_with_nil.map do |encoding|
68
- name = "NULL"
69
-
70
- if !encoding.nil? && encoding[1] != "NULL"
71
- name = "\"#{encoding[1]}\""
68
+ name = if encoding.nil? || encoding[1] == 'NULL'
69
+ 'NULL'
70
+ else
71
+ "\"#{encoding[1]}\""
72
72
  end
73
73
 
74
74
  " #{name}"
@@ -76,7 +76,6 @@ end
76
76
 
77
77
  # start printing output
78
78
 
79
- puts "const char *mysql2_mysql_enc_to_rb[] = {"
79
+ puts "static const char *mysql2_mysql_enc_to_rb[] = {"
80
80
  puts encodings_with_nil.join(",\n")
81
81
  puts "};"
82
- puts
@@ -37,7 +37,7 @@ mysql_to_rb = {
37
37
  "binary" => "ASCII-8BIT",
38
38
  "geostd8" => nil,
39
39
  "cp932" => "Windows-31J",
40
- "eucjpms" => "eucJP-ms"
40
+ "eucjpms" => "eucJP-ms",
41
41
  }
42
42
 
43
43
  puts <<-header
metadata CHANGED
@@ -1,66 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mysql2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.21
4
+ version: 0.4.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Lopez
8
+ - Aaron Stone
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-05-08 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake-compiler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: 0.9.5
20
- type: :development
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
34
- type: :development
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
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- version: 2.8.0
12
+ date: 2017-11-14 00:00:00.000000000 Z
13
+ dependencies: []
55
14
  description:
56
- email: seniorlopez@gmail.com
15
+ email:
16
+ - seniorlopez@gmail.com
17
+ - aaron@serendipity.cx
57
18
  executables: []
58
19
  extensions:
59
20
  - ext/mysql2/extconf.rb
60
21
  extra_rdoc_files: []
61
22
  files:
23
+ - CHANGELOG.md
62
24
  - LICENSE
63
25
  - README.md
26
+ - examples/eventmachine.rb
27
+ - examples/threaded.rb
64
28
  - ext/mysql2/client.c
65
29
  - ext/mysql2/client.h
66
30
  - ext/mysql2/extconf.rb
@@ -72,50 +36,67 @@ files:
72
36
  - ext/mysql2/mysql_enc_to_ruby.h
73
37
  - ext/mysql2/result.c
74
38
  - ext/mysql2/result.h
39
+ - ext/mysql2/statement.c
40
+ - ext/mysql2/statement.h
75
41
  - ext/mysql2/wait_for_single_fd.h
76
42
  - lib/mysql2.rb
77
43
  - lib/mysql2/client.rb
78
44
  - lib/mysql2/console.rb
79
45
  - lib/mysql2/em.rb
80
46
  - lib/mysql2/error.rb
47
+ - lib/mysql2/field.rb
81
48
  - lib/mysql2/result.rb
49
+ - lib/mysql2/statement.rb
82
50
  - lib/mysql2/version.rb
83
- - support/libmysql.def
84
- - support/mysql_enc_to_ruby.rb
85
- - support/ruby_enc_to_mysql.rb
86
- - examples/eventmachine.rb
87
- - examples/threaded.rb
88
51
  - spec/configuration.yml.example
89
52
  - spec/em/em_spec.rb
90
53
  - spec/my.cnf.example
91
54
  - spec/mysql2/client_spec.rb
92
55
  - spec/mysql2/error_spec.rb
93
56
  - spec/mysql2/result_spec.rb
57
+ - spec/mysql2/statement_spec.rb
94
58
  - spec/rcov.opts
95
59
  - spec/spec_helper.rb
60
+ - spec/ssl/ca-cert.pem
61
+ - spec/ssl/ca-key.pem
62
+ - spec/ssl/ca.cnf
63
+ - spec/ssl/cert.cnf
64
+ - spec/ssl/client-cert.pem
65
+ - spec/ssl/client-key.pem
66
+ - spec/ssl/client-req.pem
67
+ - spec/ssl/gen_certs.sh
68
+ - spec/ssl/pkcs8-client-key.pem
69
+ - spec/ssl/pkcs8-server-key.pem
70
+ - spec/ssl/server-cert.pem
71
+ - spec/ssl/server-key.pem
72
+ - spec/ssl/server-req.pem
96
73
  - spec/test_data
74
+ - support/5072E1F5.asc
75
+ - support/libmysql.def
76
+ - support/mysql_enc_to_ruby.rb
77
+ - support/ruby_enc_to_mysql.rb
97
78
  homepage: http://github.com/brianmario/mysql2
98
79
  licenses:
99
80
  - MIT
100
81
  metadata: {}
101
82
  post_install_message:
102
83
  rdoc_options:
103
- - --charset=UTF-8
84
+ - "--charset=UTF-8"
104
85
  require_paths:
105
86
  - lib
106
87
  required_ruby_version: !ruby/object:Gem::Requirement
107
88
  requirements:
108
- - - '>='
89
+ - - ">="
109
90
  - !ruby/object:Gem::Version
110
91
  version: '0'
111
92
  required_rubygems_version: !ruby/object:Gem::Requirement
112
93
  requirements:
113
- - - '>='
94
+ - - ">="
114
95
  - !ruby/object:Gem::Version
115
96
  version: '0'
116
97
  requirements: []
117
98
  rubyforge_project:
118
- rubygems_version: 2.0.14.1
99
+ rubygems_version: 2.5.2
119
100
  signing_key:
120
101
  specification_version: 4
121
102
  summary: A simple, fast Mysql library for Ruby, binding to libmysql
@@ -128,6 +109,20 @@ test_files:
128
109
  - spec/mysql2/client_spec.rb
129
110
  - spec/mysql2/error_spec.rb
130
111
  - spec/mysql2/result_spec.rb
112
+ - spec/mysql2/statement_spec.rb
131
113
  - spec/rcov.opts
132
114
  - spec/spec_helper.rb
115
+ - spec/ssl/ca-cert.pem
116
+ - spec/ssl/ca-key.pem
117
+ - spec/ssl/ca.cnf
118
+ - spec/ssl/cert.cnf
119
+ - spec/ssl/client-cert.pem
120
+ - spec/ssl/client-key.pem
121
+ - spec/ssl/client-req.pem
122
+ - spec/ssl/gen_certs.sh
123
+ - spec/ssl/pkcs8-client-key.pem
124
+ - spec/ssl/pkcs8-server-key.pem
125
+ - spec/ssl/server-cert.pem
126
+ - spec/ssl/server-key.pem
127
+ - spec/ssl/server-req.pem
133
128
  - spec/test_data