summaryrefslogtreecommitdiffstats
path: root/docs/sqlglot/expressions.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-02-12 06:15:45 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-02-12 06:15:45 +0000
commit2d4657dbba42ff38ad3db64e494a9cf89df98c07 (patch)
treeaf0b12a888fe75ab863e2ecc52e1bf95f25f7f30 /docs/sqlglot/expressions.html
parentReleasing debian version 21.0.1-1. (diff)
downloadsqlglot-2d4657dbba42ff38ad3db64e494a9cf89df98c07.tar.xz
sqlglot-2d4657dbba42ff38ad3db64e494a9cf89df98c07.zip
Merging upstream version 21.0.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'docs/sqlglot/expressions.html')
-rw-r--r--docs/sqlglot/expressions.html110
1 files changed, 69 insertions, 41 deletions
diff --git a/docs/sqlglot/expressions.html b/docs/sqlglot/expressions.html
index a1e3fc8..814c3e5 100644
--- a/docs/sqlglot/expressions.html
+++ b/docs/sqlglot/expressions.html
@@ -5739,6 +5739,9 @@
<a class="variable" href="#JSONExtract.arg_types">arg_types</a>
</li>
<li>
+ <a class="variable" href="#JSONExtract.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
<a class="variable" href="#JSONExtract.output_name">output_name</a>
</li>
<li>
@@ -5754,6 +5757,9 @@
<a class="variable" href="#JSONExtractScalar.arg_types">arg_types</a>
</li>
<li>
+ <a class="variable" href="#JSONExtractScalar.is_var_len_args">is_var_len_args</a>
+ </li>
+ <li>
<a class="variable" href="#JSONExtractScalar.output_name">output_name</a>
</li>
<li>
@@ -8878,7 +8884,7 @@ SQL expressions, such as <code><a href="#select">select</a></code>.</p>
</span><span id="L-1796"><a href="#L-1796"><span class="linenos">1796</span></a>
</span><span id="L-1797"><a href="#L-1797"><span class="linenos">1797</span></a>
</span><span id="L-1798"><a href="#L-1798"><span class="linenos">1798</span></a><span class="k">class</span> <span class="nc">Limit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1799"><a href="#L-1799"><span class="linenos">1799</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-1799"><a href="#L-1799"><span class="linenos">1799</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1800"><a href="#L-1800"><span class="linenos">1800</span></a>
</span><span id="L-1801"><a href="#L-1801"><span class="linenos">1801</span></a>
</span><span id="L-1802"><a href="#L-1802"><span class="linenos">1802</span></a><span class="k">class</span> <span class="nc">Literal</span><span class="p">(</span><span class="n">Condition</span><span class="p">):</span>
@@ -9051,7 +9057,7 @@ SQL expressions, such as <code><a href="#select">select</a></code>.</p>
</span><span id="L-1969"><a href="#L-1969"><span class="linenos">1969</span></a>
</span><span id="L-1970"><a href="#L-1970"><span class="linenos">1970</span></a>
</span><span id="L-1971"><a href="#L-1971"><span class="linenos">1971</span></a><span class="k">class</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="L-1972"><a href="#L-1972"><span class="linenos">1972</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="L-1972"><a href="#L-1972"><span class="linenos">1972</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span><span id="L-1973"><a href="#L-1973"><span class="linenos">1973</span></a>
</span><span id="L-1974"><a href="#L-1974"><span class="linenos">1974</span></a>
</span><span id="L-1975"><a href="#L-1975"><span class="linenos">1975</span></a><span class="k">class</span> <span class="nc">Order</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
@@ -12099,19 +12105,19 @@ SQL expressions, such as <code><a href="#select">select</a></code>.</p>
</span><span id="L-5017"><a href="#L-5017"><span class="linenos">5017</span></a>
</span><span id="L-5018"><a href="#L-5018"><span class="linenos">5018</span></a>
</span><span id="L-5019"><a href="#L-5019"><span class="linenos">5019</span></a><span class="k">class</span> <span class="nc">JSONExtract</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="L-5020"><a href="#L-5020"><span class="linenos">5020</span></a> <span class="c1"># MySQL and SQLite support a variant of JSON_EXTRACT where you can have multiple JSON</span>
-</span><span id="L-5021"><a href="#L-5021"><span class="linenos">5021</span></a> <span class="c1"># paths and you get back a list of values. These paths will be stored in `expressions`</span>
-</span><span id="L-5022"><a href="#L-5022"><span class="linenos">5022</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-5023"><a href="#L-5023"><span class="linenos">5023</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT&quot;</span><span class="p">]</span>
-</span><span id="L-5024"><a href="#L-5024"><span class="linenos">5024</span></a>
-</span><span id="L-5025"><a href="#L-5025"><span class="linenos">5025</span></a> <span class="nd">@property</span>
-</span><span id="L-5026"><a href="#L-5026"><span class="linenos">5026</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="L-5027"><a href="#L-5027"><span class="linenos">5027</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">output_name</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-5020"><a href="#L-5020"><span class="linenos">5020</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-5021"><a href="#L-5021"><span class="linenos">5021</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT&quot;</span><span class="p">]</span>
+</span><span id="L-5022"><a href="#L-5022"><span class="linenos">5022</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="L-5023"><a href="#L-5023"><span class="linenos">5023</span></a>
+</span><span id="L-5024"><a href="#L-5024"><span class="linenos">5024</span></a> <span class="nd">@property</span>
+</span><span id="L-5025"><a href="#L-5025"><span class="linenos">5025</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="L-5026"><a href="#L-5026"><span class="linenos">5026</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">output_name</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+</span><span id="L-5027"><a href="#L-5027"><span class="linenos">5027</span></a>
</span><span id="L-5028"><a href="#L-5028"><span class="linenos">5028</span></a>
-</span><span id="L-5029"><a href="#L-5029"><span class="linenos">5029</span></a>
-</span><span id="L-5030"><a href="#L-5030"><span class="linenos">5030</span></a><span class="k">class</span> <span class="nc">JSONExtractScalar</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="L-5031"><a href="#L-5031"><span class="linenos">5031</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;null_if_invalid&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="L-5032"><a href="#L-5032"><span class="linenos">5032</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+</span><span id="L-5029"><a href="#L-5029"><span class="linenos">5029</span></a><span class="k">class</span> <span class="nc">JSONExtractScalar</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
+</span><span id="L-5030"><a href="#L-5030"><span class="linenos">5030</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="L-5031"><a href="#L-5031"><span class="linenos">5031</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+</span><span id="L-5032"><a href="#L-5032"><span class="linenos">5032</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-5033"><a href="#L-5033"><span class="linenos">5033</span></a>
</span><span id="L-5034"><a href="#L-5034"><span class="linenos">5034</span></a> <span class="nd">@property</span>
</span><span id="L-5035"><a href="#L-5035"><span class="linenos">5035</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
@@ -29837,7 +29843,7 @@ Otherwise, this resets the expressions.</li>
</div>
<a class="headerlink" href="#Limit"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Limit-1799"><a href="#Limit-1799"><span class="linenos">1799</span></a><span class="k">class</span> <span class="nc">Limit</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Limit-1800"><a href="#Limit-1800"><span class="linenos">1800</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="Limit-1800"><a href="#Limit-1800"><span class="linenos">1800</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;offset&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
@@ -29846,7 +29852,7 @@ Otherwise, this resets the expressions.</li>
<div id="Limit.arg_types" class="classattr">
<div class="attr variable">
<span class="name">arg_types</span> =
-<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: True, &#39;offset&#39;: False}</span>
+<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: True, &#39;offset&#39;: False, &#39;expressions&#39;: False}</span>
</div>
@@ -31051,7 +31057,7 @@ Otherwise, this resets the expression.</li>
</div>
<a class="headerlink" href="#Offset"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Offset-1972"><a href="#Offset-1972"><span class="linenos">1972</span></a><span class="k">class</span> <span class="nc">Offset</span><span class="p">(</span><span class="n">Expression</span><span class="p">):</span>
-</span><span id="Offset-1973"><a href="#Offset-1973"><span class="linenos">1973</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">}</span>
+</span><span id="Offset-1973"><a href="#Offset-1973"><span class="linenos">1973</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
</span></pre></div>
@@ -31060,7 +31066,7 @@ Otherwise, this resets the expression.</li>
<div id="Offset.arg_types" class="classattr">
<div class="attr variable">
<span class="name">arg_types</span> =
-<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: True}</span>
+<span class="default_value">{&#39;this&#39;: False, &#39;expression&#39;: True, &#39;expressions&#39;: False}</span>
</div>
@@ -47900,7 +47906,7 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<div class="attr variable">
<span class="name">TEXT_TYPES</span> =
<input id="DataType.TEXT_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
- <label class="view-value-button pdoc-button" for="DataType.TEXT_TYPES-view-value"></label><span class="default_value">{&lt;Type.CHAR: &#39;CHAR&#39;&gt;, &lt;Type.NVARCHAR: &#39;NVARCHAR&#39;&gt;, &lt;Type.NCHAR: &#39;NCHAR&#39;&gt;, &lt;Type.VARCHAR: &#39;VARCHAR&#39;&gt;, &lt;Type.TEXT: &#39;TEXT&#39;&gt;}</span>
+ <label class="view-value-button pdoc-button" for="DataType.TEXT_TYPES-view-value"></label><span class="default_value">{&lt;Type.TEXT: &#39;TEXT&#39;&gt;, &lt;Type.NCHAR: &#39;NCHAR&#39;&gt;, &lt;Type.CHAR: &#39;CHAR&#39;&gt;, &lt;Type.VARCHAR: &#39;VARCHAR&#39;&gt;, &lt;Type.NVARCHAR: &#39;NVARCHAR&#39;&gt;}</span>
</div>
@@ -47913,7 +47919,7 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<div class="attr variable">
<span class="name">INTEGER_TYPES</span> =
<input id="DataType.INTEGER_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
- <label class="view-value-button pdoc-button" for="DataType.INTEGER_TYPES-view-value"></label><span class="default_value">{&lt;Type.BIT: &#39;BIT&#39;&gt;, &lt;Type.INT: &#39;INT&#39;&gt;, &lt;Type.TINYINT: &#39;TINYINT&#39;&gt;, &lt;Type.INT128: &#39;INT128&#39;&gt;, &lt;Type.SMALLINT: &#39;SMALLINT&#39;&gt;, &lt;Type.INT256: &#39;INT256&#39;&gt;, &lt;Type.BIGINT: &#39;BIGINT&#39;&gt;}</span>
+ <label class="view-value-button pdoc-button" for="DataType.INTEGER_TYPES-view-value"></label><span class="default_value">{&lt;Type.INT256: &#39;INT256&#39;&gt;, &lt;Type.INT: &#39;INT&#39;&gt;, &lt;Type.TINYINT: &#39;TINYINT&#39;&gt;, &lt;Type.BIT: &#39;BIT&#39;&gt;, &lt;Type.INT128: &#39;INT128&#39;&gt;, &lt;Type.SMALLINT: &#39;SMALLINT&#39;&gt;, &lt;Type.BIGINT: &#39;BIGINT&#39;&gt;}</span>
</div>
@@ -47938,7 +47944,7 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<div class="attr variable">
<span class="name">NUMERIC_TYPES</span> =
<input id="DataType.NUMERIC_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
- <label class="view-value-button pdoc-button" for="DataType.NUMERIC_TYPES-view-value"></label><span class="default_value">{&lt;Type.FLOAT: &#39;FLOAT&#39;&gt;, &lt;Type.BIT: &#39;BIT&#39;&gt;, &lt;Type.INT: &#39;INT&#39;&gt;, &lt;Type.TINYINT: &#39;TINYINT&#39;&gt;, &lt;Type.INT128: &#39;INT128&#39;&gt;, &lt;Type.SMALLINT: &#39;SMALLINT&#39;&gt;, &lt;Type.DOUBLE: &#39;DOUBLE&#39;&gt;, &lt;Type.INT256: &#39;INT256&#39;&gt;, &lt;Type.BIGINT: &#39;BIGINT&#39;&gt;}</span>
+ <label class="view-value-button pdoc-button" for="DataType.NUMERIC_TYPES-view-value"></label><span class="default_value">{&lt;Type.INT256: &#39;INT256&#39;&gt;, &lt;Type.INT: &#39;INT&#39;&gt;, &lt;Type.FLOAT: &#39;FLOAT&#39;&gt;, &lt;Type.TINYINT: &#39;TINYINT&#39;&gt;, &lt;Type.BIT: &#39;BIT&#39;&gt;, &lt;Type.INT128: &#39;INT128&#39;&gt;, &lt;Type.DOUBLE: &#39;DOUBLE&#39;&gt;, &lt;Type.SMALLINT: &#39;SMALLINT&#39;&gt;, &lt;Type.BIGINT: &#39;BIGINT&#39;&gt;}</span>
</div>
@@ -47951,7 +47957,7 @@ If an <code><a href="#Expression">Expression</a></code> instance is passed, it w
<div class="attr variable">
<span class="name">TEMPORAL_TYPES</span> =
<input id="DataType.TEMPORAL_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
- <label class="view-value-button pdoc-button" for="DataType.TEMPORAL_TYPES-view-value"></label><span class="default_value">{&lt;Type.TIMESTAMP: &#39;TIMESTAMP&#39;&gt;, &lt;Type.TIME: &#39;TIME&#39;&gt;, &lt;Type.TIMESTAMP_NS: &#39;TIMESTAMP_NS&#39;&gt;, &lt;Type.DATE: &#39;DATE&#39;&gt;, &lt;Type.TIMESTAMP_S: &#39;TIMESTAMP_S&#39;&gt;, &lt;Type.DATE32: &#39;DATE32&#39;&gt;, &lt;Type.DATETIME: &#39;DATETIME&#39;&gt;, &lt;Type.TIMETZ: &#39;TIMETZ&#39;&gt;, &lt;Type.TIMESTAMPTZ: &#39;TIMESTAMPTZ&#39;&gt;, &lt;Type.TIMESTAMPLTZ: &#39;TIMESTAMPLTZ&#39;&gt;, &lt;Type.TIMESTAMP_MS: &#39;TIMESTAMP_MS&#39;&gt;, &lt;Type.DATETIME64: &#39;DATETIME64&#39;&gt;}</span>
+ <label class="view-value-button pdoc-button" for="DataType.TEMPORAL_TYPES-view-value"></label><span class="default_value">{&lt;Type.DATE: &#39;DATE&#39;&gt;, &lt;Type.TIMETZ: &#39;TIMETZ&#39;&gt;, &lt;Type.TIMESTAMPLTZ: &#39;TIMESTAMPLTZ&#39;&gt;, &lt;Type.TIMESTAMPTZ: &#39;TIMESTAMPTZ&#39;&gt;, &lt;Type.TIMESTAMP: &#39;TIMESTAMP&#39;&gt;, &lt;Type.TIMESTAMP_MS: &#39;TIMESTAMP_MS&#39;&gt;, &lt;Type.DATE32: &#39;DATE32&#39;&gt;, &lt;Type.DATETIME64: &#39;DATETIME64&#39;&gt;, &lt;Type.TIMESTAMP_S: &#39;TIMESTAMP_S&#39;&gt;, &lt;Type.DATETIME: &#39;DATETIME&#39;&gt;, &lt;Type.TIMESTAMP_NS: &#39;TIMESTAMP_NS&#39;&gt;, &lt;Type.TIME: &#39;TIME&#39;&gt;}</span>
</div>
@@ -75298,14 +75304,13 @@ array<int> != array<float>.</p>
</div>
<a class="headerlink" href="#JSONExtract"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtract-5020"><a href="#JSONExtract-5020"><span class="linenos">5020</span></a><span class="k">class</span> <span class="nc">JSONExtract</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="JSONExtract-5021"><a href="#JSONExtract-5021"><span class="linenos">5021</span></a> <span class="c1"># MySQL and SQLite support a variant of JSON_EXTRACT where you can have multiple JSON</span>
-</span><span id="JSONExtract-5022"><a href="#JSONExtract-5022"><span class="linenos">5022</span></a> <span class="c1"># paths and you get back a list of values. These paths will be stored in `expressions`</span>
-</span><span id="JSONExtract-5023"><a href="#JSONExtract-5023"><span class="linenos">5023</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="JSONExtract-5024"><a href="#JSONExtract-5024"><span class="linenos">5024</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT&quot;</span><span class="p">]</span>
-</span><span id="JSONExtract-5025"><a href="#JSONExtract-5025"><span class="linenos">5025</span></a>
-</span><span id="JSONExtract-5026"><a href="#JSONExtract-5026"><span class="linenos">5026</span></a> <span class="nd">@property</span>
-</span><span id="JSONExtract-5027"><a href="#JSONExtract-5027"><span class="linenos">5027</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="JSONExtract-5028"><a href="#JSONExtract-5028"><span class="linenos">5028</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">output_name</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+</span><span id="JSONExtract-5021"><a href="#JSONExtract-5021"><span class="linenos">5021</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="JSONExtract-5022"><a href="#JSONExtract-5022"><span class="linenos">5022</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT&quot;</span><span class="p">]</span>
+</span><span id="JSONExtract-5023"><a href="#JSONExtract-5023"><span class="linenos">5023</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
+</span><span id="JSONExtract-5024"><a href="#JSONExtract-5024"><span class="linenos">5024</span></a>
+</span><span id="JSONExtract-5025"><a href="#JSONExtract-5025"><span class="linenos">5025</span></a> <span class="nd">@property</span>
+</span><span id="JSONExtract-5026"><a href="#JSONExtract-5026"><span class="linenos">5026</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="JSONExtract-5027"><a href="#JSONExtract-5027"><span class="linenos">5027</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">output_name</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
</span></pre></div>
@@ -75323,6 +75328,18 @@ array<int> != array<float>.</p>
</div>
+ <div id="JSONExtract.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONExtract.is_var_len_args"></a>
+
+
+
+ </div>
<div id="JSONExtract.output_name" class="classattr">
<input id="JSONExtract.output_name-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr variable">
@@ -75332,9 +75349,9 @@ array<int> != array<float>.</p>
</div>
<a class="headerlink" href="#JSONExtract.output_name"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtract.output_name-5026"><a href="#JSONExtract.output_name-5026"><span class="linenos">5026</span></a> <span class="nd">@property</span>
-</span><span id="JSONExtract.output_name-5027"><a href="#JSONExtract.output_name-5027"><span class="linenos">5027</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
-</span><span id="JSONExtract.output_name-5028"><a href="#JSONExtract.output_name-5028"><span class="linenos">5028</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">output_name</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtract.output_name-5025"><a href="#JSONExtract.output_name-5025"><span class="linenos">5025</span></a> <span class="nd">@property</span>
+</span><span id="JSONExtract.output_name-5026"><a href="#JSONExtract.output_name-5026"><span class="linenos">5026</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
+</span><span id="JSONExtract.output_name-5027"><a href="#JSONExtract.output_name-5027"><span class="linenos">5027</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">expression</span><span class="o">.</span><span class="n">output_name</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">expressions</span> <span class="k">else</span> <span class="s2">&quot;&quot;</span>
</span></pre></div>
@@ -75448,8 +75465,7 @@ array<int> != array<float>.</p>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="JSONExtract.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
- <dd id="JSONExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="JSONExtract.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="JSONExtract.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="JSONExtract.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="JSONExtract.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>
@@ -75469,9 +75485,10 @@ array<int> != array<float>.</p>
</div>
<a class="headerlink" href="#JSONExtractScalar"></a>
- <div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtractScalar-5031"><a href="#JSONExtractScalar-5031"><span class="linenos">5031</span></a><span class="k">class</span> <span class="nc">JSONExtractScalar</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
-</span><span id="JSONExtractScalar-5032"><a href="#JSONExtractScalar-5032"><span class="linenos">5032</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;null_if_invalid&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
-</span><span id="JSONExtractScalar-5033"><a href="#JSONExtractScalar-5033"><span class="linenos">5033</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+ <div class="pdoc-code codehilite"><pre><span></span><span id="JSONExtractScalar-5030"><a href="#JSONExtractScalar-5030"><span class="linenos">5030</span></a><span class="k">class</span> <span class="nc">JSONExtractScalar</span><span class="p">(</span><span class="n">Binary</span><span class="p">,</span> <span class="n">Func</span><span class="p">):</span>
+</span><span id="JSONExtractScalar-5031"><a href="#JSONExtractScalar-5031"><span class="linenos">5031</span></a> <span class="n">arg_types</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;this&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expression&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s2">&quot;expressions&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
+</span><span id="JSONExtractScalar-5032"><a href="#JSONExtractScalar-5032"><span class="linenos">5032</span></a> <span class="n">_sql_names</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;JSON_EXTRACT_SCALAR&quot;</span><span class="p">]</span>
+</span><span id="JSONExtractScalar-5033"><a href="#JSONExtractScalar-5033"><span class="linenos">5033</span></a> <span class="n">is_var_len_args</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="JSONExtractScalar-5034"><a href="#JSONExtractScalar-5034"><span class="linenos">5034</span></a>
</span><span id="JSONExtractScalar-5035"><a href="#JSONExtractScalar-5035"><span class="linenos">5035</span></a> <span class="nd">@property</span>
</span><span id="JSONExtractScalar-5036"><a href="#JSONExtractScalar-5036"><span class="linenos">5036</span></a> <span class="k">def</span> <span class="nf">output_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
@@ -75484,7 +75501,7 @@ array<int> != array<float>.</p>
<div id="JSONExtractScalar.arg_types" class="classattr">
<div class="attr variable">
<span class="name">arg_types</span> =
-<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;null_if_invalid&#39;: False}</span>
+<span class="default_value">{&#39;this&#39;: True, &#39;expression&#39;: True, &#39;expressions&#39;: False}</span>
</div>
@@ -75493,6 +75510,18 @@ array<int> != array<float>.</p>
</div>
+ <div id="JSONExtractScalar.is_var_len_args" class="classattr">
+ <div class="attr variable">
+ <span class="name">is_var_len_args</span> =
+<span class="default_value">True</span>
+
+
+ </div>
+ <a class="headerlink" href="#JSONExtractScalar.is_var_len_args"></a>
+
+
+
+ </div>
<div id="JSONExtractScalar.output_name" class="classattr">
<input id="JSONExtractScalar.output_name-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
<div class="attr variable">
@@ -75618,8 +75647,7 @@ array<int> != array<float>.</p>
</div>
<div><dt><a href="#Func">Func</a></dt>
- <dd id="JSONExtractScalar.is_var_len_args" class="variable"><a href="#Func.is_var_len_args">is_var_len_args</a></dd>
- <dd id="JSONExtractScalar.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
+ <dd id="JSONExtractScalar.from_arg_list" class="function"><a href="#Func.from_arg_list">from_arg_list</a></dd>
<dd id="JSONExtractScalar.sql_names" class="function"><a href="#Func.sql_names">sql_names</a></dd>
<dd id="JSONExtractScalar.sql_name" class="function"><a href="#Func.sql_name">sql_name</a></dd>
<dd id="JSONExtractScalar.default_parser_mappings" class="function"><a href="#Func.default_parser_mappings">default_parser_mappings</a></dd>