<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>
inherit from, and is used in an <code>instanceof</code> check when initializing the
library. If you wish to write or customize an adapter, just inherit from
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>
interface. If a <code>connection</code> is specified, use it, otherwise
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>