dwh 0.1.0
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 +7 -0
- data/.rubocop.yml +36 -0
- data/CHANGELOG.md +5 -0
- data/LICENSE +21 -0
- data/README.md +130 -0
- data/Rakefile +42 -0
- data/docs/DWH/Adapters/Adapter.html +3053 -0
- data/docs/DWH/Adapters/Athena.html +1704 -0
- data/docs/DWH/Adapters/Boolean.html +121 -0
- data/docs/DWH/Adapters/Druid.html +1626 -0
- data/docs/DWH/Adapters/DuckDb.html +2012 -0
- data/docs/DWH/Adapters/MySql.html +1704 -0
- data/docs/DWH/Adapters/OpenAuthorizable/ClassMethods.html +265 -0
- data/docs/DWH/Adapters/OpenAuthorizable.html +1102 -0
- data/docs/DWH/Adapters/Postgres.html +2000 -0
- data/docs/DWH/Adapters/Snowflake.html +1662 -0
- data/docs/DWH/Adapters/SqlServer.html +2084 -0
- data/docs/DWH/Adapters/Trino.html +1835 -0
- data/docs/DWH/Adapters.html +129 -0
- data/docs/DWH/AuthenticationError.html +142 -0
- data/docs/DWH/Behaviors.html +767 -0
- data/docs/DWH/Capabilities.html +748 -0
- data/docs/DWH/Column.html +1115 -0
- data/docs/DWH/ConfigError.html +143 -0
- data/docs/DWH/ConnectionError.html +143 -0
- data/docs/DWH/DWHError.html +138 -0
- data/docs/DWH/ExecutionError.html +143 -0
- data/docs/DWH/Factory.html +1133 -0
- data/docs/DWH/Functions/Arrays.html +505 -0
- data/docs/DWH/Functions/Dates.html +1644 -0
- data/docs/DWH/Functions/ExtractDatePart.html +804 -0
- data/docs/DWH/Functions/Nulls.html +377 -0
- data/docs/DWH/Functions.html +846 -0
- data/docs/DWH/Logger.html +258 -0
- data/docs/DWH/OAuthError.html +138 -0
- data/docs/DWH/Settings.html +658 -0
- data/docs/DWH/StreamingStats.html +804 -0
- data/docs/DWH/Table.html +1260 -0
- data/docs/DWH/TableStats.html +583 -0
- data/docs/DWH/TokenExpiredError.html +142 -0
- data/docs/DWH/UnsupportedCapability.html +135 -0
- data/docs/DWH.html +220 -0
- data/docs/_index.html +471 -0
- data/docs/class_list.html +54 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +503 -0
- data/docs/file.README.html +210 -0
- data/docs/file.adapters.html +514 -0
- data/docs/file.creating-adapters.html +497 -0
- data/docs/file.getting-started.html +288 -0
- data/docs/file.usage.html +446 -0
- data/docs/file_list.html +79 -0
- data/docs/frames.html +22 -0
- data/docs/guides/adapters.md +445 -0
- data/docs/guides/creating-adapters.md +430 -0
- data/docs/guides/getting-started.md +225 -0
- data/docs/guides/usage.md +378 -0
- data/docs/index.html +210 -0
- data/docs/js/app.js +344 -0
- data/docs/js/full_list.js +242 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +2038 -0
- data/docs/top-level-namespace.html +110 -0
- data/lib/dwh/adapters/athena.rb +359 -0
- data/lib/dwh/adapters/druid.rb +267 -0
- data/lib/dwh/adapters/duck_db.rb +235 -0
- data/lib/dwh/adapters/my_sql.rb +235 -0
- data/lib/dwh/adapters/open_authorizable.rb +215 -0
- data/lib/dwh/adapters/postgres.rb +250 -0
- data/lib/dwh/adapters/snowflake.rb +489 -0
- data/lib/dwh/adapters/sql_server.rb +257 -0
- data/lib/dwh/adapters/trino.rb +213 -0
- data/lib/dwh/adapters.rb +363 -0
- data/lib/dwh/behaviors.rb +67 -0
- data/lib/dwh/capabilities.rb +39 -0
- data/lib/dwh/column.rb +79 -0
- data/lib/dwh/errors.rb +29 -0
- data/lib/dwh/factory.rb +125 -0
- data/lib/dwh/functions/arrays.rb +42 -0
- data/lib/dwh/functions/dates.rb +162 -0
- data/lib/dwh/functions/extract_date_part.rb +70 -0
- data/lib/dwh/functions/nulls.rb +31 -0
- data/lib/dwh/functions.rb +86 -0
- data/lib/dwh/logger.rb +50 -0
- data/lib/dwh/settings/athena.yml +77 -0
- data/lib/dwh/settings/base.yml +81 -0
- data/lib/dwh/settings/databricks.yml +51 -0
- data/lib/dwh/settings/druid.yml +59 -0
- data/lib/dwh/settings/duckdb.yml +44 -0
- data/lib/dwh/settings/mysql.yml +67 -0
- data/lib/dwh/settings/postgres.yml +30 -0
- data/lib/dwh/settings/redshift.yml +52 -0
- data/lib/dwh/settings/snowflake.yml +45 -0
- data/lib/dwh/settings/sqlserver.yml +80 -0
- data/lib/dwh/settings/trino.yml +77 -0
- data/lib/dwh/settings.rb +79 -0
- data/lib/dwh/streaming_stats.rb +69 -0
- data/lib/dwh/table.rb +105 -0
- data/lib/dwh/table_stats.rb +51 -0
- data/lib/dwh/version.rb +5 -0
- data/lib/dwh.rb +54 -0
- data/sig/dwh.rbs +4 -0
- metadata +231 -0
@@ -0,0 +1,1133 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Module: DWH::Factory
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.37
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
16
|
+
|
17
|
+
<script type="text/javascript">
|
18
|
+
pathId = "DWH::Factory";
|
19
|
+
relpath = '../';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="../class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="../_index.html">Index (F)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">Factory</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="../class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Module: DWH::Factory
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
<dl>
|
75
|
+
<dt>Includes:</dt>
|
76
|
+
<dd><span class='object_link'><a href="Logger.html" title="DWH::Logger (module)">Logger</a></span></dd>
|
77
|
+
</dl>
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
<dl>
|
83
|
+
<dt>Included in:</dt>
|
84
|
+
<dd><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></dd>
|
85
|
+
</dl>
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
<dl>
|
90
|
+
<dt>Defined in:</dt>
|
91
|
+
<dd>lib/dwh/factory.rb</dd>
|
92
|
+
</dl>
|
93
|
+
|
94
|
+
</div>
|
95
|
+
|
96
|
+
<h2>Overview</h2><div class="docstring">
|
97
|
+
<div class="discussion">
|
98
|
+
<p>Manages adapters. This should be the means by which adapters
|
99
|
+
are created, loaded, and pooled.</p>
|
100
|
+
|
101
|
+
|
102
|
+
</div>
|
103
|
+
</div>
|
104
|
+
<div class="tags">
|
105
|
+
|
106
|
+
|
107
|
+
</div>
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
<h2>
|
116
|
+
Instance Method Summary
|
117
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
118
|
+
</h2>
|
119
|
+
|
120
|
+
<ul class="summary">
|
121
|
+
|
122
|
+
<li class="public ">
|
123
|
+
<span class="summary_signature">
|
124
|
+
|
125
|
+
<a href="#adapter%3F-instance_method" title="#adapter? (instance method)">#<strong>adapter?</strong>(adapter_name) ⇒ Boolean </a>
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
</span>
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
<span class="summary_desc"><div class='inline'><p>Check if the given adapter is registered.</p>
|
140
|
+
</div></span>
|
141
|
+
|
142
|
+
</li>
|
143
|
+
|
144
|
+
|
145
|
+
<li class="public ">
|
146
|
+
<span class="summary_signature">
|
147
|
+
|
148
|
+
<a href="#adapters-instance_method" title="#adapters (instance method)">#<strong>adapters</strong> ⇒ Object </a>
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
</span>
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
<span class="summary_desc"><div class='inline'><p>Get the list of registed adapters.</p>
|
163
|
+
</div></span>
|
164
|
+
|
165
|
+
</li>
|
166
|
+
|
167
|
+
|
168
|
+
<li class="public ">
|
169
|
+
<span class="summary_signature">
|
170
|
+
|
171
|
+
<a href="#create-instance_method" title="#create (instance method)">#<strong>create</strong>(adapter_name, config) ⇒ Object </a>
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
</span>
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
<span class="summary_desc"><div class='inline'><p>The canonical way of creating an adapter instance in DWH.</p>
|
186
|
+
</div></span>
|
187
|
+
|
188
|
+
</li>
|
189
|
+
|
190
|
+
|
191
|
+
<li class="public ">
|
192
|
+
<span class="summary_signature">
|
193
|
+
|
194
|
+
<a href="#get_adapter-instance_method" title="#get_adapter (instance method)">#<strong>get_adapter</strong>(adapter_name) ⇒ Object </a>
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
</span>
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
<span class="summary_desc"><div class='inline'><p>Get the adapter.</p>
|
209
|
+
</div></span>
|
210
|
+
|
211
|
+
</li>
|
212
|
+
|
213
|
+
|
214
|
+
<li class="public ">
|
215
|
+
<span class="summary_signature">
|
216
|
+
|
217
|
+
<a href="#pool-instance_method" title="#pool (instance method)">#<strong>pool</strong>(name, adapter_name, config, timeout: 5, size: 10) ⇒ Object </a>
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
</span>
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
<span class="summary_desc"><div class='inline'><p>Create a pool of connections for a given name and adapter.</p>
|
232
|
+
</div></span>
|
233
|
+
|
234
|
+
</li>
|
235
|
+
|
236
|
+
|
237
|
+
<li class="public ">
|
238
|
+
<span class="summary_signature">
|
239
|
+
|
240
|
+
<a href="#pools-instance_method" title="#pools (instance method)">#<strong>pools</strong> ⇒ Object </a>
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
</span>
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
<span class="summary_desc"><div class='inline'><p>Current active pools.</p>
|
255
|
+
</div></span>
|
256
|
+
|
257
|
+
</li>
|
258
|
+
|
259
|
+
|
260
|
+
<li class="public ">
|
261
|
+
<span class="summary_signature">
|
262
|
+
|
263
|
+
<a href="#register-instance_method" title="#register (instance method)">#<strong>register</strong>(adapter_name, adapter_class) ⇒ Object </a>
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
</span>
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
<span class="summary_desc"><div class='inline'><p>Register your new adapter.</p>
|
278
|
+
</div></span>
|
279
|
+
|
280
|
+
</li>
|
281
|
+
|
282
|
+
|
283
|
+
<li class="public ">
|
284
|
+
<span class="summary_signature">
|
285
|
+
|
286
|
+
<a href="#shutdown-instance_method" title="#shutdown (instance method)">#<strong>shutdown</strong>(pool = nil) ⇒ Object </a>
|
287
|
+
|
288
|
+
|
289
|
+
|
290
|
+
</span>
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
<span class="summary_desc"><div class='inline'><p>Shutdown a specific pool or all pools.</p>
|
301
|
+
</div></span>
|
302
|
+
|
303
|
+
</li>
|
304
|
+
|
305
|
+
|
306
|
+
<li class="public ">
|
307
|
+
<span class="summary_signature">
|
308
|
+
|
309
|
+
<a href="#start_reaper-instance_method" title="#start_reaper (instance method)">#<strong>start_reaper</strong>(frequency = 300) ⇒ Object </a>
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
</span>
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
<span class="summary_desc"><div class='inline'><p>Start reaper that will periodically clean up unused or idle connections.</p>
|
324
|
+
</div></span>
|
325
|
+
|
326
|
+
</li>
|
327
|
+
|
328
|
+
|
329
|
+
<li class="public ">
|
330
|
+
<span class="summary_signature">
|
331
|
+
|
332
|
+
<a href="#unregister-instance_method" title="#unregister (instance method)">#<strong>unregister</strong>(adapter_name) ⇒ Object </a>
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
</span>
|
337
|
+
|
338
|
+
|
339
|
+
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
<span class="summary_desc"><div class='inline'><p>Remove the given adapter from the registry.</p>
|
347
|
+
</div></span>
|
348
|
+
|
349
|
+
</li>
|
350
|
+
|
351
|
+
|
352
|
+
</ul>
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="Logger.html" title="DWH::Logger (module)">Logger</a></span></h3>
|
365
|
+
<p class="inherited"><span class='object_link'><a href="Logger.html#logger-instance_method" title="DWH::Logger#logger (method)">#logger</a></span>, <span class='object_link'><a href="Logger.html#logger-class_method" title="DWH::Logger.logger (method)">logger</a></span></p>
|
366
|
+
|
367
|
+
|
368
|
+
<div id="instance_method_details" class="method_details_list">
|
369
|
+
<h2>Instance Method Details</h2>
|
370
|
+
|
371
|
+
|
372
|
+
<div class="method_details first">
|
373
|
+
<h3 class="signature first" id="adapter?-instance_method">
|
374
|
+
|
375
|
+
#<strong>adapter?</strong>(adapter_name) ⇒ <tt>Boolean</tt>
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
</h3><div class="docstring">
|
382
|
+
<div class="discussion">
|
383
|
+
<p>Check if the given adapter is registered</p>
|
384
|
+
|
385
|
+
|
386
|
+
</div>
|
387
|
+
</div>
|
388
|
+
<div class="tags">
|
389
|
+
<p class="tag_title">Parameters:</p>
|
390
|
+
<ul class="param">
|
391
|
+
|
392
|
+
<li>
|
393
|
+
|
394
|
+
<span class='name'>adapter_name</span>
|
395
|
+
|
396
|
+
|
397
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
398
|
+
|
399
|
+
|
400
|
+
|
401
|
+
</li>
|
402
|
+
|
403
|
+
</ul>
|
404
|
+
|
405
|
+
<p class="tag_title">Returns:</p>
|
406
|
+
<ul class="return">
|
407
|
+
|
408
|
+
<li>
|
409
|
+
|
410
|
+
|
411
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
</li>
|
416
|
+
|
417
|
+
</ul>
|
418
|
+
|
419
|
+
</div><table class="source_code">
|
420
|
+
<tr>
|
421
|
+
<td>
|
422
|
+
<pre class="lines">
|
423
|
+
|
424
|
+
|
425
|
+
35
|
426
|
+
36
|
427
|
+
37</pre>
|
428
|
+
</td>
|
429
|
+
<td>
|
430
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 35</span>
|
431
|
+
|
432
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_adapter?'>adapter?</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span>
|
433
|
+
<span class='id identifier rubyid_adapters'>adapters</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
|
434
|
+
<span class='kw'>end</span></pre>
|
435
|
+
</td>
|
436
|
+
</tr>
|
437
|
+
</table>
|
438
|
+
</div>
|
439
|
+
|
440
|
+
<div class="method_details ">
|
441
|
+
<h3 class="signature " id="adapters-instance_method">
|
442
|
+
|
443
|
+
#<strong>adapters</strong> ⇒ <tt>Object</tt>
|
444
|
+
|
445
|
+
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
</h3><div class="docstring">
|
450
|
+
<div class="discussion">
|
451
|
+
<p>Get the list of registed adapters</p>
|
452
|
+
|
453
|
+
|
454
|
+
</div>
|
455
|
+
</div>
|
456
|
+
<div class="tags">
|
457
|
+
|
458
|
+
|
459
|
+
</div><table class="source_code">
|
460
|
+
<tr>
|
461
|
+
<td>
|
462
|
+
<pre class="lines">
|
463
|
+
|
464
|
+
|
465
|
+
40
|
466
|
+
41
|
467
|
+
42</pre>
|
468
|
+
</td>
|
469
|
+
<td>
|
470
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 40</span>
|
471
|
+
|
472
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_adapters'>adapters</span>
|
473
|
+
<span class='ivar'>@adapters</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
474
|
+
<span class='kw'>end</span></pre>
|
475
|
+
</td>
|
476
|
+
</tr>
|
477
|
+
</table>
|
478
|
+
</div>
|
479
|
+
|
480
|
+
<div class="method_details ">
|
481
|
+
<h3 class="signature " id="create-instance_method">
|
482
|
+
|
483
|
+
#<strong>create</strong>(adapter_name, config) ⇒ <tt>Object</tt>
|
484
|
+
|
485
|
+
|
486
|
+
|
487
|
+
|
488
|
+
|
489
|
+
</h3><div class="docstring">
|
490
|
+
<div class="discussion">
|
491
|
+
<p>The canonical way of creating an adapter instance
|
492
|
+
in DWH.</p>
|
493
|
+
|
494
|
+
|
495
|
+
</div>
|
496
|
+
</div>
|
497
|
+
<div class="tags">
|
498
|
+
|
499
|
+
<div class="examples">
|
500
|
+
<h4 class="tag_title">Examples:</h4>
|
501
|
+
|
502
|
+
|
503
|
+
<h5 class="example_title"><div class='inline'><p>connect to MySQL</p>
|
504
|
+
</div></h5>
|
505
|
+
|
506
|
+
<pre class="example code"><code><span class='const'><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='symbol'>:mysql</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>host:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>127.0.0.1</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>databse:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>mydb</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>username:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>me</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>password:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>mypwd</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>client_name:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Strata CLI</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span><span class='rparen'>)</span></code></pre>
|
507
|
+
|
508
|
+
|
509
|
+
<h5 class="example_title"><div class='inline'><p>connect Trino</p>
|
510
|
+
</div></h5>
|
511
|
+
|
512
|
+
<pre class="example code"><code><span class='const'><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='symbol'>:trino</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='label'>host:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>catalog:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>native</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>username:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Ajo</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span><span class='rparen'>)</span></code></pre>
|
513
|
+
|
514
|
+
|
515
|
+
<h5 class="example_title"><div class='inline'><p>connect to Druid</p>
|
516
|
+
</div></h5>
|
517
|
+
|
518
|
+
<pre class="example code"><code><span class='const'><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='symbol'>:druid</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='label'>host:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span><span class='label'>port:</span> <span class='int'>8080</span><span class='comma'>,</span> <span class='label'>protocol:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>http</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span><span class='rparen'>)</span></code></pre>
|
519
|
+
|
520
|
+
</div>
|
521
|
+
<p class="tag_title">Parameters:</p>
|
522
|
+
<ul class="param">
|
523
|
+
|
524
|
+
<li>
|
525
|
+
|
526
|
+
<span class='name'>adapter_name</span>
|
527
|
+
|
528
|
+
|
529
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
530
|
+
|
531
|
+
|
532
|
+
|
533
|
+
</li>
|
534
|
+
|
535
|
+
<li>
|
536
|
+
|
537
|
+
<span class='name'>config</span>
|
538
|
+
|
539
|
+
|
540
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
541
|
+
|
542
|
+
|
543
|
+
|
544
|
+
—
|
545
|
+
<div class='inline'><p>options hash for the target database</p>
|
546
|
+
</div>
|
547
|
+
|
548
|
+
</li>
|
549
|
+
|
550
|
+
</ul>
|
551
|
+
|
552
|
+
|
553
|
+
</div><table class="source_code">
|
554
|
+
<tr>
|
555
|
+
<td>
|
556
|
+
<pre class="lines">
|
557
|
+
|
558
|
+
|
559
|
+
60
|
560
|
+
61
|
561
|
+
62</pre>
|
562
|
+
</td>
|
563
|
+
<td>
|
564
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 60</span>
|
565
|
+
|
566
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
|
567
|
+
<span class='id identifier rubyid_get_adapter'>get_adapter</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
|
568
|
+
<span class='kw'>end</span></pre>
|
569
|
+
</td>
|
570
|
+
</tr>
|
571
|
+
</table>
|
572
|
+
</div>
|
573
|
+
|
574
|
+
<div class="method_details ">
|
575
|
+
<h3 class="signature " id="get_adapter-instance_method">
|
576
|
+
|
577
|
+
#<strong>get_adapter</strong>(adapter_name) ⇒ <tt>Object</tt>
|
578
|
+
|
579
|
+
|
580
|
+
|
581
|
+
|
582
|
+
|
583
|
+
</h3><div class="docstring">
|
584
|
+
<div class="discussion">
|
585
|
+
<p>Get the adapter.</p>
|
586
|
+
|
587
|
+
|
588
|
+
</div>
|
589
|
+
</div>
|
590
|
+
<div class="tags">
|
591
|
+
<p class="tag_title">Parameters:</p>
|
592
|
+
<ul class="param">
|
593
|
+
|
594
|
+
<li>
|
595
|
+
|
596
|
+
<span class='name'>adapter_name</span>
|
597
|
+
|
598
|
+
|
599
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
600
|
+
|
601
|
+
|
602
|
+
|
603
|
+
</li>
|
604
|
+
|
605
|
+
</ul>
|
606
|
+
|
607
|
+
|
608
|
+
</div><table class="source_code">
|
609
|
+
<tr>
|
610
|
+
<td>
|
611
|
+
<pre class="lines">
|
612
|
+
|
613
|
+
|
614
|
+
27
|
615
|
+
28
|
616
|
+
29
|
617
|
+
30
|
618
|
+
31</pre>
|
619
|
+
</td>
|
620
|
+
<td>
|
621
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 27</span>
|
622
|
+
|
623
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_adapter'>get_adapter</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span>
|
624
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Adapter '</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>' not found. Did you forget to register it: DWH.register(MyAdapterClass)</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_adapter?'>adapter?</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span>
|
625
|
+
|
626
|
+
<span class='id identifier rubyid_adapters'>adapters</span><span class='lbracket'>[</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span>
|
627
|
+
<span class='kw'>end</span></pre>
|
628
|
+
</td>
|
629
|
+
</tr>
|
630
|
+
</table>
|
631
|
+
</div>
|
632
|
+
|
633
|
+
<div class="method_details ">
|
634
|
+
<h3 class="signature " id="pool-instance_method">
|
635
|
+
|
636
|
+
#<strong>pool</strong>(name, adapter_name, config, timeout: 5, size: 10) ⇒ <tt>Object</tt>
|
637
|
+
|
638
|
+
|
639
|
+
|
640
|
+
|
641
|
+
|
642
|
+
</h3><div class="docstring">
|
643
|
+
<div class="discussion">
|
644
|
+
<p>Create a pool of connections for a given name and adapter.
|
645
|
+
Returns existing pool if it was already created.</p>
|
646
|
+
|
647
|
+
|
648
|
+
</div>
|
649
|
+
</div>
|
650
|
+
<div class="tags">
|
651
|
+
<p class="tag_title">Parameters:</p>
|
652
|
+
<ul class="param">
|
653
|
+
|
654
|
+
<li>
|
655
|
+
|
656
|
+
<span class='name'>name</span>
|
657
|
+
|
658
|
+
|
659
|
+
<span class='type'>(<tt>String</tt>)</span>
|
660
|
+
|
661
|
+
|
662
|
+
|
663
|
+
—
|
664
|
+
<div class='inline'><p>custom name for your pool</p>
|
665
|
+
</div>
|
666
|
+
|
667
|
+
</li>
|
668
|
+
|
669
|
+
<li>
|
670
|
+
|
671
|
+
<span class='name'>adapter_name</span>
|
672
|
+
|
673
|
+
|
674
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
675
|
+
|
676
|
+
|
677
|
+
|
678
|
+
</li>
|
679
|
+
|
680
|
+
<li>
|
681
|
+
|
682
|
+
<span class='name'>config</span>
|
683
|
+
|
684
|
+
|
685
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
686
|
+
|
687
|
+
|
688
|
+
|
689
|
+
—
|
690
|
+
<div class='inline'><p>connection options</p>
|
691
|
+
</div>
|
692
|
+
|
693
|
+
</li>
|
694
|
+
|
695
|
+
<li>
|
696
|
+
|
697
|
+
<span class='name'>timeout</span>
|
698
|
+
|
699
|
+
|
700
|
+
<span class='type'>(<tt>Integer</tt>)</span>
|
701
|
+
|
702
|
+
|
703
|
+
<em class="default">(defaults to: <tt>5</tt>)</em>
|
704
|
+
|
705
|
+
|
706
|
+
—
|
707
|
+
<div class='inline'><p>pool checkout time out</p>
|
708
|
+
</div>
|
709
|
+
|
710
|
+
</li>
|
711
|
+
|
712
|
+
<li>
|
713
|
+
|
714
|
+
<span class='name'>size</span>
|
715
|
+
|
716
|
+
|
717
|
+
<span class='type'>(<tt>Integer</tt>)</span>
|
718
|
+
|
719
|
+
|
720
|
+
<em class="default">(defaults to: <tt>10</tt>)</em>
|
721
|
+
|
722
|
+
|
723
|
+
—
|
724
|
+
<div class='inline'><p>size of the pool</p>
|
725
|
+
</div>
|
726
|
+
|
727
|
+
</li>
|
728
|
+
|
729
|
+
</ul>
|
730
|
+
|
731
|
+
|
732
|
+
</div><table class="source_code">
|
733
|
+
<tr>
|
734
|
+
<td>
|
735
|
+
<pre class="lines">
|
736
|
+
|
737
|
+
|
738
|
+
72
|
739
|
+
73
|
740
|
+
74
|
741
|
+
75
|
742
|
+
76
|
743
|
+
77
|
744
|
+
78
|
745
|
+
79
|
746
|
+
80</pre>
|
747
|
+
</td>
|
748
|
+
<td>
|
749
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 72</span>
|
750
|
+
|
751
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_pool'>pool</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='label'>timeout:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>size:</span> <span class='int'>10</span><span class='rparen'>)</span>
|
752
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
753
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span>
|
754
|
+
<span class='kw'>else</span>
|
755
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>ConnectionPool</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>size:</span> <span class='id identifier rubyid_size'>size</span><span class='comma'>,</span> <span class='label'>timeout:</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
756
|
+
<span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
|
757
|
+
<span class='kw'>end</span>
|
758
|
+
<span class='kw'>end</span>
|
759
|
+
<span class='kw'>end</span></pre>
|
760
|
+
</td>
|
761
|
+
</tr>
|
762
|
+
</table>
|
763
|
+
</div>
|
764
|
+
|
765
|
+
<div class="method_details ">
|
766
|
+
<h3 class="signature " id="pools-instance_method">
|
767
|
+
|
768
|
+
#<strong>pools</strong> ⇒ <tt>Object</tt>
|
769
|
+
|
770
|
+
|
771
|
+
|
772
|
+
|
773
|
+
|
774
|
+
</h3><div class="docstring">
|
775
|
+
<div class="discussion">
|
776
|
+
<p>Current active pools</p>
|
777
|
+
|
778
|
+
|
779
|
+
</div>
|
780
|
+
</div>
|
781
|
+
<div class="tags">
|
782
|
+
|
783
|
+
|
784
|
+
</div><table class="source_code">
|
785
|
+
<tr>
|
786
|
+
<td>
|
787
|
+
<pre class="lines">
|
788
|
+
|
789
|
+
|
790
|
+
45
|
791
|
+
46
|
792
|
+
47</pre>
|
793
|
+
</td>
|
794
|
+
<td>
|
795
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 45</span>
|
796
|
+
|
797
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_pools'>pools</span>
|
798
|
+
<span class='ivar'>@pools</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
799
|
+
<span class='kw'>end</span></pre>
|
800
|
+
</td>
|
801
|
+
</tr>
|
802
|
+
</table>
|
803
|
+
</div>
|
804
|
+
|
805
|
+
<div class="method_details ">
|
806
|
+
<h3 class="signature " id="register-instance_method">
|
807
|
+
|
808
|
+
#<strong>register</strong>(adapter_name, adapter_class) ⇒ <tt>Object</tt>
|
809
|
+
|
810
|
+
|
811
|
+
|
812
|
+
|
813
|
+
|
814
|
+
</h3><div class="docstring">
|
815
|
+
<div class="discussion">
|
816
|
+
<p>Register your new adapter.</p>
|
817
|
+
|
818
|
+
|
819
|
+
</div>
|
820
|
+
</div>
|
821
|
+
<div class="tags">
|
822
|
+
<p class="tag_title">Parameters:</p>
|
823
|
+
<ul class="param">
|
824
|
+
|
825
|
+
<li>
|
826
|
+
|
827
|
+
<span class='name'>adapter_name</span>
|
828
|
+
|
829
|
+
|
830
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
831
|
+
|
832
|
+
|
833
|
+
|
834
|
+
—
|
835
|
+
<div class='inline'><p>your adapter name. Could be different from
|
836
|
+
the class name.</p>
|
837
|
+
</div>
|
838
|
+
|
839
|
+
</li>
|
840
|
+
|
841
|
+
<li>
|
842
|
+
|
843
|
+
<span class='name'>adapter_class</span>
|
844
|
+
|
845
|
+
|
846
|
+
<span class='type'>(<tt>Class</tt>)</span>
|
847
|
+
|
848
|
+
|
849
|
+
|
850
|
+
—
|
851
|
+
<div class='inline'><p>actual class of the adapter.</p>
|
852
|
+
</div>
|
853
|
+
|
854
|
+
</li>
|
855
|
+
|
856
|
+
</ul>
|
857
|
+
|
858
|
+
<p class="tag_title">Raises:</p>
|
859
|
+
<ul class="raise">
|
860
|
+
|
861
|
+
<li>
|
862
|
+
|
863
|
+
|
864
|
+
<span class='type'>(<tt><span class='object_link'><a href="ConfigError.html" title="DWH::ConfigError (class)">ConfigError</a></span></tt>)</span>
|
865
|
+
|
866
|
+
|
867
|
+
|
868
|
+
</li>
|
869
|
+
|
870
|
+
</ul>
|
871
|
+
|
872
|
+
</div><table class="source_code">
|
873
|
+
<tr>
|
874
|
+
<td>
|
875
|
+
<pre class="lines">
|
876
|
+
|
877
|
+
|
878
|
+
13
|
879
|
+
14
|
880
|
+
15
|
881
|
+
16
|
882
|
+
17
|
883
|
+
18</pre>
|
884
|
+
</td>
|
885
|
+
<td>
|
886
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 13</span>
|
887
|
+
|
888
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_register'>register</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='comma'>,</span> <span class='id identifier rubyid_adapter_class'>adapter_class</span><span class='rparen'>)</span>
|
889
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="ConfigError.html" title="DWH::ConfigError (class)">ConfigError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>adapter_class should be a class</span><span class='tstring_end'>'</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_adapter_class'>adapter_class</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Class</span><span class='rparen'>)</span>
|
890
|
+
|
891
|
+
<span class='id identifier rubyid_adapter_class'>adapter_class</span><span class='period'>.</span><span class='id identifier rubyid_load_settings'>load_settings</span>
|
892
|
+
<span class='id identifier rubyid_adapters'>adapters</span><span class='lbracket'>[</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_adapter_class'>adapter_class</span>
|
893
|
+
<span class='kw'>end</span></pre>
|
894
|
+
</td>
|
895
|
+
</tr>
|
896
|
+
</table>
|
897
|
+
</div>
|
898
|
+
|
899
|
+
<div class="method_details ">
|
900
|
+
<h3 class="signature " id="shutdown-instance_method">
|
901
|
+
|
902
|
+
#<strong>shutdown</strong>(pool = nil) ⇒ <tt>Object</tt>
|
903
|
+
|
904
|
+
|
905
|
+
|
906
|
+
|
907
|
+
|
908
|
+
</h3><div class="docstring">
|
909
|
+
<div class="discussion">
|
910
|
+
<p>Shutdown a specific pool or all pools</p>
|
911
|
+
|
912
|
+
|
913
|
+
</div>
|
914
|
+
</div>
|
915
|
+
<div class="tags">
|
916
|
+
<p class="tag_title">Parameters:</p>
|
917
|
+
<ul class="param">
|
918
|
+
|
919
|
+
<li>
|
920
|
+
|
921
|
+
<span class='name'>pool</span>
|
922
|
+
|
923
|
+
|
924
|
+
<span class='type'>(<tt>String</tt>, <tt>ConnectionPool</tt>, <tt>nil</tt>)</span>
|
925
|
+
|
926
|
+
|
927
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
928
|
+
|
929
|
+
|
930
|
+
—
|
931
|
+
<div class='inline'><p>pool or name of pool
|
932
|
+
or nil to shut everything down</p>
|
933
|
+
</div>
|
934
|
+
|
935
|
+
</li>
|
936
|
+
|
937
|
+
</ul>
|
938
|
+
|
939
|
+
|
940
|
+
</div><table class="source_code">
|
941
|
+
<tr>
|
942
|
+
<td>
|
943
|
+
<pre class="lines">
|
944
|
+
|
945
|
+
|
946
|
+
85
|
947
|
+
86
|
948
|
+
87
|
949
|
+
88
|
950
|
+
89
|
951
|
+
90
|
952
|
+
91
|
953
|
+
92
|
954
|
+
93
|
955
|
+
94
|
956
|
+
95
|
957
|
+
96
|
958
|
+
97
|
959
|
+
98
|
960
|
+
99
|
961
|
+
100
|
962
|
+
101
|
963
|
+
102</pre>
|
964
|
+
</td>
|
965
|
+
<td>
|
966
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 85</span>
|
967
|
+
|
968
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_shutdown'>shutdown</span><span class='lparen'>(</span><span class='id identifier rubyid_pool'>pool</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
969
|
+
<span class='kw'>case</span> <span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span>
|
970
|
+
<span class='kw'>when</span> <span class='const'>String</span>
|
971
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_pool'>pool</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_shutdown'>shutdown</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
|
972
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_pool'>pool</span><span class='rparen'>)</span>
|
973
|
+
<span class='kw'>when</span> <span class='const'>Symbol</span>
|
974
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_shutdown'>shutdown</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
|
975
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span>
|
976
|
+
<span class='kw'>when</span> <span class='const'>ConnectionPool</span>
|
977
|
+
<span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_shutdown'>shutdown</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
|
978
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span><span class='lparen'>(</span><span class='id identifier rubyid_pool'>pool</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
979
|
+
<span class='kw'>else</span>
|
980
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_each_value'>each_value</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_val'>val</span><span class='op'>|</span>
|
981
|
+
<span class='id identifier rubyid_val'>val</span><span class='period'>.</span><span class='id identifier rubyid_shutdown'>shutdown</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
|
982
|
+
<span class='kw'>end</span>
|
983
|
+
<span class='ivar'>@pools</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
984
|
+
<span class='kw'>end</span>
|
985
|
+
<span class='kw'>end</span></pre>
|
986
|
+
</td>
|
987
|
+
</tr>
|
988
|
+
</table>
|
989
|
+
</div>
|
990
|
+
|
991
|
+
<div class="method_details ">
|
992
|
+
<h3 class="signature " id="start_reaper-instance_method">
|
993
|
+
|
994
|
+
#<strong>start_reaper</strong>(frequency = 300) ⇒ <tt>Object</tt>
|
995
|
+
|
996
|
+
|
997
|
+
|
998
|
+
|
999
|
+
|
1000
|
+
</h3><div class="docstring">
|
1001
|
+
<div class="discussion">
|
1002
|
+
<p>Start reaper that will periodically clean up
|
1003
|
+
unused or idle connections.</p>
|
1004
|
+
|
1005
|
+
|
1006
|
+
</div>
|
1007
|
+
</div>
|
1008
|
+
<div class="tags">
|
1009
|
+
<p class="tag_title">Parameters:</p>
|
1010
|
+
<ul class="param">
|
1011
|
+
|
1012
|
+
<li>
|
1013
|
+
|
1014
|
+
<span class='name'>frequency</span>
|
1015
|
+
|
1016
|
+
|
1017
|
+
<span class='type'>(<tt>Integer</tt>)</span>
|
1018
|
+
|
1019
|
+
|
1020
|
+
<em class="default">(defaults to: <tt>300</tt>)</em>
|
1021
|
+
|
1022
|
+
|
1023
|
+
—
|
1024
|
+
<div class='inline'><p>defaults to 300 seconds</p>
|
1025
|
+
</div>
|
1026
|
+
|
1027
|
+
</li>
|
1028
|
+
|
1029
|
+
</ul>
|
1030
|
+
|
1031
|
+
|
1032
|
+
</div><table class="source_code">
|
1033
|
+
<tr>
|
1034
|
+
<td>
|
1035
|
+
<pre class="lines">
|
1036
|
+
|
1037
|
+
|
1038
|
+
107
|
1039
|
+
108
|
1040
|
+
109
|
1041
|
+
110
|
1042
|
+
111
|
1043
|
+
112
|
1044
|
+
113
|
1045
|
+
114
|
1046
|
+
115
|
1047
|
+
116
|
1048
|
+
117
|
1049
|
+
118
|
1050
|
+
119
|
1051
|
+
120
|
1052
|
+
121
|
1053
|
+
122
|
1054
|
+
123</pre>
|
1055
|
+
</td>
|
1056
|
+
<td>
|
1057
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 107</span>
|
1058
|
+
|
1059
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_start_reaper'>start_reaper</span><span class='lparen'>(</span><span class='id identifier rubyid_frequency'>frequency</span> <span class='op'>=</span> <span class='int'>300</span><span class='rparen'>)</span>
|
1060
|
+
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Starting DB Adapter reaper process</span><span class='tstring_end'>'</span></span>
|
1061
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span>
|
1062
|
+
<span class='id identifier rubyid_loop'>loop</span> <span class='kw'>do</span>
|
1063
|
+
<span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_pool'>pool</span><span class='op'>|</span>
|
1064
|
+
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>DB POOL FOR </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> STATS:</span><span class='tstring_end'>"</span></span>
|
1065
|
+
<span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_with'>with</span> <span class='kw'>do</span>
|
1066
|
+
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\tSize: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1067
|
+
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\tIdle: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_available'>available</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1068
|
+
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\tAvailable: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_available'>available</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1069
|
+
<span class='kw'>end</span>
|
1070
|
+
<span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_reap'>reap</span><span class='lparen'>(</span><span class='id identifier rubyid_frequency'>frequency</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
|
1071
|
+
<span class='kw'>end</span>
|
1072
|
+
<span class='id identifier rubyid_sleep'>sleep</span> <span class='id identifier rubyid_frequency'>frequency</span>
|
1073
|
+
<span class='kw'>end</span>
|
1074
|
+
<span class='kw'>end</span>
|
1075
|
+
<span class='kw'>end</span></pre>
|
1076
|
+
</td>
|
1077
|
+
</tr>
|
1078
|
+
</table>
|
1079
|
+
</div>
|
1080
|
+
|
1081
|
+
<div class="method_details ">
|
1082
|
+
<h3 class="signature " id="unregister-instance_method">
|
1083
|
+
|
1084
|
+
#<strong>unregister</strong>(adapter_name) ⇒ <tt>Object</tt>
|
1085
|
+
|
1086
|
+
|
1087
|
+
|
1088
|
+
|
1089
|
+
|
1090
|
+
</h3><div class="docstring">
|
1091
|
+
<div class="discussion">
|
1092
|
+
<p>Remove the given adapter from the registry.</p>
|
1093
|
+
|
1094
|
+
|
1095
|
+
</div>
|
1096
|
+
</div>
|
1097
|
+
<div class="tags">
|
1098
|
+
|
1099
|
+
|
1100
|
+
</div><table class="source_code">
|
1101
|
+
<tr>
|
1102
|
+
<td>
|
1103
|
+
<pre class="lines">
|
1104
|
+
|
1105
|
+
|
1106
|
+
21
|
1107
|
+
22
|
1108
|
+
23</pre>
|
1109
|
+
</td>
|
1110
|
+
<td>
|
1111
|
+
<pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 21</span>
|
1112
|
+
|
1113
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_unregister'>unregister</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span>
|
1114
|
+
<span class='id identifier rubyid_adapters'>adapters</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1115
|
+
<span class='kw'>end</span></pre>
|
1116
|
+
</td>
|
1117
|
+
</tr>
|
1118
|
+
</table>
|
1119
|
+
</div>
|
1120
|
+
|
1121
|
+
</div>
|
1122
|
+
|
1123
|
+
</div>
|
1124
|
+
|
1125
|
+
<div id="footer">
|
1126
|
+
Generated on Fri Aug 22 08:31:21 2025 by
|
1127
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1128
|
+
0.9.37 (ruby-3.4.4).
|
1129
|
+
</div>
|
1130
|
+
|
1131
|
+
</div>
|
1132
|
+
</body>
|
1133
|
+
</html>
|