<spanclass="kd">var</span><spanclass="nx">pg</span><spanclass="p">;</span></div></div></div><divclass="segment"><divclass="comments "><divclass="wrapper"><p>Always initialize with the "QueryBuilder" and "QueryCompiler"
objects, which extend the base 'lib/query/builder' and
<spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">dialect</span><spanclass="o">=</span><spanclass="s1">'postgresql'</span><spanclass="p">,</span></div></div></div><divclass="segment"><divclass="comments "><divclass="wrapper"><p>Lazy load the pg dependency, since we might just be using
the client to generate SQL strings.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initDriver</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>Attach a <code>Formatter</code> constructor to the client object.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initFormatter</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>Attaches the <code>Raw</code> constructor to the client object.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initRaw</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>Attaches the <code>Transaction</code> constructor to the client object.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initTransaction</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>Attaches <code>QueryBuilder</code> and <code>QueryCompiler</code> constructors
to the client object.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initQuery</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>Initializes a new pool instance for the current client.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initPool</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>Initialize the query "runner"</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initRunner</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>Lazy-load the schema dependencies; we may not need to use them.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initSchema</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>Lazy-load the migration dependency</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">initMigrator</span><spanclass="o">=</span><spanclass="kd">function</span><spanclass="p">()</span><spanclass="p">{</span>
<spanclass="kd">var</span><spanclass="nx">utils</span><spanclass="p">;</span></div></div></div><divclass="segment"><divclass="comments "><divclass="wrapper"><p>Prep the bindings as needed by PostgreSQL.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">prepBindings</span><spanclass="o">=</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">bindings</span><spanclass="p">,</span><spanclass="nx">tz</span><spanclass="p">)</span><spanclass="p">{</span>
<spanclass="p">};</span></div></div></div><divclass="segment"><divclass="comments "><divclass="wrapper"><p>Get a raw connection, called by the <code>pool</code> whenever a new
connection needs to be added to the pool.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">acquireRawConnection</span><spanclass="o">=</span><spanclass="nx">Promise</span><spanclass="p">.</span><spanclass="nx">method</span><spanclass="p">(</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">callback</span><spanclass="p">)</span><spanclass="p">{</span>
<spanclass="p">}),</span></div></div></div><divclass="segment"><divclass="comments "><divclass="wrapper"><p>Used to explicitly close a connection, called internally by the pool
when a connection times out or the pool is shutdown.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">destroyRawConnection</span><spanclass="o">=</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">connection</span><spanclass="p">)</span><spanclass="p">{</span>
<spanclass="p">};</span></div></div></div><divclass="segment"><divclass="comments "><divclass="wrapper"><p>In PostgreSQL, we need to do a version check to do some feature
checking on the database.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">Client_PG</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="p">.</span><spanclass="nx">checkVersion</span><spanclass="o">=</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">connection</span><spanclass="p">)</span><spanclass="p">{</span>