gloo-mysql 1.1 → 1.2
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 +4 -4
- data/lib/mysql.rb +45 -49
- metadata +83 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1a1b5f86ddb44b51299e14599208fb5276529e7675e47decdee1d7572ce28745
|
|
4
|
+
data.tar.gz: 3589a40a1974de5cc576471bfbe5e73008b887157a851f9cde8ee834ed9ce224
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4778f6a9ec72070177b2059267d8421998c7b11f181594211ac9f49daa3c6b2ec2fa2f8105050ea615e285a416f52d317cc3d2017fafedbff36e38285944f990
|
|
7
|
+
data.tar.gz: 18bd34ada82a4fffb813066d3384f7d04f26010c2ddd3e7a149d048bec5423ac92d297162090538276221380131bf8123c62398eb45c57b7ef0f4e96673b9542
|
data/lib/mysql.rb
CHANGED
|
@@ -17,9 +17,13 @@
|
|
|
17
17
|
# flags = opts[:flags] || 0
|
|
18
18
|
#
|
|
19
19
|
require 'mysql2'
|
|
20
|
+
require 'db_connection'
|
|
20
21
|
|
|
21
22
|
class Mysql < Gloo::Core::Obj
|
|
22
23
|
|
|
24
|
+
# Shared driver behaviour from gloo-db: errors, verify, setup problems.
|
|
25
|
+
include DbConnection
|
|
26
|
+
|
|
23
27
|
KEYWORD = 'mysql'.freeze
|
|
24
28
|
KEYWORD_SHORT = 'mysql'.freeze
|
|
25
29
|
|
|
@@ -80,12 +84,22 @@ class Mysql < Gloo::Core::Obj
|
|
|
80
84
|
end
|
|
81
85
|
|
|
82
86
|
#
|
|
83
|
-
#
|
|
87
|
+
# Verify that the database connection can be established.
|
|
88
|
+
# It is true if it can, false if not (with the reason in the error).
|
|
84
89
|
#
|
|
85
90
|
def msg_verify
|
|
86
|
-
|
|
91
|
+
verify_connection do
|
|
92
|
+
client = Mysql2::Client.new( connection_params )
|
|
93
|
+
client.close
|
|
94
|
+
end
|
|
95
|
+
end
|
|
87
96
|
|
|
88
|
-
|
|
97
|
+
#
|
|
98
|
+
# The exception classes that are database errors (DbConnection):
|
|
99
|
+
# Query reports these as 'Query failed: …'.
|
|
100
|
+
#
|
|
101
|
+
def database_errors
|
|
102
|
+
return [ Mysql2::Error ]
|
|
89
103
|
end
|
|
90
104
|
|
|
91
105
|
|
|
@@ -112,13 +126,7 @@ class Mysql < Gloo::Core::Obj
|
|
|
112
126
|
@engine.log.debug "Opening a new Connection."
|
|
113
127
|
end
|
|
114
128
|
|
|
115
|
-
|
|
116
|
-
host: host_value,
|
|
117
|
-
database: db_value,
|
|
118
|
-
username: user_value,
|
|
119
|
-
password: passwd_value
|
|
120
|
-
}
|
|
121
|
-
client = Mysql2::Client.new( h )
|
|
129
|
+
client = Mysql2::Client.new( connection_params )
|
|
122
130
|
|
|
123
131
|
app.cache_db_client( self, client ) if app
|
|
124
132
|
|
|
@@ -134,33 +142,30 @@ class Mysql < Gloo::Core::Obj
|
|
|
134
142
|
|
|
135
143
|
heads = []
|
|
136
144
|
data = []
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
end
|
|
147
|
-
data << arr
|
|
145
|
+
# Database errors come out as exceptions, for Query to report.
|
|
146
|
+
if params
|
|
147
|
+
pst = client.prepare( sql )
|
|
148
|
+
rs = pst.execute( *params, :as => :array )
|
|
149
|
+
if rs
|
|
150
|
+
rs.each do |row|
|
|
151
|
+
arr = []
|
|
152
|
+
row.each do |o|
|
|
153
|
+
arr << o
|
|
148
154
|
end
|
|
155
|
+
data << arr
|
|
149
156
|
end
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
157
|
+
end
|
|
158
|
+
else
|
|
159
|
+
rs = client.query( sql, :as => :array )
|
|
160
|
+
if rs
|
|
161
|
+
rs.each do |row|
|
|
162
|
+
data << row
|
|
156
163
|
end
|
|
157
164
|
end
|
|
158
|
-
|
|
159
|
-
heads = rs.fields if rs
|
|
160
|
-
rescue => e
|
|
161
|
-
@engine.log_exception e
|
|
162
165
|
end
|
|
163
166
|
|
|
167
|
+
heads = rs.fields if rs
|
|
168
|
+
|
|
164
169
|
return [ heads, data ]
|
|
165
170
|
end
|
|
166
171
|
|
|
@@ -227,24 +232,15 @@ class Mysql < Gloo::Core::Obj
|
|
|
227
232
|
end
|
|
228
233
|
|
|
229
234
|
#
|
|
230
|
-
#
|
|
231
|
-
# Returns true if we can establish a connection.
|
|
235
|
+
# The settings for a connection, from the children.
|
|
232
236
|
#
|
|
233
|
-
def
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
Mysql2::Client.new( h )
|
|
242
|
-
rescue => e
|
|
243
|
-
@engine.log_exception e
|
|
244
|
-
@engine.heap.it.set_to false
|
|
245
|
-
return false
|
|
246
|
-
end
|
|
247
|
-
return true
|
|
237
|
+
def connection_params
|
|
238
|
+
return {
|
|
239
|
+
host: host_value,
|
|
240
|
+
database: db_value,
|
|
241
|
+
username: user_value,
|
|
242
|
+
password: passwd_value
|
|
243
|
+
}
|
|
248
244
|
end
|
|
249
245
|
|
|
250
246
|
# ---------------------------------------------------------------------
|
|
@@ -266,7 +262,7 @@ class Mysql < Gloo::Core::Obj
|
|
|
266
262
|
"password (string) — The user's password."
|
|
267
263
|
],
|
|
268
264
|
:messages => [
|
|
269
|
-
'verify — Verify that the database connection can be established.'
|
|
265
|
+
'verify — Verify that the database connection can be established. It is true if it can, false if not (with the reason in the error).'
|
|
270
266
|
],
|
|
271
267
|
:examples => <<~EXAMPLES.strip
|
|
272
268
|
mysql [can] :
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gloo-mysql
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '1.
|
|
4
|
+
version: '1.2'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Crane
|
|
@@ -29,6 +29,88 @@ dependencies:
|
|
|
29
29
|
- - ">="
|
|
30
30
|
- !ruby/object:Gem::Version
|
|
31
31
|
version: 0.5.3
|
|
32
|
+
- !ruby/object:Gem::Dependency
|
|
33
|
+
name: gloo
|
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
|
35
|
+
requirements:
|
|
36
|
+
- - ">="
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: '7.0'
|
|
39
|
+
type: :runtime
|
|
40
|
+
prerelease: false
|
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
42
|
+
requirements:
|
|
43
|
+
- - ">="
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '7.0'
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: gloo-db
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
requirements:
|
|
50
|
+
- - ">="
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: '1.3'
|
|
53
|
+
type: :runtime
|
|
54
|
+
prerelease: false
|
|
55
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
56
|
+
requirements:
|
|
57
|
+
- - ">="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: '1.3'
|
|
60
|
+
- !ruby/object:Gem::Dependency
|
|
61
|
+
name: bundler
|
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
|
63
|
+
requirements:
|
|
64
|
+
- - ">="
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: '0'
|
|
67
|
+
type: :development
|
|
68
|
+
prerelease: false
|
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - ">="
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: '0'
|
|
74
|
+
- !ruby/object:Gem::Dependency
|
|
75
|
+
name: minitest
|
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
|
77
|
+
requirements:
|
|
78
|
+
- - "~>"
|
|
79
|
+
- !ruby/object:Gem::Version
|
|
80
|
+
version: '5.1'
|
|
81
|
+
- - ">="
|
|
82
|
+
- !ruby/object:Gem::Version
|
|
83
|
+
version: 5.14.2
|
|
84
|
+
type: :development
|
|
85
|
+
prerelease: false
|
|
86
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
87
|
+
requirements:
|
|
88
|
+
- - "~>"
|
|
89
|
+
- !ruby/object:Gem::Version
|
|
90
|
+
version: '5.1'
|
|
91
|
+
- - ">="
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: 5.14.2
|
|
94
|
+
- !ruby/object:Gem::Dependency
|
|
95
|
+
name: rake
|
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
|
97
|
+
requirements:
|
|
98
|
+
- - "~>"
|
|
99
|
+
- !ruby/object:Gem::Version
|
|
100
|
+
version: '13.0'
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 13.0.1
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '13.0'
|
|
111
|
+
- - ">="
|
|
112
|
+
- !ruby/object:Gem::Version
|
|
113
|
+
version: 13.0.1
|
|
32
114
|
description: Adds MySQL support to Gloo.
|
|
33
115
|
email:
|
|
34
116
|
- eric.crane@mac.com
|