<!DOCTYPE html><htmllang="en"><head><title>clients/base</title></head><metahttp-equiv="Content-Type"content="text/html; charset=utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><metaname="groc-relative-root"content="../"><metaname="groc-document-path"content="clients/base"><metaname="groc-project-path"content="clients/base.js"><linkrel="stylesheet"type="text/css"media="all"href="../assets/style.css"><scripttype="text/javascript"src="../assets/behavior.js"></script><body><divid="meta"><divclass="file-path">clients/base.js</div></div><divid="document"><divclass="segment"><divclass="comments"><divclass="wrapper"><h2id="clientbase">ClientBase</h2></div></div></div><divclass="segment"><divclass="code"><divclass="wrapper"><spanclass="kd">var</span><spanclass="nx">Helpers</span><spanclass="o">=</span><spanclass="nx">require</span><spanclass="p">(</span><spanclass="s1">'../lib/helpers'</span><spanclass="p">).</span><spanclass="nx">Helpers</span><spanclass="p">;</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>The <code>ClientBase</code> is assumed as the object that all database <code>clients</code>
this base, with <code>ClientBase.extend</code>, and you're good to go.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="kd">var</span><spanclass="nx">ClientBase</span><spanclass="o">=</span><spanclass="kd">function</span><spanclass="p">()</span><spanclass="p">{};</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>The methods assumed when building a client.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">ClientBase</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="o">=</span><spanclass="p">{</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Gets the raw connection for the current client.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">getRawConnection</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">()</span><spanclass="p">{},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Execute a query on the specified <code>Builder</code> or <code>SchemaBuilder</code>
acquire a connection, and then dispose of it when we're done.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">query</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">()</span><spanclass="p">{},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Retrieves a connection from the connection pool,
returning a promise.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">getConnection</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">()</span><spanclass="p">{},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Releases a connection from the connection pool,
returning a promise.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">releaseConnection</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">conn</span><spanclass="p">)</span><spanclass="p">{},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Begins a transaction statement on the instance,
resolving with the connection of the current transaction.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">startTransaction</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">()</span><spanclass="p">{},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Finishes a transaction, taking the <code>type</code></p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">finishTransaction</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">type</span><spanclass="p">,</span><spanclass="nx">transaction</span><spanclass="p">,</span><spanclass="nx">msg</span><spanclass="p">)</span><spanclass="p">{},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>The pool defaults.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">poolDefaults</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">()</span><spanclass="p">{}</span>
<spanclass="p">};</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Grab the standard <code>Object.extend</code> as popularized by Backbone.js.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">ClientBase</span><spanclass="p">.</span><spanclass="nx">extend</span><spanclass="o">=</span><spanclass="nx">Helpers</span><spanclass="p">.</span><spanclass="nx">extend</span><spanclass="p">;</span>