-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathio.randomseed.utils.db.types.html
More file actions
27 lines (27 loc) · 23.5 KB
/
io.randomseed.utils.db.types.html
File metadata and controls
27 lines (27 loc) · 23.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>io.randomseed.utils.db.types documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script><link rel="stylesheet" type="text/css" href="css/randomseed.css" /></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Random:utils</span> <span class="project-version">2.0.11</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="10_introduction.html"><div class="inner"><span>Introduction</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>io</span></div></div></li><li class="depth-2"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>randomseed</span></div></div></li><li class="depth-3"><a href="io.randomseed.utils.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>utils</span></div></a></li><li class="depth-4"><a href="io.randomseed.utils.auth.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>auth</span></div></a></li><li class="depth-5"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>algo</span></div></div></li><li class="depth-6 branch"><a href="io.randomseed.utils.auth.algo.append.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>append</span></div></a></li><li class="depth-6 branch"><a href="io.randomseed.utils.auth.algo.fail.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>fail</span></div></a></li><li class="depth-6 branch"><a href="io.randomseed.utils.auth.algo.pbkdf2.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>pbkdf2</span></div></a></li><li class="depth-6"><a href="io.randomseed.utils.auth.algo.scrypt.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>scrypt</span></div></a></li><li class="depth-5 branch"><a href="io.randomseed.utils.auth.locking.html"><div class="inner"><span class="tree" style="top: -145px;"><span class="top" style="height: 154px;"></span><span class="bottom"></span></span><span>locking</span></div></a></li><li class="depth-5 branch"><a href="io.randomseed.utils.auth.pwd.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>pwd</span></div></a></li><li class="depth-5 branch"><a href="io.randomseed.utils.auth.specs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>specs</span></div></a></li><li class="depth-5"><a href="io.randomseed.utils.auth.types.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>types</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.bot.html"><div class="inner"><span class="tree" style="top: -300px;"><span class="top" style="height: 309px;"></span><span class="bottom"></span></span><span>bot</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.bus.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bus</span></div></a></li><li class="depth-4"><a href="io.randomseed.utils.crypto.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>crypto</span></div></a></li><li class="depth-5"><a href="io.randomseed.utils.crypto.codecs.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>codecs</span></div></a></li><li class="depth-4"><a href="io.randomseed.utils.db.html"><div class="inner"><span class="tree" style="top: -52px;"><span class="top" style="height: 61px;"></span><span class="bottom"></span></span><span>db</span></div></a></li><li class="depth-5 branch"><a href="io.randomseed.utils.db.coercion.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>coercion</span></div></a></li><li class="depth-5 branch"><a href="io.randomseed.utils.db.sql.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sql</span></div></a></li><li class="depth-5 current"><a href="io.randomseed.utils.db.types.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>types</span></div></a></li><li class="depth-6 branch"><a href="io.randomseed.utils.db.types.identity.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>identity</span></div></a></li><li class="depth-6"><a href="io.randomseed.utils.db.types.ip.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>ip</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.fs.html"><div class="inner"><span class="tree" style="top: -176px;"><span class="top" style="height: 185px;"></span><span class="bottom"></span></span><span>fs</span></div></a></li><li class="depth-4"><a href="io.randomseed.utils.identity.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>identity</span></div></a></li><li class="depth-5 branch"><a href="io.randomseed.utils.identity.proto.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>proto</span></div></a></li><li class="depth-5"><a href="io.randomseed.utils.identity.types.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>types</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.ip.html"><div class="inner"><span class="tree" style="top: -83px;"><span class="top" style="height: 92px;"></span><span class="bottom"></span></span><span>ip</span></div></a></li><li class="depth-4"><a href="io.randomseed.utils.log.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>log</span></div></a></li><li class="depth-5"><a href="io.randomseed.utils.log.logback.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>logback</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.map.html"><div class="inner"><span class="tree" style="top: -52px;"><span class="top" style="height: 61px;"></span><span class="bottom"></span></span><span>map</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.nop-cache.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>nop-cache</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.qe.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>qe</span></div></a></li><li class="depth-4"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>reitit</span></div></div></li><li class="depth-5"><a href="io.randomseed.utils.reitit.http.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>http</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.set.html"><div class="inner"><span class="tree" style="top: -52px;"><span class="top" style="height: 61px;"></span><span class="bottom"></span></span><span>set</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.time.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>time</span></div></a></li><li class="depth-4"><a href="io.randomseed.utils.validators.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>validators</span></div></a></li><li class="depth-5"><a href="io.randomseed.utils.validators.common.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>common</span></div></a></li><li class="depth-4 branch"><a href="io.randomseed.utils.var.html"><div class="inner"><span class="tree" style="top: -52px;"><span class="top" style="height: 61px;"></span><span class="bottom"></span></span><span>var</span></div></a></li><li class="depth-4"><a href="io.randomseed.utils.vec.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>vec</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-add-all-accessors"><div class="inner"><span>add-all-accessors</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-add-all-readers"><div class="inner"><span>add-all-readers</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-add-all-setters"><div class="inner"><span>add-all-setters</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-add-reader-blob"><div class="inner"><span>add-reader-blob</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-add-reader-date"><div class="inner"><span>add-reader-date</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-add-setter-date"><div class="inner"><span>add-setter-date</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-add-setter-uuid"><div class="inner"><span>add-setter-uuid</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-adders-resource-path"><div class="inner"><span>adders-resource-path</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-opts-map"><div class="inner"><span>opts-map</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-opts-simple-map"><div class="inner"><span>opts-simple-map</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-opts-simple-vec"><div class="inner"><span>opts-simple-vec</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-opts-slashed-map"><div class="inner"><span>opts-slashed-map</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-opts-slashed-vec"><div class="inner"><span>opts-slashed-vec</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-opts-vec"><div class="inner"><span>opts-vec</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-register-reader-adder.21"><div class="inner"><span>register-reader-adder!</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-register-setter-adder.21"><div class="inner"><span>register-setter-adder!</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-to-lisp"><div class="inner"><span>to-lisp</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-to-lisp-simple"><div class="inner"><span>to-lisp-simple</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-to-lisp-slashed"><div class="inner"><span>to-lisp-slashed</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-to-snake"><div class="inner"><span>to-snake</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-to-snake-simple"><div class="inner"><span>to-snake-simple</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-to-snake-slashed"><div class="inner"><span>to-snake-slashed</span></div></a></li><li class="depth-1"><a href="io.randomseed.utils.db.types.html#var-utc-time-zone"><div class="inner"><span>utc-time-zone</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">io.randomseed.utils.db.types</h1><h4 class="added">added in 2.0.9</h4><div class="doc"><div class="markdown"><p>Opinionated database type conversions.</p>
</div></div><div class="public anchor" id="var-add-all-accessors"><h3>add-all-accessors</h3><div class="usage"><code>(add-all-accessors)</code></div><div class="doc"><div class="markdown"><p>Adds all opinionated readers and setters by calling <code>add-all-readers</code> and <code>add-all-setters</code>.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L266">view source</a></div></div><div class="public anchor" id="var-add-all-readers"><h3>add-all-readers</h3><div class="usage"><code>(add-all-readers)</code></div><div class="doc"><div class="markdown"><p>Adds all opinionated readers by calling <code>add-reader-date</code>, <code>add-reader-blob</code>, and reader adders registered with <code>register-reader-adder!</code>.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L175">view source</a></div></div><div class="public anchor" id="var-add-all-setters"><h3>add-all-setters</h3><div class="usage"><code>(add-all-setters)</code></div><div class="doc"><div class="markdown"><p>Adds all opinionated setters by calling core setter adders and setter adders registered with <code>register-setter-adder!</code>.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L257">view source</a></div></div><div class="public anchor" id="var-add-reader-blob"><h3>add-reader-blob</h3><div class="usage"><code>(add-reader-blob)</code></div><div class="doc"><div class="markdown"><p>Extends <code>next.jdbc.result-set/ReadableColumn</code> protocol to support binary large object (BLOB) conversions, so <code>java.sql.Blob</code> data are converted to an array of bytes (<code>bytes[]</code>).</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L161">view source</a></div></div><div class="public anchor" id="var-add-reader-date"><h3>add-reader-date</h3><div class="usage"><code>(add-reader-date)</code></div><div class="doc"><div class="markdown"><p>Extends <code>next.jdbc.result-set/ReadableColumn</code> protocol to support date/time conversions so <code>java.sql.Date</code> data are passed as-is and <code>java.sql.Timestamp</code> data are converted to <code>java.sql.Timestamp</code>.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L142">view source</a></div></div><div class="public anchor" id="var-add-setter-date"><h3>add-setter-date</h3><div class="usage"><code>(add-setter-date)</code></div><div class="doc"><div class="markdown"><p>Extends <code>next.jdbc.prepare/SettableParameter</code> protocol to support date/time conversions so <code>java.sql.Date</code> data are saved using <code>.setDate</code> method and <code>java.sql.Timestamp</code>, <code>java.time.Instant</code>, <code>java.time.ZonedTime</code>, <code>java.time.LocalDate</code>, <code>java.time.LocalDateTime</code> and <code>java.util.Date</code> are saved with <code>.setTimestamp</code>. Also note that <code>java.time.Instant</code>, <code>java.time.ZonedDateTime</code> and <code>java.util.Date</code> are explicitly converted to UTC before saving.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L186">view source</a></div></div><div class="public anchor" id="var-add-setter-uuid"><h3>add-setter-uuid</h3><div class="usage"><code>(add-setter-uuid)</code></div><div class="doc"><div class="markdown"><p>Extends <code>next.jdbc.prepare/SettableParameter</code> protocol to support UUID conversions so <code>java.util.UUID</code> data are converted to an array of bytes and then saved using <code>.setBytes</code> method.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L243">view source</a></div></div><div class="public anchor" id="var-adders-resource-path"><h3>adders-resource-path</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Classpath resource path used by optional DB adapter registration.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L30">view source</a></div></div><div class="public anchor" id="var-opts-map"><h3>opts-map</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Default next.jdbc options for qualified map results with snake/lisp case conversion.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L334">view source</a></div></div><div class="public anchor" id="var-opts-simple-map"><h3>opts-simple-map</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Default next.jdbc options for unqualified map results with snake/lisp case conversion.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L343">view source</a></div></div><div class="public anchor" id="var-opts-simple-vec"><h3>opts-simple-vec</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Default next.jdbc options for unqualified vector results with snake/lisp case conversion.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L370">view source</a></div></div><div class="public anchor" id="var-opts-slashed-map"><h3>opts-slashed-map</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Default next.jdbc options for unqualified map results using slashed lisp-case labels.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L352">view source</a></div></div><div class="public anchor" id="var-opts-slashed-vec"><h3>opts-slashed-vec</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Default next.jdbc options for unqualified vector results using slashed lisp-case labels.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L379">view source</a></div></div><div class="public anchor" id="var-opts-vec"><h3>opts-vec</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Default next.jdbc options for qualified vector results with snake/lisp case conversion.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L361">view source</a></div></div><div class="public anchor" id="var-register-reader-adder.21"><h3>register-reader-adder!</h3><div class="usage"><code>(register-reader-adder! adder)</code></div><div class="doc"><div class="markdown"><p>Registers a no-arg reader-adder function (or var). Registered adders are executed by <code>add-all-readers</code>.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L59">view source</a></div></div><div class="public anchor" id="var-register-setter-adder.21"><h3>register-setter-adder!</h3><div class="usage"><code>(register-setter-adder! adder)</code></div><div class="doc"><div class="markdown"><p>Registers a no-arg setter-adder function (or var). Registered adders are executed by <code>add-all-setters</code>.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L65">view source</a></div></div><div class="public anchor" id="var-to-lisp"><h3>to-lisp</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Memoized converter from snake_case to lisp-case (handles namespaced identifiers).</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L316">view source</a></div></div><div class="public anchor" id="var-to-lisp-simple"><h3>to-lisp-simple</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Memoized converter from snake_case to lisp-case (simple, name-only).</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L319">view source</a></div></div><div class="public anchor" id="var-to-lisp-slashed"><h3>to-lisp-slashed</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Memoized converter from snake_case to lisp-case (uses slash as separator).</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L322">view source</a></div></div><div class="public anchor" id="var-to-snake"><h3>to-snake</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Memoized converter from lisp-case to snake_case (handles namespaced identifiers).</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L325">view source</a></div></div><div class="public anchor" id="var-to-snake-simple"><h3>to-snake-simple</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Memoized converter from lisp-case to snake_case (simple, name-only).</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L328">view source</a></div></div><div class="public anchor" id="var-to-snake-slashed"><h3>to-snake-slashed</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Memoized converter from lisp-case to snake_case (uses slash as separator).</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db.clj#L331">view source</a></div></div><div class="public anchor" id="var-utc-time-zone"><h3>utc-time-zone</h3><div class="usage"></div><div class="doc"><div class="markdown"><p>Cached UTC <code>TimeZone</code> instance used for timestamp conversions.</p>
</div></div><div class="src-link"><a href="https://github.com/randomseed-io/utils/tree/2.0.11/modules/db/src/io/randomseed/utils/db/types.clj#L23">view source</a></div></div></div></body></html>