diff options
Diffstat (limited to 'docs/sqlglot/generator.html')
-rw-r--r-- | docs/sqlglot/generator.html | 76 |
1 files changed, 61 insertions, 15 deletions
diff --git a/docs/sqlglot/generator.html b/docs/sqlglot/generator.html index f9cdc96..7cc1be7 100644 --- a/docs/sqlglot/generator.html +++ b/docs/sqlglot/generator.html @@ -963,6 +963,9 @@ <li> <a class="function" href="#Generator.clusteredbyproperty_sql">clusteredbyproperty_sql</a> </li> + <li> + <a class="function" href="#Generator.anyvalue_sql">anyvalue_sql</a> + </li> </ul> </li> @@ -3417,14 +3420,23 @@ </span><span id="L-2423"><a href="#L-2423"><span class="linenos">2423</span></a> <span class="n">buckets</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="s2">"buckets"</span><span class="p">)</span> </span><span id="L-2424"><a href="#L-2424"><span class="linenos">2424</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">"CLUSTERED BY (</span><span class="si">{</span><span class="n">expressions</span><span class="si">}</span><span class="s2">)</span><span class="si">{</span><span class="n">sorted_by</span><span class="si">}</span><span class="s2"> INTO </span><span class="si">{</span><span class="n">buckets</span><span class="si">}</span><span class="s2"> BUCKETS"</span> </span><span id="L-2425"><a href="#L-2425"><span class="linenos">2425</span></a> -</span><span id="L-2426"><a href="#L-2426"><span class="linenos">2426</span></a> -</span><span id="L-2427"><a href="#L-2427"><span class="linenos">2427</span></a><span class="k">def</span> <span class="nf">cached_generator</span><span class="p">(</span> -</span><span id="L-2428"><a href="#L-2428"><span class="linenos">2428</span></a> <span class="n">cache</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span> -</span><span id="L-2429"><a href="#L-2429"><span class="linenos">2429</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">[[</span><span class="n">exp</span><span class="o">.</span><span class="n">Expression</span><span class="p">],</span> <span class="nb">str</span><span class="p">]:</span> -</span><span id="L-2430"><a href="#L-2430"><span class="linenos">2430</span></a><span class="w"> </span><span class="sd">"""Returns a cached generator."""</span> -</span><span id="L-2431"><a href="#L-2431"><span class="linenos">2431</span></a> <span class="n">cache</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">cache</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">cache</span> -</span><span id="L-2432"><a href="#L-2432"><span class="linenos">2432</span></a> <span class="n">generator</span> <span class="o">=</span> <span class="n">Generator</span><span class="p">(</span><span class="n">normalize</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">identify</span><span class="o">=</span><span class="s2">"safe"</span><span class="p">)</span> -</span><span id="L-2433"><a href="#L-2433"><span class="linenos">2433</span></a> <span class="k">return</span> <span class="k">lambda</span> <span class="n">e</span><span class="p">:</span> <span class="n">generator</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">cache</span><span class="p">)</span> +</span><span id="L-2426"><a href="#L-2426"><span class="linenos">2426</span></a> <span class="k">def</span> <span class="nf">anyvalue_sql</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">AnyValue</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span> +</span><span id="L-2427"><a href="#L-2427"><span class="linenos">2427</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="s2">"this"</span><span class="p">)</span> +</span><span id="L-2428"><a href="#L-2428"><span class="linenos">2428</span></a> <span class="n">having</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="s2">"having"</span><span class="p">)</span> +</span><span id="L-2429"><a href="#L-2429"><span class="linenos">2429</span></a> +</span><span id="L-2430"><a href="#L-2430"><span class="linenos">2430</span></a> <span class="k">if</span> <span class="n">having</span><span class="p">:</span> +</span><span id="L-2431"><a href="#L-2431"><span class="linenos">2431</span></a> <span class="n">this</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">this</span><span class="si">}</span><span class="s2"> HAVING </span><span class="si">{</span><span class="s1">'MAX'</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'max'</span><span class="p">)</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="s1">'MIN'</span><span class="si">}</span><span class="s2"> </span><span class="si">{</span><span class="n">having</span><span class="si">}</span><span class="s2">"</span> +</span><span id="L-2432"><a href="#L-2432"><span class="linenos">2432</span></a> +</span><span id="L-2433"><a href="#L-2433"><span class="linenos">2433</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">func</span><span class="p">(</span><span class="s2">"ANY_VALUE"</span><span class="p">,</span> <span class="n">this</span><span class="p">)</span> +</span><span id="L-2434"><a href="#L-2434"><span class="linenos">2434</span></a> +</span><span id="L-2435"><a href="#L-2435"><span class="linenos">2435</span></a> +</span><span id="L-2436"><a href="#L-2436"><span class="linenos">2436</span></a><span class="k">def</span> <span class="nf">cached_generator</span><span class="p">(</span> +</span><span id="L-2437"><a href="#L-2437"><span class="linenos">2437</span></a> <span class="n">cache</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span> +</span><span id="L-2438"><a href="#L-2438"><span class="linenos">2438</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">[[</span><span class="n">exp</span><span class="o">.</span><span class="n">Expression</span><span class="p">],</span> <span class="nb">str</span><span class="p">]:</span> +</span><span id="L-2439"><a href="#L-2439"><span class="linenos">2439</span></a><span class="w"> </span><span class="sd">"""Returns a cached generator."""</span> +</span><span id="L-2440"><a href="#L-2440"><span class="linenos">2440</span></a> <span class="n">cache</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">cache</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">cache</span> +</span><span id="L-2441"><a href="#L-2441"><span class="linenos">2441</span></a> <span class="n">generator</span> <span class="o">=</span> <span class="n">Generator</span><span class="p">(</span><span class="n">normalize</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">identify</span><span class="o">=</span><span class="s2">"safe"</span><span class="p">)</span> +</span><span id="L-2442"><a href="#L-2442"><span class="linenos">2442</span></a> <span class="k">return</span> <span class="k">lambda</span> <span class="n">e</span><span class="p">:</span> <span class="n">generator</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">cache</span><span class="p">)</span> </span></pre></div> @@ -5862,6 +5874,15 @@ </span><span id="Generator-2423"><a href="#Generator-2423"><span class="linenos">2423</span></a> <span class="n">sorted_by</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">" SORTED BY (</span><span class="si">{</span><span class="n">sorted_by</span><span class="si">}</span><span class="s2">)"</span> <span class="k">if</span> <span class="n">sorted_by</span> <span class="k">else</span> <span class="s2">""</span> </span><span id="Generator-2424"><a href="#Generator-2424"><span class="linenos">2424</span></a> <span class="n">buckets</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="s2">"buckets"</span><span class="p">)</span> </span><span id="Generator-2425"><a href="#Generator-2425"><span class="linenos">2425</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">"CLUSTERED BY (</span><span class="si">{</span><span class="n">expressions</span><span class="si">}</span><span class="s2">)</span><span class="si">{</span><span class="n">sorted_by</span><span class="si">}</span><span class="s2"> INTO </span><span class="si">{</span><span class="n">buckets</span><span class="si">}</span><span class="s2"> BUCKETS"</span> +</span><span id="Generator-2426"><a href="#Generator-2426"><span class="linenos">2426</span></a> +</span><span id="Generator-2427"><a href="#Generator-2427"><span class="linenos">2427</span></a> <span class="k">def</span> <span class="nf">anyvalue_sql</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">AnyValue</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span> +</span><span id="Generator-2428"><a href="#Generator-2428"><span class="linenos">2428</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="s2">"this"</span><span class="p">)</span> +</span><span id="Generator-2429"><a href="#Generator-2429"><span class="linenos">2429</span></a> <span class="n">having</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="s2">"having"</span><span class="p">)</span> +</span><span id="Generator-2430"><a href="#Generator-2430"><span class="linenos">2430</span></a> +</span><span id="Generator-2431"><a href="#Generator-2431"><span class="linenos">2431</span></a> <span class="k">if</span> <span class="n">having</span><span class="p">:</span> +</span><span id="Generator-2432"><a href="#Generator-2432"><span class="linenos">2432</span></a> <span class="n">this</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">this</span><span class="si">}</span><span class="s2"> HAVING </span><span class="si">{</span><span class="s1">'MAX'</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'max'</span><span class="p">)</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="s1">'MIN'</span><span class="si">}</span><span class="s2"> </span><span class="si">{</span><span class="n">having</span><span class="si">}</span><span class="s2">"</span> +</span><span id="Generator-2433"><a href="#Generator-2433"><span class="linenos">2433</span></a> +</span><span id="Generator-2434"><a href="#Generator-2434"><span class="linenos">2434</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">func</span><span class="p">(</span><span class="s2">"ANY_VALUE"</span><span class="p">,</span> <span class="n">this</span><span class="p">)</span> </span></pre></div> @@ -12756,6 +12777,31 @@ which can be slow to compute, so only use it if you set _hash on each node.</li> </div> + <div id="Generator.anyvalue_sql" class="classattr"> + <input id="Generator.anyvalue_sql-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1"> +<div class="attr function"> + + <span class="def">def</span> + <span class="name">anyvalue_sql</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">expression</span><span class="p">:</span> <span class="n"><a href="expressions.html#AnyValue">sqlglot.expressions.AnyValue</a></span></span><span class="return-annotation">) -> <span class="nb">str</span>:</span></span> + + <label class="view-source-button" for="Generator.anyvalue_sql-view-source"><span>View Source</span></label> + + </div> + <a class="headerlink" href="#Generator.anyvalue_sql"></a> + <div class="pdoc-code codehilite"><pre><span></span><span id="Generator.anyvalue_sql-2427"><a href="#Generator.anyvalue_sql-2427"><span class="linenos">2427</span></a> <span class="k">def</span> <span class="nf">anyvalue_sql</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">expression</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">AnyValue</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span> +</span><span id="Generator.anyvalue_sql-2428"><a href="#Generator.anyvalue_sql-2428"><span class="linenos">2428</span></a> <span class="n">this</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="s2">"this"</span><span class="p">)</span> +</span><span id="Generator.anyvalue_sql-2429"><a href="#Generator.anyvalue_sql-2429"><span class="linenos">2429</span></a> <span class="n">having</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="s2">"having"</span><span class="p">)</span> +</span><span id="Generator.anyvalue_sql-2430"><a href="#Generator.anyvalue_sql-2430"><span class="linenos">2430</span></a> +</span><span id="Generator.anyvalue_sql-2431"><a href="#Generator.anyvalue_sql-2431"><span class="linenos">2431</span></a> <span class="k">if</span> <span class="n">having</span><span class="p">:</span> +</span><span id="Generator.anyvalue_sql-2432"><a href="#Generator.anyvalue_sql-2432"><span class="linenos">2432</span></a> <span class="n">this</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">this</span><span class="si">}</span><span class="s2"> HAVING </span><span class="si">{</span><span class="s1">'MAX'</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="n">expression</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'max'</span><span class="p">)</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="s1">'MIN'</span><span class="si">}</span><span class="s2"> </span><span class="si">{</span><span class="n">having</span><span class="si">}</span><span class="s2">"</span> +</span><span id="Generator.anyvalue_sql-2433"><a href="#Generator.anyvalue_sql-2433"><span class="linenos">2433</span></a> +</span><span id="Generator.anyvalue_sql-2434"><a href="#Generator.anyvalue_sql-2434"><span class="linenos">2434</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">func</span><span class="p">(</span><span class="s2">"ANY_VALUE"</span><span class="p">,</span> <span class="n">this</span><span class="p">)</span> +</span></pre></div> + + + + + </div> </section> <section id="cached_generator"> <input id="cached_generator-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1"> @@ -12768,13 +12814,13 @@ which can be slow to compute, so only use it if you set _hash on each node.</li> </div> <a class="headerlink" href="#cached_generator"></a> - <div class="pdoc-code codehilite"><pre><span></span><span id="cached_generator-2428"><a href="#cached_generator-2428"><span class="linenos">2428</span></a><span class="k">def</span> <span class="nf">cached_generator</span><span class="p">(</span> -</span><span id="cached_generator-2429"><a href="#cached_generator-2429"><span class="linenos">2429</span></a> <span class="n">cache</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span> -</span><span id="cached_generator-2430"><a href="#cached_generator-2430"><span class="linenos">2430</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">[[</span><span class="n">exp</span><span class="o">.</span><span class="n">Expression</span><span class="p">],</span> <span class="nb">str</span><span class="p">]:</span> -</span><span id="cached_generator-2431"><a href="#cached_generator-2431"><span class="linenos">2431</span></a><span class="w"> </span><span class="sd">"""Returns a cached generator."""</span> -</span><span id="cached_generator-2432"><a href="#cached_generator-2432"><span class="linenos">2432</span></a> <span class="n">cache</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">cache</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">cache</span> -</span><span id="cached_generator-2433"><a href="#cached_generator-2433"><span class="linenos">2433</span></a> <span class="n">generator</span> <span class="o">=</span> <span class="n">Generator</span><span class="p">(</span><span class="n">normalize</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">identify</span><span class="o">=</span><span class="s2">"safe"</span><span class="p">)</span> -</span><span id="cached_generator-2434"><a href="#cached_generator-2434"><span class="linenos">2434</span></a> <span class="k">return</span> <span class="k">lambda</span> <span class="n">e</span><span class="p">:</span> <span class="n">generator</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">cache</span><span class="p">)</span> + <div class="pdoc-code codehilite"><pre><span></span><span id="cached_generator-2437"><a href="#cached_generator-2437"><span class="linenos">2437</span></a><span class="k">def</span> <span class="nf">cached_generator</span><span class="p">(</span> +</span><span id="cached_generator-2438"><a href="#cached_generator-2438"><span class="linenos">2438</span></a> <span class="n">cache</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span> +</span><span id="cached_generator-2439"><a href="#cached_generator-2439"><span class="linenos">2439</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Callable</span><span class="p">[[</span><span class="n">exp</span><span class="o">.</span><span class="n">Expression</span><span class="p">],</span> <span class="nb">str</span><span class="p">]:</span> +</span><span id="cached_generator-2440"><a href="#cached_generator-2440"><span class="linenos">2440</span></a><span class="w"> </span><span class="sd">"""Returns a cached generator."""</span> +</span><span id="cached_generator-2441"><a href="#cached_generator-2441"><span class="linenos">2441</span></a> <span class="n">cache</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">cache</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">cache</span> +</span><span id="cached_generator-2442"><a href="#cached_generator-2442"><span class="linenos">2442</span></a> <span class="n">generator</span> <span class="o">=</span> <span class="n">Generator</span><span class="p">(</span><span class="n">normalize</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">identify</span><span class="o">=</span><span class="s2">"safe"</span><span class="p">)</span> +</span><span id="cached_generator-2443"><a href="#cached_generator-2443"><span class="linenos">2443</span></a> <span class="k">return</span> <span class="k">lambda</span> <span class="n">e</span><span class="p">:</span> <span class="n">generator</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">cache</span><span class="p">)</span> </span></pre></div> |