dbmlite3 1.0.a1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,135 @@
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
+ Exception: Lite3::Error
8
+
9
+ &mdash; Documentation by YARD 0.9.25
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 = "Lite3::Error";
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 (E)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Lite3.html" title="Lite3 (module)">Lite3</a></span></span>
41
+ &raquo;
42
+ <span class="title">Error</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>Exception: Lite3::Error
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">StandardError</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">StandardError</li>
78
+
79
+ <li class="next">Lite3::Error</li>
80
+
81
+ </ul>
82
+ <a href="#" class="inheritanceTree">show all</a>
83
+
84
+ </dd>
85
+ </dl>
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <dl>
98
+ <dt>Defined in:</dt>
99
+ <dd>lib/dbmlite3.rb</dd>
100
+ </dl>
101
+
102
+ </div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+ <p>Exception class for errors specific <code>Lite3::DBM</code>. Note that
107
+ <code>Lite3::*</code> methods may also throw <code>SQLite3</code> exceptions.</p>
108
+
109
+
110
+ </div>
111
+ </div>
112
+ <div class="tags">
113
+
114
+
115
+ </div>
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+ </div>
126
+
127
+ <div id="footer">
128
+ Generated on Fri Feb 25 14:42:43 2022 by
129
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
+ 0.9.25 (ruby-2.7.0).
131
+ </div>
132
+
133
+ </div>
134
+ </body>
135
+ </html>
@@ -0,0 +1,390 @@
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: Lite3::SQL
8
+
9
+ &mdash; Documentation by YARD 0.9.25
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 = "Lite3::SQL";
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 (S)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Lite3.html" title="Lite3 (module)">Lite3</a></span></span>
41
+ &raquo;
42
+ <span class="title">SQL</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: Lite3::SQL
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/dbmlite3.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+ <p>This module provides some basic access to the underlying
89
+ <code>SQLite3::Database</code> objects used by <code>Lite3::DBM</code> to actually store
90
+ and retrieve data.</p>
91
+
92
+ <p>Things you need to care about are:</p>
93
+
94
+ <ol>
95
+ <li><p>Use <code>threadsafe?</code> to see if the underlying <code>SQLite3</code> lib was
96
+ compiled to be threadsafe.</p></li>
97
+ <li><p>Invoke <code>Lite3::SQL.close_all</code> before forking the process if you
98
+ have ever opened a <code>Lite3::DBM</code> object and intend on using
99
+ <code>Lite3</code> in both the parent and the child process.</p></li>
100
+ </ol>
101
+
102
+ <p>More details:</p>
103
+
104
+ <p><code>Lite3</code> maintains a pool of private handle objects (private class
105
+ <code>Lite3::Handle</code>) which in turn manage the <code>SQLite3::Database</code>
106
+ objects that actually do the work. There is one handle per
107
+ SQLite3 database file; since each <code>DBM</code> represents one table in a
108
+ SQLite3 file, multiple <code>DBM</code> objects will use the same handle.</p>
109
+
110
+ <p>Handle objects can themselves close and replace their
111
+ <code>SQLite3::Database</code> objects transparently.</p>
112
+
113
+ <p>The underlying system keeps track of which <code>DBM</code> objects reference
114
+ which files and will close a file&#39;s <code>SQLite3::Database</code> when all
115
+ of the <code>DBM</code>s using it have been closed. (It does <strong>not</strong> handle
116
+ the case where a <code>DBM</code> object remains open and goes out of scope;
117
+ that object will be kept around for the life of the process.)</p>
118
+
119
+ <p>Mostly, you don&#39;t need to care about this. However, it affects
120
+ you in two ways:</p>
121
+
122
+ <ol>
123
+ <li><p>Transactions are done at the file level and not the table level.
124
+ This means that you can access separate tables in the same
125
+ transaction, which is a Very Good Thing.</p></li>
126
+ <li><p>You can safely fork the current process and keep using existing
127
+ <code>DBM</code> objects in both processes, provided you&#39;ve invoked
128
+ <code>close_all</code> before the fork. This will have closed the actual
129
+ database handles (which can&#39;t tolerate being carried across a
130
+ fork) and opens new ones the next time they&#39;re needed.</p></li>
131
+ </ol>
132
+
133
+ <p>If you find yourself needing to be sure that you don&#39;t have any
134
+ unexpected open file handles (e.g. before forking or if you need
135
+ Windows to unlock it), you should call <code>close_all</code>.</p>
136
+
137
+ <p>Otherwise, it&#39;s safe to ignore this stuff.</p>
138
+
139
+
140
+ </div>
141
+ </div>
142
+ <div class="tags">
143
+
144
+
145
+ </div>
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+ <h2>
154
+ Class Method Summary
155
+ <small><a href="#" class="summary_toggle">collapse</a></small>
156
+ </h2>
157
+
158
+ <ul class="summary">
159
+
160
+ <li class="public ">
161
+ <span class="summary_signature">
162
+
163
+ <a href="#close_all-class_method" title="close_all (class method)">.<strong>close_all</strong> &#x21d2; Object </a>
164
+
165
+
166
+
167
+ </span>
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+ <span class="summary_desc"><div class='inline'><p>Close and remove the underlying <code>SQLite3::Database</code> associated with each <code>DBM</code>.</p>
178
+ </div></span>
179
+
180
+ </li>
181
+
182
+
183
+ <li class="public ">
184
+ <span class="summary_signature">
185
+
186
+ <a href="#gc-class_method" title="gc (class method)">.<strong>gc</strong> &#x21d2; Object </a>
187
+
188
+
189
+
190
+ </span>
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+ <span class="summary_desc"><div class='inline'><p>Clean up lingering unused database handle metadata.</p>
201
+ </div></span>
202
+
203
+ </li>
204
+
205
+
206
+ <li class="public ">
207
+ <span class="summary_signature">
208
+
209
+ <a href="#threadsafe%3F-class_method" title="threadsafe? (class method)">.<strong>threadsafe?</strong> &#x21d2; Boolean </a>
210
+
211
+
212
+
213
+ </span>
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+ <span class="summary_desc"><div class='inline'><p>Test if the SQLite3 lib we are using has been compiled to be thread safe.</p>
224
+ </div></span>
225
+
226
+ </li>
227
+
228
+
229
+ </ul>
230
+
231
+
232
+
233
+
234
+ <div id="class_method_details" class="method_details_list">
235
+ <h2>Class Method Details</h2>
236
+
237
+
238
+ <div class="method_details first">
239
+ <h3 class="signature first" id="close_all-class_method">
240
+
241
+ .<strong>close_all</strong> &#x21d2; <tt>Object</tt>
242
+
243
+
244
+
245
+
246
+
247
+ </h3><div class="docstring">
248
+ <div class="discussion">
249
+ <p>Close and remove the underlying <code>SQLite3::Database</code> associated
250
+ with each <code>DBM</code>. A new <code>SQLite3::Database</code> will be created on
251
+ the file the first time the <code>DBM</code> is used.</p>
252
+
253
+ <p>This <strong>should not</strong> be called while a database operation is in
254
+ progress. (E.g. do <strong>not</strong> call this from the block of
255
+ <code>DBM.each</code>.)</p>
256
+
257
+
258
+ </div>
259
+ </div>
260
+ <div class="tags">
261
+
262
+
263
+ </div><table class="source_code">
264
+ <tr>
265
+ <td>
266
+ <pre class="lines">
267
+
268
+
269
+ 307</pre>
270
+ </td>
271
+ <td>
272
+ <pre class="code"><span class="info file"># File 'lib/dbmlite3.rb', line 307</span>
273
+
274
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_close_all'>close_all</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='kw'>return</span> <span class='const'>HandlePool</span><span class='period'>.</span><span class='id identifier rubyid_close_all'>close_all</span> <span class='kw'>end</span></pre>
275
+ </td>
276
+ </tr>
277
+ </table>
278
+ </div>
279
+
280
+ <div class="method_details ">
281
+ <h3 class="signature " id="gc-class_method">
282
+
283
+ .<strong>gc</strong> &#x21d2; <tt>Object</tt>
284
+
285
+
286
+
287
+
288
+
289
+ </h3><div class="docstring">
290
+ <div class="discussion">
291
+ <p>Clean up lingering unused database handle metadata.</p>
292
+
293
+ <p>This is usually not a significant amount of space unless you
294
+ have opened and closed a lot of different database files, but
295
+ it&#39;s here if you need it.</p>
296
+
297
+ <p>Returns a hash mapping each remaining handle&#39;s canonical file
298
+ path to a list of <code>DBM</code> objects that reference it. This is
299
+ probably not useful to you; it&#39;s there for the unit tests.</p>
300
+
301
+
302
+ </div>
303
+ </div>
304
+ <div class="tags">
305
+
306
+
307
+ </div><table class="source_code">
308
+ <tr>
309
+ <td>
310
+ <pre class="lines">
311
+
312
+
313
+ 298</pre>
314
+ </td>
315
+ <td>
316
+ <pre class="code"><span class="info file"># File 'lib/dbmlite3.rb', line 298</span>
317
+
318
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_gc'>gc</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='kw'>return</span> <span class='const'>HandlePool</span><span class='period'>.</span><span class='id identifier rubyid_gc'>gc</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
319
+ </td>
320
+ </tr>
321
+ </table>
322
+ </div>
323
+
324
+ <div class="method_details ">
325
+ <h3 class="signature " id="threadsafe?-class_method">
326
+
327
+ .<strong>threadsafe?</strong> &#x21d2; <tt>Boolean</tt>
328
+
329
+
330
+
331
+
332
+
333
+ </h3><div class="docstring">
334
+ <div class="discussion">
335
+ <p>Test if the SQLite3 lib we are using has been compiled to be
336
+ thread safe. Just a wrapper around <code>SQLite3.threadsafe?</code></p>
337
+
338
+
339
+ </div>
340
+ </div>
341
+ <div class="tags">
342
+
343
+ <p class="tag_title">Returns:</p>
344
+ <ul class="return">
345
+
346
+ <li>
347
+
348
+
349
+ <span class='type'>(<tt>Boolean</tt>)</span>
350
+
351
+
352
+
353
+ </li>
354
+
355
+ </ul>
356
+
357
+ </div><table class="source_code">
358
+ <tr>
359
+ <td>
360
+ <pre class="lines">
361
+
362
+
363
+ 285
364
+ 286
365
+ 287</pre>
366
+ </td>
367
+ <td>
368
+ <pre class="code"><span class="info file"># File 'lib/dbmlite3.rb', line 285</span>
369
+
370
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_threadsafe?'>threadsafe?</span>
371
+ <span class='kw'>return</span> <span class='const'>SQLite3</span><span class='period'>.</span><span class='id identifier rubyid_threadsafe?'>threadsafe?</span>
372
+ <span class='kw'>end</span></pre>
373
+ </td>
374
+ </tr>
375
+ </table>
376
+ </div>
377
+
378
+ </div>
379
+
380
+ </div>
381
+
382
+ <div id="footer">
383
+ Generated on Fri Feb 25 14:42:43 2022 by
384
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
385
+ 0.9.25 (ruby-2.7.0).
386
+ </div>
387
+
388
+ </div>
389
+ </body>
390
+ </html>
data/doc/Lite3.html ADDED
@@ -0,0 +1,117 @@
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: Lite3
8
+
9
+ &mdash; Documentation by YARD 0.9.25
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 = "Lite3";
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 (L)</a> &raquo;
40
+
41
+
42
+ <span class="title">Lite3</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: Lite3
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/dbmlite3.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Defined Under Namespace</h2>
87
+ <p class="children">
88
+
89
+
90
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Lite3/SQL.html" title="Lite3::SQL (module)">SQL</a></span>
91
+
92
+
93
+
94
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Lite3/DBM.html" title="Lite3::DBM (class)">DBM</a></span>, <span class='object_link'><a href="Lite3/Error.html" title="Lite3::Error (class)">Error</a></span>
95
+
96
+
97
+ </p>
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+ </div>
108
+
109
+ <div id="footer">
110
+ Generated on Fri Feb 25 14:42:43 2022 by
111
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
112
+ 0.9.25 (ruby-2.7.0).
113
+ </div>
114
+
115
+ </div>
116
+ </body>
117
+ </html>