knex/docs/clients/server/mysql/grammar.html

15 lines
5.7 KiB
HTML
Raw Normal View History

2013-11-25 02:06:42 -05:00
<!DOCTYPE html><html lang="en"><head><title>clients/server/mysql/grammar</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content="../../../"><meta name="groc-document-path" content="clients/server/mysql/grammar"><meta name="groc-project-path" content="clients/server/mysql/grammar.js"><link rel="stylesheet" type="text/css" media="all" href="../../../assets/style.css"><script type="text/javascript" src="../../../assets/behavior.js"></script><body><div id="meta"><div class="file-path">clients/server/mysql/grammar.js</div></div><div id="document"><div class="segment"><div class="comments"><div class="wrapper"><h2 id="mysql-grammar">MySQL Grammar</h2></div></div></div><div class="segment"><div class="code"><div class="wrapper"><span class="kd">var</span> <span class="nx">_</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;lodash&#39;</span><span class="p">);</span>
2013-09-18 11:56:32 -04:00
<span class="kd">var</span> <span class="nx">Helpers</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;../../../lib/helpers&#39;</span><span class="p">).</span><span class="nx">Helpers</span><span class="p">;</span>
2013-09-17 07:15:18 -04:00
<span class="kd">var</span> <span class="nx">baseGrammar</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;../../base/grammar&#39;</span><span class="p">).</span><span class="nx">baseGrammar</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Extends the standard sql grammar.</p></div></div><div class="code"><div class="wrapper"><span class="nx">exports</span><span class="p">.</span><span class="nx">grammar</span> <span class="o">=</span> <span class="nx">_</span><span class="p">.</span><span class="nx">defaults</span><span class="p">({</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>The keyword identifier wrapper format.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">wrapValue</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">value</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="p">(</span><span class="nx">value</span> <span class="o">!==</span> <span class="s1">&#39;*&#39;</span> <span class="o">?</span> <span class="nx">Helpers</span><span class="p">.</span><span class="nx">format</span><span class="p">(</span><span class="s1">&#39;`%s`&#39;</span><span class="p">,</span> <span class="nx">value</span><span class="p">)</span> <span class="o">:</span> <span class="s2">&quot;*&quot;</span><span class="p">);</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Ensures the response is returned in the same format as other clients.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">handleResponse</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">builder</span><span class="p">,</span> <span class="nx">response</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">response</span> <span class="o">=</span> <span class="nx">response</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s1">&#39;select&#39;</span><span class="p">)</span> <span class="nx">response</span> <span class="o">=</span> <span class="nx">Helpers</span><span class="p">.</span><span class="nx">skim</span><span class="p">(</span><span class="nx">response</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s1">&#39;insert&#39;</span><span class="p">)</span> <span class="nx">response</span> <span class="o">=</span> <span class="p">[</span><span class="nx">response</span><span class="p">.</span><span class="nx">insertId</span><span class="p">];</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">builder</span><span class="p">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s1">&#39;delete&#39;</span> <span class="o">||</span> <span class="nx">builder</span><span class="p">.</span><span class="nx">type</span> <span class="o">===</span> <span class="s1">&#39;update&#39;</span><span class="p">)</span> <span class="nx">response</span> <span class="o">=</span> <span class="nx">response</span><span class="p">.</span><span class="nx">affectedRows</span><span class="p">;</span>
<span class="k">return</span> <span class="nx">response</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Adds a <code>for share</code> clause to the query, relevant with transactions.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileForShare</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;lock in share mode&#39;</span><span class="p">;</span>
2013-09-17 07:15:18 -04:00
<span class="p">}</span>
<span class="p">},</span> <span class="nx">baseGrammar</span><span class="p">);</span></div></div></div></div></body></html>