Merging upstream version 18.5.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
ad94fdbf21
commit
11b24b93ea
67 changed files with 32690 additions and 32450 deletions
31
CHANGELOG.md
31
CHANGELOG.md
|
@ -1,6 +1,35 @@
|
||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
## [v18.5.0] - 2023-09-13
|
||||||
|
### :sparkles: New Features
|
||||||
|
- [`72e939e`](https://github.com/tobymao/sqlglot/commit/72e939e901eb0b2adde6f66ebe31bb8c498f70c6) - **parser**: allow functions in FETCH clause *(PR [#2207](https://github.com/tobymao/sqlglot/pull/2207) by [@GeorgeSittas](https://github.com/GeorgeSittas))*
|
||||||
|
- :arrow_lower_right: *addresses issue [#2204](undefined) opened by [@sashindeitidata](https://github.com/sashindeitidata)*
|
||||||
|
- [`d944e17`](https://github.com/tobymao/sqlglot/commit/d944e1747b8729b9b0cbec5664711eff12c53cea) - **mysql**: add support for [UN]LOCK TABLES as a Command *(PR [#2212](https://github.com/tobymao/sqlglot/pull/2212) by [@GeorgeSittas](https://github.com/GeorgeSittas))*
|
||||||
|
- :arrow_lower_right: *addresses issue [#2210](undefined) opened by [@Nitrino](https://github.com/Nitrino)*
|
||||||
|
|
||||||
|
### :bug: Bug Fixes
|
||||||
|
- [`416b341`](https://github.com/tobymao/sqlglot/commit/416b341c45cd0a766a9919cc5a11b5f90dc3b3f3) - use SUPPORTS_USER_DEFINED_TYPES to set udt in schema _to_data_type *(PR [#2203](https://github.com/tobymao/sqlglot/pull/2203) by [@GeorgeSittas](https://github.com/GeorgeSittas))*
|
||||||
|
- [`14c1b3b`](https://github.com/tobymao/sqlglot/commit/14c1b3b60c3d7473d488b78293055be2db428add) - **mysql**: add support for index type in the UNIQUE KEY constraint *(PR [#2211](https://github.com/tobymao/sqlglot/pull/2211) by [@GeorgeSittas](https://github.com/GeorgeSittas))*
|
||||||
|
- :arrow_lower_right: *fixes issue [#2209](undefined) opened by [@Nitrino](https://github.com/Nitrino)*
|
||||||
|
- [`5c7210a`](https://github.com/tobymao/sqlglot/commit/5c7210ab113c94da0c77a05166a2e8d452764c84) - **oracle**: allow CONNECT BY / START WITH to be interchanged *(PR [#2208](https://github.com/tobymao/sqlglot/pull/2208) by [@GeorgeSittas](https://github.com/GeorgeSittas))*
|
||||||
|
- :arrow_lower_right: *fixes issue [#2205](undefined) opened by [@sashindeitidata](https://github.com/sashindeitidata)*
|
||||||
|
|
||||||
|
|
||||||
|
## [v18.4.1] - 2023-09-12
|
||||||
|
### :boom: BREAKING CHANGES
|
||||||
|
- due to [`f85b535`](https://github.com/tobymao/sqlglot/commit/f85b535f2b74279d63cc60c456ecdc73096389f5) - parse schema UDTs into DataTypes instead of identifiers *(PR [#2201](https://github.com/tobymao/sqlglot/pull/2201) by [@GeorgeSittas](https://github.com/GeorgeSittas))*:
|
||||||
|
|
||||||
|
parse schema UDTs into DataTypes instead of identifiers (#2201)
|
||||||
|
|
||||||
|
|
||||||
|
### :bug: Bug Fixes
|
||||||
|
- [`a228656`](https://github.com/tobymao/sqlglot/commit/a2286563303d98570cb73104795821970382ed3a) - **tokenizer**: treat quote as escape only if its followed by itself *(PR [#2199](https://github.com/tobymao/sqlglot/pull/2199) by [@GeorgeSittas](https://github.com/GeorgeSittas))*
|
||||||
|
- :arrow_lower_right: *fixes issue [#2198](undefined) opened by [@czrobert](https://github.com/czrobert)*
|
||||||
|
- [`fa09688`](https://github.com/tobymao/sqlglot/commit/fa09688a422d322a60bd539f537bd9e6bf49017a) - **mysql**: for update regression due to list comprehensions closes [#2200](https://github.com/tobymao/sqlglot/pull/2200) *(commit by [@tobymao](https://github.com/tobymao))*
|
||||||
|
- [`f85b535`](https://github.com/tobymao/sqlglot/commit/f85b535f2b74279d63cc60c456ecdc73096389f5) - parse schema UDTs into DataTypes instead of identifiers *(PR [#2201](https://github.com/tobymao/sqlglot/pull/2201) by [@GeorgeSittas](https://github.com/GeorgeSittas))*
|
||||||
|
|
||||||
|
|
||||||
## [v18.4.0] - 2023-09-12
|
## [v18.4.0] - 2023-09-12
|
||||||
### :sparkles: New Features
|
### :sparkles: New Features
|
||||||
- [`5e2042a`](https://github.com/tobymao/sqlglot/commit/5e2042aaa0e4be08d02c369a660d3b37ce78b567) - add TINYTEXT and TINYBLOB types *(PR [#2182](https://github.com/tobymao/sqlglot/pull/2182) by [@Nitrino](https://github.com/Nitrino))*
|
- [`5e2042a`](https://github.com/tobymao/sqlglot/commit/5e2042aaa0e4be08d02c369a660d3b37ce78b567) - add TINYTEXT and TINYBLOB types *(PR [#2182](https://github.com/tobymao/sqlglot/pull/2182) by [@Nitrino](https://github.com/Nitrino))*
|
||||||
|
@ -1371,3 +1400,5 @@ Changelog
|
||||||
[v18.2.0]: https://github.com/tobymao/sqlglot/compare/v18.1.0...v18.2.0
|
[v18.2.0]: https://github.com/tobymao/sqlglot/compare/v18.1.0...v18.2.0
|
||||||
[v18.3.0]: https://github.com/tobymao/sqlglot/compare/v18.2.0...v18.3.0
|
[v18.3.0]: https://github.com/tobymao/sqlglot/compare/v18.2.0...v18.3.0
|
||||||
[v18.4.0]: https://github.com/tobymao/sqlglot/compare/v18.3.0...v18.4.0
|
[v18.4.0]: https://github.com/tobymao/sqlglot/compare/v18.3.0...v18.4.0
|
||||||
|
[v18.4.1]: https://github.com/tobymao/sqlglot/compare/v18.4.0...v18.4.1
|
||||||
|
[v18.5.0]: https://github.com/tobymao/sqlglot/compare/v18.4.1...v18.5.0
|
File diff suppressed because one or more lines are too long
|
@ -51,8 +51,8 @@
|
||||||
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos">1</span></a><span class="c1"># file generated by setuptools_scm</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos">1</span></a><span class="c1"># file generated by setuptools_scm</span>
|
||||||
</span><span id="L-2"><a href="#L-2"><span class="linenos">2</span></a><span class="c1"># don't change, don't track in version control</span>
|
</span><span id="L-2"><a href="#L-2"><span class="linenos">2</span></a><span class="c1"># don't change, don't track in version control</span>
|
||||||
</span><span id="L-3"><a href="#L-3"><span class="linenos">3</span></a><span class="n">__version__</span> <span class="o">=</span> <span class="n">version</span> <span class="o">=</span> <span class="s1">'18.4.0'</span>
|
</span><span id="L-3"><a href="#L-3"><span class="linenos">3</span></a><span class="n">__version__</span> <span class="o">=</span> <span class="n">version</span> <span class="o">=</span> <span class="s1">'18.5.0'</span>
|
||||||
</span><span id="L-4"><a href="#L-4"><span class="linenos">4</span></a><span class="n">__version_tuple__</span> <span class="o">=</span> <span class="n">version_tuple</span> <span class="o">=</span> <span class="p">(</span><span class="mi">18</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
|
</span><span id="L-4"><a href="#L-4"><span class="linenos">4</span></a><span class="n">__version_tuple__</span> <span class="o">=</span> <span class="n">version_tuple</span> <span class="o">=</span> <span class="p">(</span><span class="mi">18</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -777,7 +777,7 @@
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">createDataFrame</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">data</span><span class="p">:</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">Union</span><span class="p">[</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097770296544'</span><span class="o">></span><span class="p">],</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097770296544'</span><span class="o">></span><span class="p">],</span> <span class="n">Tuple</span><span class="p">]]</span>,</span><span class="param"> <span class="n">schema</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097770557440'</span><span class="o">></span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">samplingRatio</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">verifySchema</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">DataFrame</a></span>:</span></span>
|
<span class="name">createDataFrame</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">data</span><span class="p">:</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">Union</span><span class="p">[</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312855216'</span><span class="o">></span><span class="p">],</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312855216'</span><span class="o">></span><span class="p">],</span> <span class="n">Tuple</span><span class="p">]]</span>,</span><span class="param"> <span class="n">schema</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837314723616'</span><span class="o">></span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">samplingRatio</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">float</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">verifySchema</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">DataFrame</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="SparkSession.createDataFrame-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="SparkSession.createDataFrame-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -1829,7 +1829,7 @@
|
||||||
<input id="DataFrame.__init__-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
<input id="DataFrame.__init__-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="name">DataFrame</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">spark</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097775220000'</span><span class="o">></span>,</span><span class="param"> <span class="n">expression</span><span class="p">:</span> <span class="n"><a href="../expressions.html#Select">sqlglot.expressions.Select</a></span>,</span><span class="param"> <span class="n">branch_id</span><span class="p">:</span> <span class="n">Optional</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 class="param"> <span class="n">sequence_id</span><span class="p">:</span> <span class="n">Optional</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 class="param"> <span class="n">last_op</span><span class="p">:</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">dataframe</span><span class="o">.</span><span class="n">sql</span><span class="o">.</span><span class="n">operations</span><span class="o">.</span><span class="n">Operation</span> <span class="o">=</span> <span class="o"><</span><span class="n">Operation</span><span class="o">.</span><span class="n">INIT</span><span class="p">:</span> <span class="o">-</span><span class="mi">1</span><span class="o">></span>,</span><span class="param"> <span class="n">pending_hints</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="n"><a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">output_expression_container</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097775439296'</span><span class="o">></span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span>)</span>
|
<span class="name">DataFrame</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">spark</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837317713728'</span><span class="o">></span>,</span><span class="param"> <span class="n">expression</span><span class="p">:</span> <span class="n"><a href="../expressions.html#Select">sqlglot.expressions.Select</a></span>,</span><span class="param"> <span class="n">branch_id</span><span class="p">:</span> <span class="n">Optional</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 class="param"> <span class="n">sequence_id</span><span class="p">:</span> <span class="n">Optional</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 class="param"> <span class="n">last_op</span><span class="p">:</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">dataframe</span><span class="o">.</span><span class="n">sql</span><span class="o">.</span><span class="n">operations</span><span class="o">.</span><span class="n">Operation</span> <span class="o">=</span> <span class="o"><</span><span class="n">Operation</span><span class="o">.</span><span class="n">INIT</span><span class="p">:</span> <span class="o">-</span><span class="mi">1</span><span class="o">></span>,</span><span class="param"> <span class="n">pending_hints</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="n"><a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">output_expression_container</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837317947568'</span><span class="o">></span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span>)</span>
|
||||||
|
|
||||||
<label class="view-source-button" for="DataFrame.__init__-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="DataFrame.__init__-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -2018,7 +2018,7 @@
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">sql</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">dialect</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097771201312'</span><span class="o">></span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">optimize</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">) -> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span>:</span></span>
|
<span class="name">sql</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">dialect</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837313594752'</span><span class="o">></span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">optimize</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">) -> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="DataFrame.sql-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="DataFrame.sql-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -2773,7 +2773,7 @@ is unlikely to come up.</p>
|
||||||
<div class="decorator">@operation(Operation.FROM)</div>
|
<div class="decorator">@operation(Operation.FROM)</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">fillna</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">value</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769217408'</span><span class="o">></span>,</span><span class="param"> <span class="n">subset</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="o">...</span><span class="p">],</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">NoneType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">DataFrame</a></span>:</span></span>
|
<span class="name">fillna</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">value</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311755664'</span><span class="o">></span>,</span><span class="param"> <span class="n">subset</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="o">...</span><span class="p">],</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">NoneType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">DataFrame</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="DataFrame.fillna-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="DataFrame.fillna-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -2842,7 +2842,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<div class="decorator">@operation(Operation.FROM)</div>
|
<div class="decorator">@operation(Operation.FROM)</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">replace</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">to_replace</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">bool</span><span class="p">,</span> <span class="nb">int</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="nb">str</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Dict</span><span class="p">]</span>,</span><span class="param"> <span class="n">value</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">bool</span><span class="p">,</span> <span class="nb">int</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="nb">str</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">NoneType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">subset</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="n">Collection</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769398448'</span><span class="o">></span><span class="p">],</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769398448'</span><span class="o">></span><span class="p">,</span> <span class="n">NoneType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">DataFrame</a></span>:</span></span>
|
<span class="name">replace</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">to_replace</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">bool</span><span class="p">,</span> <span class="nb">int</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="nb">str</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Dict</span><span class="p">]</span>,</span><span class="param"> <span class="n">value</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">bool</span><span class="p">,</span> <span class="nb">int</span><span class="p">,</span> <span class="nb">float</span><span class="p">,</span> <span class="nb">str</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">NoneType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">subset</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="n">Collection</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311922624'</span><span class="o">></span><span class="p">],</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311922624'</span><span class="o">></span><span class="p">,</span> <span class="n">NoneType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">DataFrame</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="DataFrame.replace-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="DataFrame.replace-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -3047,7 +3047,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<div class="decorator">@operation(Operation.NO_OP)</div>
|
<div class="decorator">@operation(Operation.NO_OP)</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">repartition</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">numPartitions</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769558064'</span><span class="o">></span><span class="p">]</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769646224'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">DataFrame</a></span>:</span></span>
|
<span class="name">repartition</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">numPartitions</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312058512'</span><span class="o">></span><span class="p">]</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312187264'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">DataFrame</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="DataFrame.repartition-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="DataFrame.repartition-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -3757,7 +3757,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<input id="Column.__init__-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
<input id="Column.__init__-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="name">Column</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">expression</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097773287504'</span><span class="o">></span><span class="p">,</span> <span class="n"><a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span><span class="p">,</span> <span class="n">NoneType</span><span class="p">]</span></span>)</span>
|
<span class="name">Column</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">expression</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837313928208'</span><span class="o">></span><span class="p">,</span> <span class="n"><a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span><span class="p">,</span> <span class="n">NoneType</span><span class="p">]</span></span>)</span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.__init__-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.__init__-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -3801,7 +3801,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<div class="decorator">@classmethod</div>
|
<div class="decorator">@classmethod</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">ensure_col</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="n">value</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769725792'</span><span class="o">></span><span class="p">,</span> <span class="n"><a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span><span class="p">,</span> <span class="n">NoneType</span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
<span class="name">ensure_col</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="n">value</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312269808'</span><span class="o">></span><span class="p">,</span> <span class="n"><a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span><span class="p">,</span> <span class="n">NoneType</span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.ensure_col-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.ensure_col-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -3822,7 +3822,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<div class="decorator">@classmethod</div>
|
<div class="decorator">@classmethod</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">ensure_cols</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="n">args</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097770030032'</span><span class="o">></span><span class="p">,</span> <span class="n"><a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n">List</span><span class="p">[</span><span class="n"><a href="#Column">Column</a></span><span class="p">]</span>:</span></span>
|
<span class="name">ensure_cols</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="n">args</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312553392'</span><span class="o">></span><span class="p">,</span> <span class="n"><a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n">List</span><span class="p">[</span><span class="n"><a href="#Column">Column</a></span><span class="p">]</span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.ensure_cols-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.ensure_cols-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -3843,7 +3843,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<div class="decorator">@classmethod</div>
|
<div class="decorator">@classmethod</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">invoke_anonymous_function</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="n">column</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097770204768'</span><span class="o">></span><span class="p">]</span>,</span><span class="param"> <span class="n">func_name</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769918512'</span><span class="o">></span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
<span class="name">invoke_anonymous_function</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="n">column</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311833936'</span><span class="o">></span><span class="p">]</span>,</span><span class="param"> <span class="n">func_name</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param"> <span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312381856'</span><span class="o">></span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.invoke_anonymous_function-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.invoke_anonymous_function-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -3870,7 +3870,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<div class="decorator">@classmethod</div>
|
<div class="decorator">@classmethod</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">invoke_expression_over_column</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="n">column</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769971936'</span><span class="o">></span><span class="p">]</span>,</span><span class="param"> <span class="n">callable_expression</span><span class="p">:</span> <span class="n">Callable</span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
<span class="name">invoke_expression_over_column</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="n">column</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312308880'</span><span class="o">></span><span class="p">]</span>,</span><span class="param"> <span class="n">callable_expression</span><span class="p">:</span> <span class="n">Callable</span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.invoke_expression_over_column-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.invoke_expression_over_column-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -3907,7 +3907,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">binary_op</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">klass</span><span class="p">:</span> <span class="n">Callable</span>,</span><span class="param"> <span class="n">other</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769799344'</span><span class="o">></span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
<span class="name">binary_op</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">klass</span><span class="p">:</span> <span class="n">Callable</span>,</span><span class="param"> <span class="n">other</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312651840'</span><span class="o">></span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.binary_op-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.binary_op-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -3928,7 +3928,7 @@ and check if it matches the type of the value provided. If not then make it null
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">inverse_binary_op</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">klass</span><span class="p">:</span> <span class="n">Callable</span>,</span><span class="param"> <span class="n">other</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097769792912'</span><span class="o">></span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
<span class="name">inverse_binary_op</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">klass</span><span class="p">:</span> <span class="n">Callable</span>,</span><span class="param"> <span class="n">other</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837312652944'</span><span class="o">></span>,</span><span class="param"> <span class="o">**</span><span class="n">kwargs</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.inverse_binary_op-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.inverse_binary_op-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -4486,7 +4486,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">isin</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768264160'</span><span class="o">></span><span class="p">,</span> <span class="n">Iterable</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768264160'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">):</span></span>
|
<span class="name">isin</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837310748032'</span><span class="o">></span><span class="p">,</span> <span class="n">Iterable</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837310748032'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">):</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.isin-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.isin-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -4507,7 +4507,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">between</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">lowerBound</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768325376'</span><span class="o">></span>,</span><span class="param"> <span class="n">upperBound</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768366832'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
<span class="name">between</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">lowerBound</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837310853392'</span><span class="o">></span>,</span><span class="param"> <span class="n">upperBound</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837310907872'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.between-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.between-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -4542,7 +4542,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">over</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">window</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768440976'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
<span class="name">over</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">window</span><span class="p">:</span> <span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837310981968'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">Column</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Column.over-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Column.over-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -4787,7 +4787,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
||||||
<div class="decorator">@classmethod</div>
|
<div class="decorator">@classmethod</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">partitionBy</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768936480'</span><span class="o">></span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768936480'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">WindowSpec</a></span>:</span></span>
|
<span class="name">partitionBy</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311435968'</span><span class="o">></span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311435968'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">WindowSpec</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Window.partitionBy-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Window.partitionBy-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -4808,7 +4808,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
||||||
<div class="decorator">@classmethod</div>
|
<div class="decorator">@classmethod</div>
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">orderBy</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768951040'</span><span class="o">></span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768951040'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">WindowSpec</a></span>:</span></span>
|
<span class="name">orderBy</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">cls</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311484592'</span><span class="o">></span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311484592'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">WindowSpec</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="Window.orderBy-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="Window.orderBy-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -5048,7 +5048,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">partitionBy</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768821168'</span><span class="o">></span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768821168'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">WindowSpec</a></span>:</span></span>
|
<span class="name">partitionBy</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311307536'</span><span class="o">></span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311307536'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">WindowSpec</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="WindowSpec.partitionBy-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="WindowSpec.partitionBy-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
@ -5075,7 +5075,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
||||||
<div class="attr function">
|
<div class="attr function">
|
||||||
|
|
||||||
<span class="def">def</span>
|
<span class="def">def</span>
|
||||||
<span class="name">orderBy</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768676064'</span><span class="o">></span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'140097768676064'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">WindowSpec</a></span>:</span></span>
|
<span class="name">orderBy</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="o">*</span><span class="n">cols</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311073200'</span><span class="o">></span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139837311073200'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">WindowSpec</a></span>:</span></span>
|
||||||
|
|
||||||
<label class="view-source-button" for="WindowSpec.orderBy-view-source"><span>View Source</span></label>
|
<label class="view-source-button" for="WindowSpec.orderBy-view-source"><span>View Source</span></label>
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -558,6 +558,7 @@
|
||||||
<div><dt><a href="hive.html#Hive">sqlglot.dialects.hive.Hive</a></dt>
|
<div><dt><a href="hive.html#Hive">sqlglot.dialects.hive.Hive</a></dt>
|
||||||
<dd id="Databricks.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Databricks.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
<dd id="Databricks.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="hive.html#Hive.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Databricks.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="hive.html#Hive.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
|
<dd id="Databricks.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Databricks.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="variable"><a href="hive.html#Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a></dd>
|
<dd id="Databricks.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="variable"><a href="hive.html#Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a></dd>
|
||||||
<dd id="Databricks.TIME_MAPPING" class="variable"><a href="hive.html#Hive.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Databricks.TIME_MAPPING" class="variable"><a href="hive.html#Hive.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
<dd id="Databricks.DATE_FORMAT" class="variable"><a href="hive.html#Hive.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="Databricks.DATE_FORMAT" class="variable"><a href="hive.html#Hive.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
|
@ -800,6 +801,7 @@ Default: 3</li>
|
||||||
<dd id="Databricks.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Databricks.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Databricks.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Databricks.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Databricks.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Databricks.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Databricks.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Databricks.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Databricks.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Databricks.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Databricks.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Databricks.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
<dd id="Databricks.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
||||||
|
@ -834,10 +836,10 @@ Default: 3</li>
|
||||||
</div>
|
</div>
|
||||||
<div><dt><a href="hive.html#Hive.Parser">sqlglot.dialects.hive.Hive.Parser</a></dt>
|
<div><dt><a href="hive.html#Hive.Parser">sqlglot.dialects.hive.Hive.Parser</a></dt>
|
||||||
<dd id="Databricks.Parser.STRICT_CAST" class="variable"><a href="hive.html#Hive.Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Databricks.Parser.STRICT_CAST" class="variable"><a href="hive.html#Hive.Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
<dd id="Databricks.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="Databricks.Parser.NO_PAREN_FUNCTION_PARSERS" class="variable"><a href="hive.html#Hive.Parser.NO_PAREN_FUNCTION_PARSERS">NO_PAREN_FUNCTION_PARSERS</a></dd>
|
<dd id="Databricks.Parser.NO_PAREN_FUNCTION_PARSERS" class="variable"><a href="hive.html#Hive.Parser.NO_PAREN_FUNCTION_PARSERS">NO_PAREN_FUNCTION_PARSERS</a></dd>
|
||||||
<dd id="Databricks.Parser.PROPERTY_PARSERS" class="variable"><a href="hive.html#Hive.Parser.PROPERTY_PARSERS">PROPERTY_PARSERS</a></dd>
|
<dd id="Databricks.Parser.PROPERTY_PARSERS" class="variable"><a href="hive.html#Hive.Parser.PROPERTY_PARSERS">PROPERTY_PARSERS</a></dd>
|
||||||
<dd id="Databricks.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Databricks.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
|
<dd id="Databricks.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Databricks.Parser.TIME_MAPPING" class="variable"><a href="hive.html#Hive.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Databricks.Parser.TIME_MAPPING" class="variable"><a href="hive.html#Hive.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1001,26 +1003,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Databricks.Generator.can_identify"></a>
|
<a class="headerlink" href="#Databricks.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Databricks.Generator.can_identify-257"><a href="#Databricks.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Databricks.Generator.can_identify-260"><a href="#Databricks.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-258"><a href="#Databricks.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Databricks.Generator.can_identify-261"><a href="#Databricks.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-259"><a href="#Databricks.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Databricks.Generator.can_identify-262"><a href="#Databricks.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-260"><a href="#Databricks.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Databricks.Generator.can_identify-263"><a href="#Databricks.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Databricks.Generator.can_identify-261"><a href="#Databricks.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Databricks.Generator.can_identify-264"><a href="#Databricks.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-262"><a href="#Databricks.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Databricks.Generator.can_identify-265"><a href="#Databricks.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-263"><a href="#Databricks.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Databricks.Generator.can_identify-266"><a href="#Databricks.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-264"><a href="#Databricks.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Databricks.Generator.can_identify-267"><a href="#Databricks.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-265"><a href="#Databricks.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Databricks.Generator.can_identify-268"><a href="#Databricks.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-266"><a href="#Databricks.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Databricks.Generator.can_identify-269"><a href="#Databricks.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Databricks.Generator.can_identify-267"><a href="#Databricks.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Databricks.Generator.can_identify-270"><a href="#Databricks.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-268"><a href="#Databricks.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Databricks.Generator.can_identify-271"><a href="#Databricks.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-269"><a href="#Databricks.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Databricks.Generator.can_identify-272"><a href="#Databricks.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-270"><a href="#Databricks.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Databricks.Generator.can_identify-273"><a href="#Databricks.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-271"><a href="#Databricks.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Databricks.Generator.can_identify-274"><a href="#Databricks.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Databricks.Generator.can_identify-272"><a href="#Databricks.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Databricks.Generator.can_identify-273"><a href="#Databricks.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Databricks.Generator.can_identify-274"><a href="#Databricks.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Databricks.Generator.can_identify-275"><a href="#Databricks.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Databricks.Generator.can_identify-275"><a href="#Databricks.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Databricks.Generator.can_identify-276"><a href="#Databricks.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Databricks.Generator.can_identify-276"><a href="#Databricks.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Databricks.Generator.can_identify-277"><a href="#Databricks.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Databricks.Generator.can_identify-278"><a href="#Databricks.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Databricks.Generator.can_identify-279"><a href="#Databricks.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -595,6 +595,7 @@
|
||||||
<div><dt><a href="mysql.html#MySQL">sqlglot.dialects.mysql.MySQL</a></dt>
|
<div><dt><a href="mysql.html#MySQL">sqlglot.dialects.mysql.MySQL</a></dt>
|
||||||
<dd id="Doris.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="mysql.html#MySQL.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Doris.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="mysql.html#MySQL.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
<dd id="Doris.DPIPE_IS_STRING_CONCAT" class="variable"><a href="mysql.html#MySQL.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
<dd id="Doris.DPIPE_IS_STRING_CONCAT" class="variable"><a href="mysql.html#MySQL.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Doris.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="mysql.html#MySQL.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Doris.TIME_MAPPING" class="variable"><a href="mysql.html#MySQL.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Doris.TIME_MAPPING" class="variable"><a href="mysql.html#MySQL.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
<dd id="Doris.Tokenizer" class="class"><a href="mysql.html#MySQL.Tokenizer">Tokenizer</a></dd>
|
<dd id="Doris.Tokenizer" class="class"><a href="mysql.html#MySQL.Tokenizer">Tokenizer</a></dd>
|
||||||
|
|
||||||
|
@ -795,6 +796,7 @@ Default: 3</li>
|
||||||
<dd id="Doris.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Doris.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Doris.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Doris.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Doris.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Doris.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Doris.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Doris.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Doris.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Doris.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Doris.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Doris.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Doris.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -826,7 +828,6 @@ Default: 3</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div><dt><a href="mysql.html#MySQL.Parser">sqlglot.dialects.mysql.MySQL.Parser</a></dt>
|
<div><dt><a href="mysql.html#MySQL.Parser">sqlglot.dialects.mysql.MySQL.Parser</a></dt>
|
||||||
<dd id="Doris.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="mysql.html#MySQL.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="Doris.Parser.FUNC_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.FUNC_TOKENS">FUNC_TOKENS</a></dd>
|
<dd id="Doris.Parser.FUNC_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.FUNC_TOKENS">FUNC_TOKENS</a></dd>
|
||||||
<dd id="Doris.Parser.CONJUNCTION" class="variable"><a href="mysql.html#MySQL.Parser.CONJUNCTION">CONJUNCTION</a></dd>
|
<dd id="Doris.Parser.CONJUNCTION" class="variable"><a href="mysql.html#MySQL.Parser.CONJUNCTION">CONJUNCTION</a></dd>
|
||||||
<dd id="Doris.Parser.BITWISE" class="variable"><a href="mysql.html#MySQL.Parser.BITWISE">BITWISE</a></dd>
|
<dd id="Doris.Parser.BITWISE" class="variable"><a href="mysql.html#MySQL.Parser.BITWISE">BITWISE</a></dd>
|
||||||
|
@ -842,6 +843,7 @@ Default: 3</li>
|
||||||
<dd id="Doris.Parser.TYPE_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.TYPE_TOKENS">TYPE_TOKENS</a></dd>
|
<dd id="Doris.Parser.TYPE_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.TYPE_TOKENS">TYPE_TOKENS</a></dd>
|
||||||
<dd id="Doris.Parser.ENUM_TYPE_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.ENUM_TYPE_TOKENS">ENUM_TYPE_TOKENS</a></dd>
|
<dd id="Doris.Parser.ENUM_TYPE_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.ENUM_TYPE_TOKENS">ENUM_TYPE_TOKENS</a></dd>
|
||||||
<dd id="Doris.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="mysql.html#MySQL.Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="Doris.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="mysql.html#MySQL.Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
|
<dd id="Doris.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="mysql.html#MySQL.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Doris.Parser.TIME_MAPPING" class="variable"><a href="mysql.html#MySQL.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Doris.Parser.TIME_MAPPING" class="variable"><a href="mysql.html#MySQL.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1042,26 +1044,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Doris.Generator.can_identify"></a>
|
<a class="headerlink" href="#Doris.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Doris.Generator.can_identify-257"><a href="#Doris.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Doris.Generator.can_identify-260"><a href="#Doris.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Doris.Generator.can_identify-258"><a href="#Doris.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Doris.Generator.can_identify-261"><a href="#Doris.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Doris.Generator.can_identify-259"><a href="#Doris.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Doris.Generator.can_identify-262"><a href="#Doris.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Doris.Generator.can_identify-260"><a href="#Doris.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Doris.Generator.can_identify-263"><a href="#Doris.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Doris.Generator.can_identify-261"><a href="#Doris.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Doris.Generator.can_identify-264"><a href="#Doris.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Doris.Generator.can_identify-262"><a href="#Doris.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Doris.Generator.can_identify-265"><a href="#Doris.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Doris.Generator.can_identify-263"><a href="#Doris.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Doris.Generator.can_identify-266"><a href="#Doris.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Doris.Generator.can_identify-264"><a href="#Doris.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Doris.Generator.can_identify-267"><a href="#Doris.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Doris.Generator.can_identify-265"><a href="#Doris.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Doris.Generator.can_identify-268"><a href="#Doris.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Doris.Generator.can_identify-266"><a href="#Doris.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Doris.Generator.can_identify-269"><a href="#Doris.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Doris.Generator.can_identify-267"><a href="#Doris.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Doris.Generator.can_identify-270"><a href="#Doris.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Doris.Generator.can_identify-268"><a href="#Doris.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Doris.Generator.can_identify-271"><a href="#Doris.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Doris.Generator.can_identify-269"><a href="#Doris.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Doris.Generator.can_identify-272"><a href="#Doris.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Doris.Generator.can_identify-270"><a href="#Doris.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Doris.Generator.can_identify-273"><a href="#Doris.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Doris.Generator.can_identify-271"><a href="#Doris.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Doris.Generator.can_identify-274"><a href="#Doris.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Doris.Generator.can_identify-272"><a href="#Doris.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Doris.Generator.can_identify-273"><a href="#Doris.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Doris.Generator.can_identify-274"><a href="#Doris.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Doris.Generator.can_identify-275"><a href="#Doris.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Doris.Generator.can_identify-275"><a href="#Doris.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Doris.Generator.can_identify-276"><a href="#Doris.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Doris.Generator.can_identify-276"><a href="#Doris.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Doris.Generator.can_identify-277"><a href="#Doris.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Doris.Generator.can_identify-278"><a href="#Doris.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Doris.Generator.can_identify-279"><a href="#Doris.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Drill.TIME_FORMAT">TIME_FORMAT</a>
|
<a class="variable" href="#Drill.TIME_FORMAT">TIME_FORMAT</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Drill.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Drill.TIME_MAPPING">TIME_MAPPING</a>
|
<a class="variable" href="#Drill.TIME_MAPPING">TIME_MAPPING</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -75,9 +78,6 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Drill.Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a>
|
<a class="variable" href="#Drill.Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Drill.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Drill.Parser.FUNCTIONS">FUNCTIONS</a>
|
<a class="variable" href="#Drill.Parser.FUNCTIONS">FUNCTIONS</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -87,6 +87,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Drill.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
<a class="variable" href="#Drill.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Drill.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Drill.Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a>
|
<a class="variable" href="#Drill.Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -310,48 +313,48 @@
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="n">DATE_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd'"</span>
|
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="n">DATE_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd'"</span>
|
||||||
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="n">DATEINT_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyyMMdd'"</span>
|
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="n">DATEINT_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyyMMdd'"</span>
|
||||||
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd HH:mm:ss'"</span>
|
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd HH:mm:ss'"</span>
|
||||||
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a>
|
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a>
|
||||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="s2">"y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="s2">"y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-46"><a href="#L-46"><span class="linenos"> 46</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-47"><a href="#L-47"><span class="linenos"> 47</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="L-48"><a href="#L-48"><span class="linenos"> 48</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
</span><span id="L-50"><a href="#L-50"><span class="linenos"> 50</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a> <span class="s2">"MMM"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="L-51"><a href="#L-51"><span class="linenos"> 51</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
||||||
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="s2">"MMM"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="s2">"M"</span><span class="p">:</span> <span class="s2">"%-m"</span><span class="p">,</span>
|
</span><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
||||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a> <span class="s2">"M"</span><span class="p">:</span> <span class="s2">"%-m"</span><span class="p">,</span>
|
||||||
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a> <span class="s2">"d"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="L-56"><a href="#L-56"><span class="linenos"> 56</span></a> <span class="s2">"d"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="s2">"H"</span><span class="p">:</span> <span class="s2">"%-H"</span><span class="p">,</span>
|
</span><span id="L-57"><a href="#L-57"><span class="linenos"> 57</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a> <span class="s2">"hh"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
</span><span id="L-58"><a href="#L-58"><span class="linenos"> 58</span></a> <span class="s2">"H"</span><span class="p">:</span> <span class="s2">"%-H"</span><span class="p">,</span>
|
||||||
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="s2">"h"</span><span class="p">:</span> <span class="s2">"%-I"</span><span class="p">,</span>
|
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a> <span class="s2">"hh"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
||||||
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a> <span class="s2">"h"</span><span class="p">:</span> <span class="s2">"%-I"</span><span class="p">,</span>
|
||||||
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a> <span class="s2">"m"</span><span class="p">:</span> <span class="s2">"%-M"</span><span class="p">,</span>
|
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
||||||
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a> <span class="s2">"m"</span><span class="p">:</span> <span class="s2">"%-M"</span><span class="p">,</span>
|
||||||
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="s2">"s"</span><span class="p">:</span> <span class="s2">"%-S"</span><span class="p">,</span>
|
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
||||||
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a> <span class="s2">"SSSSSS"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a> <span class="s2">"s"</span><span class="p">:</span> <span class="s2">"%-S"</span><span class="p">,</span>
|
||||||
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a> <span class="s2">"a"</span><span class="p">:</span> <span class="s2">"%p"</span><span class="p">,</span>
|
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a> <span class="s2">"SSSSSS"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"%j"</span><span class="p">,</span>
|
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> <span class="s2">"a"</span><span class="p">:</span> <span class="s2">"%p"</span><span class="p">,</span>
|
||||||
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"%-j"</span><span class="p">,</span>
|
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"%j"</span><span class="p">,</span>
|
||||||
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"%-j"</span><span class="p">,</span>
|
||||||
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a> <span class="s2">"EE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a> <span class="s2">"EEE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a> <span class="s2">"EE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a> <span class="s2">"EEEE"</span><span class="p">:</span> <span class="s2">"%A"</span><span class="p">,</span>
|
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a> <span class="s2">"EEE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="s2">"''T''"</span><span class="p">:</span> <span class="s2">"T"</span><span class="p">,</span>
|
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="s2">"EEEE"</span><span class="p">:</span> <span class="s2">"%A"</span><span class="p">,</span>
|
||||||
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="p">}</span>
|
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="s2">"''T''"</span><span class="p">:</span> <span class="s2">"T"</span><span class="p">,</span>
|
||||||
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a>
|
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a>
|
||||||
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
||||||
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
||||||
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a>
|
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
||||||
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a>
|
||||||
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a>
|
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a>
|
||||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -443,48 +446,48 @@
|
||||||
</span><span id="Drill-40"><a href="#Drill-40"><span class="linenos"> 40</span></a> <span class="n">DATE_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd'"</span>
|
</span><span id="Drill-40"><a href="#Drill-40"><span class="linenos"> 40</span></a> <span class="n">DATE_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd'"</span>
|
||||||
</span><span id="Drill-41"><a href="#Drill-41"><span class="linenos"> 41</span></a> <span class="n">DATEINT_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyyMMdd'"</span>
|
</span><span id="Drill-41"><a href="#Drill-41"><span class="linenos"> 41</span></a> <span class="n">DATEINT_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyyMMdd'"</span>
|
||||||
</span><span id="Drill-42"><a href="#Drill-42"><span class="linenos"> 42</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd HH:mm:ss'"</span>
|
</span><span id="Drill-42"><a href="#Drill-42"><span class="linenos"> 42</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd HH:mm:ss'"</span>
|
||||||
</span><span id="Drill-43"><a href="#Drill-43"><span class="linenos"> 43</span></a>
|
</span><span id="Drill-43"><a href="#Drill-43"><span class="linenos"> 43</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Drill-44"><a href="#Drill-44"><span class="linenos"> 44</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Drill-44"><a href="#Drill-44"><span class="linenos"> 44</span></a>
|
||||||
</span><span id="Drill-45"><a href="#Drill-45"><span class="linenos"> 45</span></a> <span class="s2">"y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Drill-45"><a href="#Drill-45"><span class="linenos"> 45</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Drill-46"><a href="#Drill-46"><span class="linenos"> 46</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Drill-46"><a href="#Drill-46"><span class="linenos"> 46</span></a> <span class="s2">"y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-47"><a href="#Drill-47"><span class="linenos"> 47</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Drill-47"><a href="#Drill-47"><span class="linenos"> 47</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-48"><a href="#Drill-48"><span class="linenos"> 48</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Drill-48"><a href="#Drill-48"><span class="linenos"> 48</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-49"><a href="#Drill-49"><span class="linenos"> 49</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="Drill-49"><a href="#Drill-49"><span class="linenos"> 49</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-50"><a href="#Drill-50"><span class="linenos"> 50</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="Drill-50"><a href="#Drill-50"><span class="linenos"> 50</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-51"><a href="#Drill-51"><span class="linenos"> 51</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
</span><span id="Drill-51"><a href="#Drill-51"><span class="linenos"> 51</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-52"><a href="#Drill-52"><span class="linenos"> 52</span></a> <span class="s2">"MMM"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="Drill-52"><a href="#Drill-52"><span class="linenos"> 52</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-53"><a href="#Drill-53"><span class="linenos"> 53</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
</span><span id="Drill-53"><a href="#Drill-53"><span class="linenos"> 53</span></a> <span class="s2">"MMM"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-54"><a href="#Drill-54"><span class="linenos"> 54</span></a> <span class="s2">"M"</span><span class="p">:</span> <span class="s2">"%-m"</span><span class="p">,</span>
|
</span><span id="Drill-54"><a href="#Drill-54"><span class="linenos"> 54</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-55"><a href="#Drill-55"><span class="linenos"> 55</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Drill-55"><a href="#Drill-55"><span class="linenos"> 55</span></a> <span class="s2">"M"</span><span class="p">:</span> <span class="s2">"%-m"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-56"><a href="#Drill-56"><span class="linenos"> 56</span></a> <span class="s2">"d"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Drill-56"><a href="#Drill-56"><span class="linenos"> 56</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-57"><a href="#Drill-57"><span class="linenos"> 57</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="Drill-57"><a href="#Drill-57"><span class="linenos"> 57</span></a> <span class="s2">"d"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-58"><a href="#Drill-58"><span class="linenos"> 58</span></a> <span class="s2">"H"</span><span class="p">:</span> <span class="s2">"%-H"</span><span class="p">,</span>
|
</span><span id="Drill-58"><a href="#Drill-58"><span class="linenos"> 58</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-59"><a href="#Drill-59"><span class="linenos"> 59</span></a> <span class="s2">"hh"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
</span><span id="Drill-59"><a href="#Drill-59"><span class="linenos"> 59</span></a> <span class="s2">"H"</span><span class="p">:</span> <span class="s2">"%-H"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-60"><a href="#Drill-60"><span class="linenos"> 60</span></a> <span class="s2">"h"</span><span class="p">:</span> <span class="s2">"%-I"</span><span class="p">,</span>
|
</span><span id="Drill-60"><a href="#Drill-60"><span class="linenos"> 60</span></a> <span class="s2">"hh"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-61"><a href="#Drill-61"><span class="linenos"> 61</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
</span><span id="Drill-61"><a href="#Drill-61"><span class="linenos"> 61</span></a> <span class="s2">"h"</span><span class="p">:</span> <span class="s2">"%-I"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-62"><a href="#Drill-62"><span class="linenos"> 62</span></a> <span class="s2">"m"</span><span class="p">:</span> <span class="s2">"%-M"</span><span class="p">,</span>
|
</span><span id="Drill-62"><a href="#Drill-62"><span class="linenos"> 62</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-63"><a href="#Drill-63"><span class="linenos"> 63</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
</span><span id="Drill-63"><a href="#Drill-63"><span class="linenos"> 63</span></a> <span class="s2">"m"</span><span class="p">:</span> <span class="s2">"%-M"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-64"><a href="#Drill-64"><span class="linenos"> 64</span></a> <span class="s2">"s"</span><span class="p">:</span> <span class="s2">"%-S"</span><span class="p">,</span>
|
</span><span id="Drill-64"><a href="#Drill-64"><span class="linenos"> 64</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-65"><a href="#Drill-65"><span class="linenos"> 65</span></a> <span class="s2">"SSSSSS"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Drill-65"><a href="#Drill-65"><span class="linenos"> 65</span></a> <span class="s2">"s"</span><span class="p">:</span> <span class="s2">"%-S"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-66"><a href="#Drill-66"><span class="linenos"> 66</span></a> <span class="s2">"a"</span><span class="p">:</span> <span class="s2">"%p"</span><span class="p">,</span>
|
</span><span id="Drill-66"><a href="#Drill-66"><span class="linenos"> 66</span></a> <span class="s2">"SSSSSS"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-67"><a href="#Drill-67"><span class="linenos"> 67</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"%j"</span><span class="p">,</span>
|
</span><span id="Drill-67"><a href="#Drill-67"><span class="linenos"> 67</span></a> <span class="s2">"a"</span><span class="p">:</span> <span class="s2">"%p"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-68"><a href="#Drill-68"><span class="linenos"> 68</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"%-j"</span><span class="p">,</span>
|
</span><span id="Drill-68"><a href="#Drill-68"><span class="linenos"> 68</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"%j"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-69"><a href="#Drill-69"><span class="linenos"> 69</span></a> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Drill-69"><a href="#Drill-69"><span class="linenos"> 69</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"%-j"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-70"><a href="#Drill-70"><span class="linenos"> 70</span></a> <span class="s2">"EE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Drill-70"><a href="#Drill-70"><span class="linenos"> 70</span></a> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-71"><a href="#Drill-71"><span class="linenos"> 71</span></a> <span class="s2">"EEE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Drill-71"><a href="#Drill-71"><span class="linenos"> 71</span></a> <span class="s2">"EE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-72"><a href="#Drill-72"><span class="linenos"> 72</span></a> <span class="s2">"EEEE"</span><span class="p">:</span> <span class="s2">"%A"</span><span class="p">,</span>
|
</span><span id="Drill-72"><a href="#Drill-72"><span class="linenos"> 72</span></a> <span class="s2">"EEE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-73"><a href="#Drill-73"><span class="linenos"> 73</span></a> <span class="s2">"''T''"</span><span class="p">:</span> <span class="s2">"T"</span><span class="p">,</span>
|
</span><span id="Drill-73"><a href="#Drill-73"><span class="linenos"> 73</span></a> <span class="s2">"EEEE"</span><span class="p">:</span> <span class="s2">"%A"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-74"><a href="#Drill-74"><span class="linenos"> 74</span></a> <span class="p">}</span>
|
</span><span id="Drill-74"><a href="#Drill-74"><span class="linenos"> 74</span></a> <span class="s2">"''T''"</span><span class="p">:</span> <span class="s2">"T"</span><span class="p">,</span>
|
||||||
</span><span id="Drill-75"><a href="#Drill-75"><span class="linenos"> 75</span></a>
|
</span><span id="Drill-75"><a href="#Drill-75"><span class="linenos"> 75</span></a> <span class="p">}</span>
|
||||||
</span><span id="Drill-76"><a href="#Drill-76"><span class="linenos"> 76</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
</span><span id="Drill-76"><a href="#Drill-76"><span class="linenos"> 76</span></a>
|
||||||
</span><span id="Drill-77"><a href="#Drill-77"><span class="linenos"> 77</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
</span><span id="Drill-77"><a href="#Drill-77"><span class="linenos"> 77</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="Drill-78"><a href="#Drill-78"><span class="linenos"> 78</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
</span><span id="Drill-78"><a href="#Drill-78"><span class="linenos"> 78</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
||||||
</span><span id="Drill-79"><a href="#Drill-79"><span class="linenos"> 79</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
</span><span id="Drill-79"><a href="#Drill-79"><span class="linenos"> 79</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
||||||
</span><span id="Drill-80"><a href="#Drill-80"><span class="linenos"> 80</span></a>
|
</span><span id="Drill-80"><a href="#Drill-80"><span class="linenos"> 80</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
||||||
</span><span id="Drill-81"><a href="#Drill-81"><span class="linenos"> 81</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="Drill-81"><a href="#Drill-81"><span class="linenos"> 81</span></a>
|
||||||
</span><span id="Drill-82"><a href="#Drill-82"><span class="linenos"> 82</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="Drill-82"><a href="#Drill-82"><span class="linenos"> 82</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="Drill-83"><a href="#Drill-83"><span class="linenos"> 83</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Drill-83"><a href="#Drill-83"><span class="linenos"> 83</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Drill-84"><a href="#Drill-84"><span class="linenos"> 84</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="Drill-84"><a href="#Drill-84"><span class="linenos"> 84</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Drill-85"><a href="#Drill-85"><span class="linenos"> 85</span></a>
|
</span><span id="Drill-85"><a href="#Drill-85"><span class="linenos"> 85</span></a>
|
||||||
</span><span id="Drill-86"><a href="#Drill-86"><span class="linenos"> 86</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Drill-86"><a href="#Drill-86"><span class="linenos"> 86</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Drill-87"><a href="#Drill-87"><span class="linenos"> 87</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="Drill-87"><a href="#Drill-87"><span class="linenos"> 87</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -619,6 +622,18 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Drill.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Drill.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Drill.TIME_MAPPING" class="classattr">
|
<div id="Drill.TIME_MAPPING" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -884,10 +899,10 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Drill.Tokenizer"></a>
|
<a class="headerlink" href="#Drill.Tokenizer"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Drill.Tokenizer-76"><a href="#Drill.Tokenizer-76"><span class="linenos">76</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Drill.Tokenizer-77"><a href="#Drill.Tokenizer-77"><span class="linenos">77</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="Drill.Tokenizer-77"><a href="#Drill.Tokenizer-77"><span class="linenos">77</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
</span><span id="Drill.Tokenizer-78"><a href="#Drill.Tokenizer-78"><span class="linenos">78</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
||||||
</span><span id="Drill.Tokenizer-78"><a href="#Drill.Tokenizer-78"><span class="linenos">78</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
</span><span id="Drill.Tokenizer-79"><a href="#Drill.Tokenizer-79"><span class="linenos">79</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
||||||
</span><span id="Drill.Tokenizer-79"><a href="#Drill.Tokenizer-79"><span class="linenos">79</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
</span><span id="Drill.Tokenizer-80"><a href="#Drill.Tokenizer-80"><span class="linenos">80</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -970,10 +985,9 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Drill.Parser"></a>
|
<a class="headerlink" href="#Drill.Parser"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Drill.Parser-81"><a href="#Drill.Parser-81"><span class="linenos">81</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Drill.Parser-82"><a href="#Drill.Parser-82"><span class="linenos">82</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="Drill.Parser-82"><a href="#Drill.Parser-82"><span class="linenos">82</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="Drill.Parser-83"><a href="#Drill.Parser-83"><span class="linenos">83</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Drill.Parser-83"><a href="#Drill.Parser-83"><span class="linenos">83</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Drill.Parser-84"><a href="#Drill.Parser-84"><span class="linenos">84</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Drill.Parser-84"><a href="#Drill.Parser-84"><span class="linenos">84</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
|
||||||
</span><span id="Drill.Parser-85"><a href="#Drill.Parser-85"><span class="linenos">85</span></a>
|
</span><span id="Drill.Parser-85"><a href="#Drill.Parser-85"><span class="linenos">85</span></a>
|
||||||
</span><span id="Drill.Parser-86"><a href="#Drill.Parser-86"><span class="linenos">86</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Drill.Parser-86"><a href="#Drill.Parser-86"><span class="linenos">86</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Drill.Parser-87"><a href="#Drill.Parser-87"><span class="linenos">87</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="Drill.Parser-87"><a href="#Drill.Parser-87"><span class="linenos">87</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -1026,18 +1040,6 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Drill.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
|
||||||
<span class="default_value">False</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Drill.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Drill.Parser.FUNCTIONS" class="classattr">
|
<div id="Drill.Parser.FUNCTIONS" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1075,6 +1077,18 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Drill.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Drill.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Drill.Parser.NORMALIZE_FUNCTIONS" class="classattr">
|
<div id="Drill.Parser.NORMALIZE_FUNCTIONS" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1229,6 +1243,7 @@ Default: 3</li>
|
||||||
<dd id="Drill.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Drill.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Drill.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Drill.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Drill.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Drill.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Drill.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Drill.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Drill.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Drill.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Drill.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Drill.Parser.PREFIXED_PIVOT_COLUMNS" class="variable"><a href="../parser.html#Parser.PREFIXED_PIVOT_COLUMNS">PREFIXED_PIVOT_COLUMNS</a></dd>
|
<dd id="Drill.Parser.PREFIXED_PIVOT_COLUMNS" class="variable"><a href="../parser.html#Parser.PREFIXED_PIVOT_COLUMNS">PREFIXED_PIVOT_COLUMNS</a></dd>
|
||||||
|
@ -1551,26 +1566,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Drill.Generator.can_identify"></a>
|
<a class="headerlink" href="#Drill.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Drill.Generator.can_identify-257"><a href="#Drill.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Drill.Generator.can_identify-260"><a href="#Drill.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Drill.Generator.can_identify-258"><a href="#Drill.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Drill.Generator.can_identify-261"><a href="#Drill.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Drill.Generator.can_identify-259"><a href="#Drill.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Drill.Generator.can_identify-262"><a href="#Drill.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Drill.Generator.can_identify-260"><a href="#Drill.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Drill.Generator.can_identify-263"><a href="#Drill.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Drill.Generator.can_identify-261"><a href="#Drill.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Drill.Generator.can_identify-264"><a href="#Drill.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Drill.Generator.can_identify-262"><a href="#Drill.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Drill.Generator.can_identify-265"><a href="#Drill.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Drill.Generator.can_identify-263"><a href="#Drill.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Drill.Generator.can_identify-266"><a href="#Drill.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Drill.Generator.can_identify-264"><a href="#Drill.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Drill.Generator.can_identify-267"><a href="#Drill.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Drill.Generator.can_identify-265"><a href="#Drill.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Drill.Generator.can_identify-268"><a href="#Drill.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Drill.Generator.can_identify-266"><a href="#Drill.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Drill.Generator.can_identify-269"><a href="#Drill.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Drill.Generator.can_identify-267"><a href="#Drill.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Drill.Generator.can_identify-270"><a href="#Drill.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Drill.Generator.can_identify-268"><a href="#Drill.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Drill.Generator.can_identify-271"><a href="#Drill.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Drill.Generator.can_identify-269"><a href="#Drill.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Drill.Generator.can_identify-272"><a href="#Drill.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Drill.Generator.can_identify-270"><a href="#Drill.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Drill.Generator.can_identify-273"><a href="#Drill.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Drill.Generator.can_identify-271"><a href="#Drill.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Drill.Generator.can_identify-274"><a href="#Drill.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Drill.Generator.can_identify-272"><a href="#Drill.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Drill.Generator.can_identify-273"><a href="#Drill.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Drill.Generator.can_identify-274"><a href="#Drill.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Drill.Generator.can_identify-275"><a href="#Drill.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Drill.Generator.can_identify-275"><a href="#Drill.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Drill.Generator.can_identify-276"><a href="#Drill.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Drill.Generator.can_identify-276"><a href="#Drill.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Drill.Generator.can_identify-277"><a href="#Drill.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Drill.Generator.can_identify-278"><a href="#Drill.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Drill.Generator.can_identify-279"><a href="#Drill.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#DuckDB.NULL_ORDERING">NULL_ORDERING</a>
|
<a class="variable" href="#DuckDB.NULL_ORDERING">NULL_ORDERING</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#DuckDB.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#DuckDB.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a>
|
<a class="variable" href="#DuckDB.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -54,9 +57,6 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#DuckDB.Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a>
|
<a class="variable" href="#DuckDB.Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<a class="variable" href="#DuckDB.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#DuckDB.Parser.BITWISE">BITWISE</a>
|
<a class="variable" href="#DuckDB.Parser.BITWISE">BITWISE</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -69,6 +69,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#DuckDB.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
<a class="variable" href="#DuckDB.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#DuckDB.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#DuckDB.Parser.NULL_ORDERING">NULL_ORDERING</a>
|
<a class="variable" href="#DuckDB.Parser.NULL_ORDERING">NULL_ORDERING</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -367,37 +370,37 @@
|
||||||
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a>
|
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a>
|
||||||
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="k">class</span> <span class="nc">DuckDB</span><span class="p">(</span><span class="n">Dialect</span><span class="p">):</span>
|
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="k">class</span> <span class="nc">DuckDB</span><span class="p">(</span><span class="n">Dialect</span><span class="p">):</span>
|
||||||
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a> <span class="n">NULL_ORDERING</span> <span class="o">=</span> <span class="s2">"nulls_are_last"</span>
|
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a> <span class="n">NULL_ORDERING</span> <span class="o">=</span> <span class="s2">"nulls_are_last"</span>
|
||||||
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a>
|
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="c1"># https://duckdb.org/docs/sql/introduction.html#creating-a-new-table</span>
|
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a>
|
||||||
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a> <span class="c1"># https://duckdb.org/docs/sql/introduction.html#creating-a-new-table</span>
|
||||||
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a>
|
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a>
|
||||||
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a> <span class="s2">":="</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
|
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
||||||
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a> <span class="s2">"//"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
|
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a> <span class="s2">":="</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
|
||||||
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a> <span class="s2">"ATTACH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a> <span class="s2">"//"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
|
||||||
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a> <span class="s2">"BINARY"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
|
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a> <span class="s2">"ATTACH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> <span class="s2">"BITSTRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
|
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> <span class="s2">"BINARY"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
|
||||||
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="s2">"BPCHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="s2">"BITSTRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
|
||||||
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="s2">"CHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="s2">"BPCHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="s2">"CHARACTER VARYING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="s2">"CHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="s2">"EXCLUDE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
|
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="s2">"CHARACTER VARYING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="s2">"HUGEINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
|
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="s2">"EXCLUDE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
|
||||||
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="s2">"INT1"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
|
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> <span class="s2">"HUGEINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
|
||||||
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="s2">"LOGICAL"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
|
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="s2">"INT1"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
|
||||||
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="s2">"PIVOT_WIDER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
|
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="s2">"LOGICAL"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
|
||||||
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="s2">"SIGNED"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
|
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="s2">"PIVOT_WIDER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
|
||||||
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="s2">"STRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
|
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="s2">"SIGNED"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
|
||||||
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="s2">"UBIGINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UBIGINT</span><span class="p">,</span>
|
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="s2">"STRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
|
||||||
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a> <span class="s2">"UINTEGER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UINT</span><span class="p">,</span>
|
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a> <span class="s2">"UBIGINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UBIGINT</span><span class="p">,</span>
|
||||||
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="s2">"USMALLINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USMALLINT</span><span class="p">,</span>
|
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="s2">"UINTEGER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UINT</span><span class="p">,</span>
|
||||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="s2">"UTINYINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UTINYINT</span><span class="p">,</span>
|
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="s2">"USMALLINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USMALLINT</span><span class="p">,</span>
|
||||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="p">}</span>
|
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="s2">"UTINYINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UTINYINT</span><span class="p">,</span>
|
||||||
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a>
|
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a>
|
||||||
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a>
|
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a>
|
||||||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="n">BITWISE</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="n">BITWISE</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">BITWISE</span><span class="p">,</span>
|
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">BITWISE</span><span class="p">,</span>
|
||||||
|
@ -613,37 +616,37 @@
|
||||||
<a class="headerlink" href="#DuckDB"></a>
|
<a class="headerlink" href="#DuckDB"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="DuckDB-107"><a href="#DuckDB-107"><span class="linenos">107</span></a><span class="k">class</span> <span class="nc">DuckDB</span><span class="p">(</span><span class="n">Dialect</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="DuckDB-107"><a href="#DuckDB-107"><span class="linenos">107</span></a><span class="k">class</span> <span class="nc">DuckDB</span><span class="p">(</span><span class="n">Dialect</span><span class="p">):</span>
|
||||||
</span><span id="DuckDB-108"><a href="#DuckDB-108"><span class="linenos">108</span></a> <span class="n">NULL_ORDERING</span> <span class="o">=</span> <span class="s2">"nulls_are_last"</span>
|
</span><span id="DuckDB-108"><a href="#DuckDB-108"><span class="linenos">108</span></a> <span class="n">NULL_ORDERING</span> <span class="o">=</span> <span class="s2">"nulls_are_last"</span>
|
||||||
</span><span id="DuckDB-109"><a href="#DuckDB-109"><span class="linenos">109</span></a>
|
</span><span id="DuckDB-109"><a href="#DuckDB-109"><span class="linenos">109</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="DuckDB-110"><a href="#DuckDB-110"><span class="linenos">110</span></a> <span class="c1"># https://duckdb.org/docs/sql/introduction.html#creating-a-new-table</span>
|
</span><span id="DuckDB-110"><a href="#DuckDB-110"><span class="linenos">110</span></a>
|
||||||
</span><span id="DuckDB-111"><a href="#DuckDB-111"><span class="linenos">111</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
</span><span id="DuckDB-111"><a href="#DuckDB-111"><span class="linenos">111</span></a> <span class="c1"># https://duckdb.org/docs/sql/introduction.html#creating-a-new-table</span>
|
||||||
</span><span id="DuckDB-112"><a href="#DuckDB-112"><span class="linenos">112</span></a>
|
</span><span id="DuckDB-112"><a href="#DuckDB-112"><span class="linenos">112</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
</span><span id="DuckDB-113"><a href="#DuckDB-113"><span class="linenos">113</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
</span><span id="DuckDB-113"><a href="#DuckDB-113"><span class="linenos">113</span></a>
|
||||||
</span><span id="DuckDB-114"><a href="#DuckDB-114"><span class="linenos">114</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="DuckDB-114"><a href="#DuckDB-114"><span class="linenos">114</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="DuckDB-115"><a href="#DuckDB-115"><span class="linenos">115</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
</span><span id="DuckDB-115"><a href="#DuckDB-115"><span class="linenos">115</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="DuckDB-116"><a href="#DuckDB-116"><span class="linenos">116</span></a> <span class="s2">":="</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
|
</span><span id="DuckDB-116"><a href="#DuckDB-116"><span class="linenos">116</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-117"><a href="#DuckDB-117"><span class="linenos">117</span></a> <span class="s2">"//"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
|
</span><span id="DuckDB-117"><a href="#DuckDB-117"><span class="linenos">117</span></a> <span class="s2">":="</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-118"><a href="#DuckDB-118"><span class="linenos">118</span></a> <span class="s2">"ATTACH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="DuckDB-118"><a href="#DuckDB-118"><span class="linenos">118</span></a> <span class="s2">"//"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-119"><a href="#DuckDB-119"><span class="linenos">119</span></a> <span class="s2">"BINARY"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
|
</span><span id="DuckDB-119"><a href="#DuckDB-119"><span class="linenos">119</span></a> <span class="s2">"ATTACH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-120"><a href="#DuckDB-120"><span class="linenos">120</span></a> <span class="s2">"BITSTRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
|
</span><span id="DuckDB-120"><a href="#DuckDB-120"><span class="linenos">120</span></a> <span class="s2">"BINARY"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-121"><a href="#DuckDB-121"><span class="linenos">121</span></a> <span class="s2">"BPCHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="DuckDB-121"><a href="#DuckDB-121"><span class="linenos">121</span></a> <span class="s2">"BITSTRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-122"><a href="#DuckDB-122"><span class="linenos">122</span></a> <span class="s2">"CHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="DuckDB-122"><a href="#DuckDB-122"><span class="linenos">122</span></a> <span class="s2">"BPCHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-123"><a href="#DuckDB-123"><span class="linenos">123</span></a> <span class="s2">"CHARACTER VARYING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="DuckDB-123"><a href="#DuckDB-123"><span class="linenos">123</span></a> <span class="s2">"CHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-124"><a href="#DuckDB-124"><span class="linenos">124</span></a> <span class="s2">"EXCLUDE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
|
</span><span id="DuckDB-124"><a href="#DuckDB-124"><span class="linenos">124</span></a> <span class="s2">"CHARACTER VARYING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-125"><a href="#DuckDB-125"><span class="linenos">125</span></a> <span class="s2">"HUGEINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
|
</span><span id="DuckDB-125"><a href="#DuckDB-125"><span class="linenos">125</span></a> <span class="s2">"EXCLUDE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-126"><a href="#DuckDB-126"><span class="linenos">126</span></a> <span class="s2">"INT1"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
|
</span><span id="DuckDB-126"><a href="#DuckDB-126"><span class="linenos">126</span></a> <span class="s2">"HUGEINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-127"><a href="#DuckDB-127"><span class="linenos">127</span></a> <span class="s2">"LOGICAL"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
|
</span><span id="DuckDB-127"><a href="#DuckDB-127"><span class="linenos">127</span></a> <span class="s2">"INT1"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-128"><a href="#DuckDB-128"><span class="linenos">128</span></a> <span class="s2">"PIVOT_WIDER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
|
</span><span id="DuckDB-128"><a href="#DuckDB-128"><span class="linenos">128</span></a> <span class="s2">"LOGICAL"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-129"><a href="#DuckDB-129"><span class="linenos">129</span></a> <span class="s2">"SIGNED"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
|
</span><span id="DuckDB-129"><a href="#DuckDB-129"><span class="linenos">129</span></a> <span class="s2">"PIVOT_WIDER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-130"><a href="#DuckDB-130"><span class="linenos">130</span></a> <span class="s2">"STRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
|
</span><span id="DuckDB-130"><a href="#DuckDB-130"><span class="linenos">130</span></a> <span class="s2">"SIGNED"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-131"><a href="#DuckDB-131"><span class="linenos">131</span></a> <span class="s2">"UBIGINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UBIGINT</span><span class="p">,</span>
|
</span><span id="DuckDB-131"><a href="#DuckDB-131"><span class="linenos">131</span></a> <span class="s2">"STRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-132"><a href="#DuckDB-132"><span class="linenos">132</span></a> <span class="s2">"UINTEGER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UINT</span><span class="p">,</span>
|
</span><span id="DuckDB-132"><a href="#DuckDB-132"><span class="linenos">132</span></a> <span class="s2">"UBIGINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UBIGINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-133"><a href="#DuckDB-133"><span class="linenos">133</span></a> <span class="s2">"USMALLINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USMALLINT</span><span class="p">,</span>
|
</span><span id="DuckDB-133"><a href="#DuckDB-133"><span class="linenos">133</span></a> <span class="s2">"UINTEGER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-134"><a href="#DuckDB-134"><span class="linenos">134</span></a> <span class="s2">"UTINYINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UTINYINT</span><span class="p">,</span>
|
</span><span id="DuckDB-134"><a href="#DuckDB-134"><span class="linenos">134</span></a> <span class="s2">"USMALLINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USMALLINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-135"><a href="#DuckDB-135"><span class="linenos">135</span></a> <span class="p">}</span>
|
</span><span id="DuckDB-135"><a href="#DuckDB-135"><span class="linenos">135</span></a> <span class="s2">"UTINYINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UTINYINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB-136"><a href="#DuckDB-136"><span class="linenos">136</span></a>
|
</span><span id="DuckDB-136"><a href="#DuckDB-136"><span class="linenos">136</span></a> <span class="p">}</span>
|
||||||
</span><span id="DuckDB-137"><a href="#DuckDB-137"><span class="linenos">137</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="DuckDB-137"><a href="#DuckDB-137"><span class="linenos">137</span></a>
|
||||||
</span><span id="DuckDB-138"><a href="#DuckDB-138"><span class="linenos">138</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="DuckDB-138"><a href="#DuckDB-138"><span class="linenos">138</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="DuckDB-139"><a href="#DuckDB-139"><span class="linenos">139</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="DuckDB-139"><a href="#DuckDB-139"><span class="linenos">139</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="DuckDB-140"><a href="#DuckDB-140"><span class="linenos">140</span></a>
|
</span><span id="DuckDB-140"><a href="#DuckDB-140"><span class="linenos">140</span></a>
|
||||||
</span><span id="DuckDB-141"><a href="#DuckDB-141"><span class="linenos">141</span></a> <span class="n">BITWISE</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="DuckDB-141"><a href="#DuckDB-141"><span class="linenos">141</span></a> <span class="n">BITWISE</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="DuckDB-142"><a href="#DuckDB-142"><span class="linenos">142</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">BITWISE</span><span class="p">,</span>
|
</span><span id="DuckDB-142"><a href="#DuckDB-142"><span class="linenos">142</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">BITWISE</span><span class="p">,</span>
|
||||||
|
@ -858,6 +861,18 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="DuckDB.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#DuckDB.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="DuckDB.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="classattr">
|
<div id="DuckDB.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1122,29 +1137,29 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#DuckDB.Tokenizer"></a>
|
<a class="headerlink" href="#DuckDB.Tokenizer"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="DuckDB.Tokenizer-113"><a href="#DuckDB.Tokenizer-113"><span class="linenos">113</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="DuckDB.Tokenizer-114"><a href="#DuckDB.Tokenizer-114"><span class="linenos">114</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="DuckDB.Tokenizer-114"><a href="#DuckDB.Tokenizer-114"><span class="linenos">114</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="DuckDB.Tokenizer-115"><a href="#DuckDB.Tokenizer-115"><span class="linenos">115</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="DuckDB.Tokenizer-115"><a href="#DuckDB.Tokenizer-115"><span class="linenos">115</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-116"><a href="#DuckDB.Tokenizer-116"><span class="linenos">116</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-116"><a href="#DuckDB.Tokenizer-116"><span class="linenos">116</span></a> <span class="s2">":="</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-117"><a href="#DuckDB.Tokenizer-117"><span class="linenos">117</span></a> <span class="s2">":="</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-117"><a href="#DuckDB.Tokenizer-117"><span class="linenos">117</span></a> <span class="s2">"//"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-118"><a href="#DuckDB.Tokenizer-118"><span class="linenos">118</span></a> <span class="s2">"//"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">DIV</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-118"><a href="#DuckDB.Tokenizer-118"><span class="linenos">118</span></a> <span class="s2">"ATTACH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-119"><a href="#DuckDB.Tokenizer-119"><span class="linenos">119</span></a> <span class="s2">"ATTACH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-119"><a href="#DuckDB.Tokenizer-119"><span class="linenos">119</span></a> <span class="s2">"BINARY"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-120"><a href="#DuckDB.Tokenizer-120"><span class="linenos">120</span></a> <span class="s2">"BINARY"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARBINARY</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-120"><a href="#DuckDB.Tokenizer-120"><span class="linenos">120</span></a> <span class="s2">"BITSTRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-121"><a href="#DuckDB.Tokenizer-121"><span class="linenos">121</span></a> <span class="s2">"BITSTRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BIT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-121"><a href="#DuckDB.Tokenizer-121"><span class="linenos">121</span></a> <span class="s2">"BPCHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-122"><a href="#DuckDB.Tokenizer-122"><span class="linenos">122</span></a> <span class="s2">"BPCHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-122"><a href="#DuckDB.Tokenizer-122"><span class="linenos">122</span></a> <span class="s2">"CHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-123"><a href="#DuckDB.Tokenizer-123"><span class="linenos">123</span></a> <span class="s2">"CHAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-123"><a href="#DuckDB.Tokenizer-123"><span class="linenos">123</span></a> <span class="s2">"CHARACTER VARYING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-124"><a href="#DuckDB.Tokenizer-124"><span class="linenos">124</span></a> <span class="s2">"CHARACTER VARYING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-124"><a href="#DuckDB.Tokenizer-124"><span class="linenos">124</span></a> <span class="s2">"EXCLUDE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-125"><a href="#DuckDB.Tokenizer-125"><span class="linenos">125</span></a> <span class="s2">"EXCLUDE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">EXCEPT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-125"><a href="#DuckDB.Tokenizer-125"><span class="linenos">125</span></a> <span class="s2">"HUGEINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-126"><a href="#DuckDB.Tokenizer-126"><span class="linenos">126</span></a> <span class="s2">"HUGEINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT128</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-126"><a href="#DuckDB.Tokenizer-126"><span class="linenos">126</span></a> <span class="s2">"INT1"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-127"><a href="#DuckDB.Tokenizer-127"><span class="linenos">127</span></a> <span class="s2">"INT1"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TINYINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-127"><a href="#DuckDB.Tokenizer-127"><span class="linenos">127</span></a> <span class="s2">"LOGICAL"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-128"><a href="#DuckDB.Tokenizer-128"><span class="linenos">128</span></a> <span class="s2">"LOGICAL"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">BOOLEAN</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-128"><a href="#DuckDB.Tokenizer-128"><span class="linenos">128</span></a> <span class="s2">"PIVOT_WIDER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-129"><a href="#DuckDB.Tokenizer-129"><span class="linenos">129</span></a> <span class="s2">"PIVOT_WIDER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">PIVOT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-129"><a href="#DuckDB.Tokenizer-129"><span class="linenos">129</span></a> <span class="s2">"SIGNED"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-130"><a href="#DuckDB.Tokenizer-130"><span class="linenos">130</span></a> <span class="s2">"SIGNED"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">INT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-130"><a href="#DuckDB.Tokenizer-130"><span class="linenos">130</span></a> <span class="s2">"STRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-131"><a href="#DuckDB.Tokenizer-131"><span class="linenos">131</span></a> <span class="s2">"STRING"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VARCHAR</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-131"><a href="#DuckDB.Tokenizer-131"><span class="linenos">131</span></a> <span class="s2">"UBIGINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UBIGINT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-132"><a href="#DuckDB.Tokenizer-132"><span class="linenos">132</span></a> <span class="s2">"UBIGINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UBIGINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-132"><a href="#DuckDB.Tokenizer-132"><span class="linenos">132</span></a> <span class="s2">"UINTEGER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UINT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-133"><a href="#DuckDB.Tokenizer-133"><span class="linenos">133</span></a> <span class="s2">"UINTEGER"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-133"><a href="#DuckDB.Tokenizer-133"><span class="linenos">133</span></a> <span class="s2">"USMALLINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USMALLINT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-134"><a href="#DuckDB.Tokenizer-134"><span class="linenos">134</span></a> <span class="s2">"USMALLINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">USMALLINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-134"><a href="#DuckDB.Tokenizer-134"><span class="linenos">134</span></a> <span class="s2">"UTINYINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UTINYINT</span><span class="p">,</span>
|
</span><span id="DuckDB.Tokenizer-135"><a href="#DuckDB.Tokenizer-135"><span class="linenos">135</span></a> <span class="s2">"UTINYINT"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">UTINYINT</span><span class="p">,</span>
|
||||||
</span><span id="DuckDB.Tokenizer-135"><a href="#DuckDB.Tokenizer-135"><span class="linenos">135</span></a> <span class="p">}</span>
|
</span><span id="DuckDB.Tokenizer-136"><a href="#DuckDB.Tokenizer-136"><span class="linenos">136</span></a> <span class="p">}</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1206,9 +1221,8 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#DuckDB.Parser"></a>
|
<a class="headerlink" href="#DuckDB.Parser"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="DuckDB.Parser-137"><a href="#DuckDB.Parser-137"><span class="linenos">137</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="DuckDB.Parser-138"><a href="#DuckDB.Parser-138"><span class="linenos">138</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="DuckDB.Parser-138"><a href="#DuckDB.Parser-138"><span class="linenos">138</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="DuckDB.Parser-139"><a href="#DuckDB.Parser-139"><span class="linenos">139</span></a> <span class="n">CONCAT_NULL_OUTPUTS_STRING</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="DuckDB.Parser-139"><a href="#DuckDB.Parser-139"><span class="linenos">139</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
|
||||||
</span><span id="DuckDB.Parser-140"><a href="#DuckDB.Parser-140"><span class="linenos">140</span></a>
|
</span><span id="DuckDB.Parser-140"><a href="#DuckDB.Parser-140"><span class="linenos">140</span></a>
|
||||||
</span><span id="DuckDB.Parser-141"><a href="#DuckDB.Parser-141"><span class="linenos">141</span></a> <span class="n">BITWISE</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="DuckDB.Parser-141"><a href="#DuckDB.Parser-141"><span class="linenos">141</span></a> <span class="n">BITWISE</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="DuckDB.Parser-142"><a href="#DuckDB.Parser-142"><span class="linenos">142</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">BITWISE</span><span class="p">,</span>
|
</span><span id="DuckDB.Parser-142"><a href="#DuckDB.Parser-142"><span class="linenos">142</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">BITWISE</span><span class="p">,</span>
|
||||||
|
@ -1314,18 +1328,6 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="DuckDB.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
|
||||||
<span class="default_value">False</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#DuckDB.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="DuckDB.Parser.BITWISE" class="classattr">
|
<div id="DuckDB.Parser.BITWISE" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1377,6 +1379,18 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="DuckDB.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#DuckDB.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="DuckDB.Parser.NULL_ORDERING" class="classattr">
|
<div id="DuckDB.Parser.NULL_ORDERING" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1502,6 +1516,7 @@ Default: 3</li>
|
||||||
<dd id="DuckDB.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="DuckDB.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="DuckDB.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="DuckDB.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="DuckDB.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="DuckDB.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="DuckDB.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="DuckDB.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="DuckDB.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="DuckDB.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="DuckDB.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="DuckDB.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="DuckDB.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -1970,26 +1985,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#DuckDB.Generator.can_identify"></a>
|
<a class="headerlink" href="#DuckDB.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="DuckDB.Generator.can_identify-257"><a href="#DuckDB.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="DuckDB.Generator.can_identify-260"><a href="#DuckDB.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-258"><a href="#DuckDB.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="DuckDB.Generator.can_identify-261"><a href="#DuckDB.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-259"><a href="#DuckDB.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="DuckDB.Generator.can_identify-262"><a href="#DuckDB.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-260"><a href="#DuckDB.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="DuckDB.Generator.can_identify-263"><a href="#DuckDB.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="DuckDB.Generator.can_identify-261"><a href="#DuckDB.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="DuckDB.Generator.can_identify-264"><a href="#DuckDB.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-262"><a href="#DuckDB.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="DuckDB.Generator.can_identify-265"><a href="#DuckDB.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-263"><a href="#DuckDB.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="DuckDB.Generator.can_identify-266"><a href="#DuckDB.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-264"><a href="#DuckDB.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="DuckDB.Generator.can_identify-267"><a href="#DuckDB.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-265"><a href="#DuckDB.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="DuckDB.Generator.can_identify-268"><a href="#DuckDB.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-266"><a href="#DuckDB.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="DuckDB.Generator.can_identify-269"><a href="#DuckDB.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="DuckDB.Generator.can_identify-267"><a href="#DuckDB.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="DuckDB.Generator.can_identify-270"><a href="#DuckDB.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-268"><a href="#DuckDB.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="DuckDB.Generator.can_identify-271"><a href="#DuckDB.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-269"><a href="#DuckDB.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="DuckDB.Generator.can_identify-272"><a href="#DuckDB.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-270"><a href="#DuckDB.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="DuckDB.Generator.can_identify-273"><a href="#DuckDB.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-271"><a href="#DuckDB.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="DuckDB.Generator.can_identify-274"><a href="#DuckDB.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="DuckDB.Generator.can_identify-272"><a href="#DuckDB.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="DuckDB.Generator.can_identify-273"><a href="#DuckDB.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="DuckDB.Generator.can_identify-274"><a href="#DuckDB.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="DuckDB.Generator.can_identify-275"><a href="#DuckDB.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="DuckDB.Generator.can_identify-275"><a href="#DuckDB.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="DuckDB.Generator.can_identify-276"><a href="#DuckDB.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="DuckDB.Generator.can_identify-276"><a href="#DuckDB.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="DuckDB.Generator.can_identify-277"><a href="#DuckDB.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="DuckDB.Generator.can_identify-278"><a href="#DuckDB.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="DuckDB.Generator.can_identify-279"><a href="#DuckDB.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Hive.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a>
|
<a class="variable" href="#Hive.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Hive.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a>
|
<a class="variable" href="#Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -99,9 +102,6 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Hive.Parser.STRICT_CAST">STRICT_CAST</a>
|
<a class="variable" href="#Hive.Parser.STRICT_CAST">STRICT_CAST</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Hive.Parser.FUNCTIONS">FUNCTIONS</a>
|
<a class="variable" href="#Hive.Parser.FUNCTIONS">FUNCTIONS</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -117,6 +117,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Hive.Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a>
|
<a class="variable" href="#Hive.Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Hive.Parser.SHOW_TRIE">SHOW_TRIE</a>
|
<a class="variable" href="#Hive.Parser.SHOW_TRIE">SHOW_TRIE</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -472,79 +475,79 @@
|
||||||
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a><span class="k">class</span> <span class="nc">Hive</span><span class="p">(</span><span class="n">Dialect</span><span class="p">):</span>
|
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a><span class="k">class</span> <span class="nc">Hive</span><span class="p">(</span><span class="n">Dialect</span><span class="p">):</span>
|
||||||
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="n">ALIAS_POST_TABLESAMPLE</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="n">ALIAS_POST_TABLESAMPLE</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a>
|
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a> <span class="c1"># https://spark.apache.org/docs/latest/sql-ref-identifier.html#description</span>
|
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a>
|
||||||
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a> <span class="c1"># https://spark.apache.org/docs/latest/sql-ref-identifier.html#description</span>
|
||||||
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a>
|
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a>
|
||||||
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a> <span class="s2">"y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a> <span class="s2">"y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a> <span class="s2">"MMM"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
||||||
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a> <span class="s2">"MMM"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a> <span class="s2">"M"</span><span class="p">:</span> <span class="s2">"%-m"</span><span class="p">,</span>
|
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
||||||
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a> <span class="s2">"M"</span><span class="p">:</span> <span class="s2">"%-m"</span><span class="p">,</span>
|
||||||
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a> <span class="s2">"d"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="s2">"d"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="s2">"H"</span><span class="p">:</span> <span class="s2">"%-H"</span><span class="p">,</span>
|
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="s2">"hh"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="s2">"H"</span><span class="p">:</span> <span class="s2">"%-H"</span><span class="p">,</span>
|
||||||
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="s2">"h"</span><span class="p">:</span> <span class="s2">"%-I"</span><span class="p">,</span>
|
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="s2">"hh"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
||||||
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="s2">"h"</span><span class="p">:</span> <span class="s2">"%-I"</span><span class="p">,</span>
|
||||||
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="s2">"m"</span><span class="p">:</span> <span class="s2">"%-M"</span><span class="p">,</span>
|
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
||||||
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
</span><span id="L-176"><a href="#L-176"><span class="linenos">176</span></a> <span class="s2">"m"</span><span class="p">:</span> <span class="s2">"%-M"</span><span class="p">,</span>
|
||||||
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a> <span class="s2">"s"</span><span class="p">:</span> <span class="s2">"%-S"</span><span class="p">,</span>
|
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
||||||
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a> <span class="s2">"SSSSSS"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a> <span class="s2">"s"</span><span class="p">:</span> <span class="s2">"%-S"</span><span class="p">,</span>
|
||||||
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a> <span class="s2">"a"</span><span class="p">:</span> <span class="s2">"%p"</span><span class="p">,</span>
|
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a> <span class="s2">"SSSSSS"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"%j"</span><span class="p">,</span>
|
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a> <span class="s2">"a"</span><span class="p">:</span> <span class="s2">"%p"</span><span class="p">,</span>
|
||||||
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"%-j"</span><span class="p">,</span>
|
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"%j"</span><span class="p">,</span>
|
||||||
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"%-j"</span><span class="p">,</span>
|
||||||
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="s2">"EE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="s2">"EEE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a> <span class="s2">"EE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="s2">"EEEE"</span><span class="p">:</span> <span class="s2">"%A"</span><span class="p">,</span>
|
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a> <span class="s2">"EEE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a> <span class="p">}</span>
|
</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a> <span class="s2">"EEEE"</span><span class="p">:</span> <span class="s2">"%A"</span><span class="p">,</span>
|
||||||
</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a>
|
</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a> <span class="n">DATE_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd'"</span>
|
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a>
|
||||||
</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a> <span class="n">DATEINT_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyyMMdd'"</span>
|
</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a> <span class="n">DATE_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd'"</span>
|
||||||
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd HH:mm:ss'"</span>
|
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a> <span class="n">DATEINT_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyyMMdd'"</span>
|
||||||
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a>
|
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd HH:mm:ss'"</span>
|
||||||
</span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
</span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a>
|
||||||
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="n">QUOTES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"'"</span><span class="p">,</span> <span class="s1">'"'</span><span class="p">]</span>
|
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a> <span class="n">QUOTES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"'"</span><span class="p">,</span> <span class="s1">'"'</span><span class="p">]</span>
|
||||||
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
||||||
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
||||||
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a>
|
</span><span id="L-197"><a href="#L-197"><span class="linenos">197</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
||||||
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-198"><a href="#L-198"><span class="linenos">198</span></a>
|
||||||
</span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
</span><span id="L-199"><a href="#L-199"><span class="linenos">199</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a> <span class="s2">"ADD ARCHIVE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-200"><a href="#L-200"><span class="linenos">200</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
||||||
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a> <span class="s2">"ADD ARCHIVES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-201"><a href="#L-201"><span class="linenos">201</span></a> <span class="s2">"ADD ARCHIVE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="s2">"ADD FILE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="s2">"ADD ARCHIVES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="s2">"ADD FILES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="s2">"ADD FILE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="s2">"ADD JAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="s2">"ADD FILES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="s2">"ADD JARS"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="s2">"ADD JAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="s2">"MSCK REPAIR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="s2">"ADD JARS"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a> <span class="s2">"REFRESH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a> <span class="s2">"MSCK REPAIR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="s2">"WITH SERDEPROPERTIES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SERDE_PROPERTIES</span><span class="p">,</span>
|
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="s2">"REFRESH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <span class="s2">"TIMESTAMP AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
|
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <span class="s2">"WITH SERDEPROPERTIES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SERDE_PROPERTIES</span><span class="p">,</span>
|
||||||
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="s2">"VERSION AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
|
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="s2">"TIMESTAMP AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
|
||||||
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="p">}</span>
|
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="s2">"VERSION AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
|
||||||
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a>
|
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a> <span class="n">NUMERIC_LITERALS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a>
|
||||||
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="s2">"L"</span><span class="p">:</span> <span class="s2">"BIGINT"</span><span class="p">,</span>
|
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="n">NUMERIC_LITERALS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a> <span class="s2">"S"</span><span class="p">:</span> <span class="s2">"SMALLINT"</span><span class="p">,</span>
|
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a> <span class="s2">"L"</span><span class="p">:</span> <span class="s2">"BIGINT"</span><span class="p">,</span>
|
||||||
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"TINYINT"</span><span class="p">,</span>
|
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="s2">"S"</span><span class="p">:</span> <span class="s2">"SMALLINT"</span><span class="p">,</span>
|
||||||
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"DOUBLE"</span><span class="p">,</span>
|
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"TINYINT"</span><span class="p">,</span>
|
||||||
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="s2">"F"</span><span class="p">:</span> <span class="s2">"FLOAT"</span><span class="p">,</span>
|
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"DOUBLE"</span><span class="p">,</span>
|
||||||
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a> <span class="s2">"BD"</span><span class="p">:</span> <span class="s2">"DECIMAL"</span><span class="p">,</span>
|
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a> <span class="s2">"F"</span><span class="p">:</span> <span class="s2">"FLOAT"</span><span class="p">,</span>
|
||||||
</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a> <span class="p">}</span>
|
</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a> <span class="s2">"BD"</span><span class="p">:</span> <span class="s2">"DECIMAL"</span><span class="p">,</span>
|
||||||
</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a>
|
</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-222"><a href="#L-222"><span class="linenos">222</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="L-222"><a href="#L-222"><span class="linenos">222</span></a>
|
||||||
</span><span id="L-223"><a href="#L-223"><span class="linenos">223</span></a> <span class="n">LOG_DEFAULTS_TO_LN</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-223"><a href="#L-223"><span class="linenos">223</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="L-224"><a href="#L-224"><span class="linenos">224</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="L-224"><a href="#L-224"><span class="linenos">224</span></a> <span class="n">LOG_DEFAULTS_TO_LN</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a>
|
</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a>
|
||||||
</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-228"><a href="#L-228"><span class="linenos">228</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="L-228"><a href="#L-228"><span class="linenos">228</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -886,79 +889,79 @@
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Hive-151"><a href="#Hive-151"><span class="linenos">151</span></a><span class="k">class</span> <span class="nc">Hive</span><span class="p">(</span><span class="n">Dialect</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Hive-151"><a href="#Hive-151"><span class="linenos">151</span></a><span class="k">class</span> <span class="nc">Hive</span><span class="p">(</span><span class="n">Dialect</span><span class="p">):</span>
|
||||||
</span><span id="Hive-152"><a href="#Hive-152"><span class="linenos">152</span></a> <span class="n">ALIAS_POST_TABLESAMPLE</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Hive-152"><a href="#Hive-152"><span class="linenos">152</span></a> <span class="n">ALIAS_POST_TABLESAMPLE</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Hive-153"><a href="#Hive-153"><span class="linenos">153</span></a> <span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Hive-153"><a href="#Hive-153"><span class="linenos">153</span></a> <span class="n">IDENTIFIERS_CAN_START_WITH_DIGIT</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Hive-154"><a href="#Hive-154"><span class="linenos">154</span></a>
|
</span><span id="Hive-154"><a href="#Hive-154"><span class="linenos">154</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Hive-155"><a href="#Hive-155"><span class="linenos">155</span></a> <span class="c1"># https://spark.apache.org/docs/latest/sql-ref-identifier.html#description</span>
|
</span><span id="Hive-155"><a href="#Hive-155"><span class="linenos">155</span></a>
|
||||||
</span><span id="Hive-156"><a href="#Hive-156"><span class="linenos">156</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
</span><span id="Hive-156"><a href="#Hive-156"><span class="linenos">156</span></a> <span class="c1"># https://spark.apache.org/docs/latest/sql-ref-identifier.html#description</span>
|
||||||
</span><span id="Hive-157"><a href="#Hive-157"><span class="linenos">157</span></a>
|
</span><span id="Hive-157"><a href="#Hive-157"><span class="linenos">157</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
</span><span id="Hive-158"><a href="#Hive-158"><span class="linenos">158</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Hive-158"><a href="#Hive-158"><span class="linenos">158</span></a>
|
||||||
</span><span id="Hive-159"><a href="#Hive-159"><span class="linenos">159</span></a> <span class="s2">"y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Hive-159"><a href="#Hive-159"><span class="linenos">159</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Hive-160"><a href="#Hive-160"><span class="linenos">160</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Hive-160"><a href="#Hive-160"><span class="linenos">160</span></a> <span class="s2">"y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-161"><a href="#Hive-161"><span class="linenos">161</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Hive-161"><a href="#Hive-161"><span class="linenos">161</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-162"><a href="#Hive-162"><span class="linenos">162</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Hive-162"><a href="#Hive-162"><span class="linenos">162</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-163"><a href="#Hive-163"><span class="linenos">163</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="Hive-163"><a href="#Hive-163"><span class="linenos">163</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-164"><a href="#Hive-164"><span class="linenos">164</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="Hive-164"><a href="#Hive-164"><span class="linenos">164</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-165"><a href="#Hive-165"><span class="linenos">165</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
</span><span id="Hive-165"><a href="#Hive-165"><span class="linenos">165</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-166"><a href="#Hive-166"><span class="linenos">166</span></a> <span class="s2">"MMM"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="Hive-166"><a href="#Hive-166"><span class="linenos">166</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-167"><a href="#Hive-167"><span class="linenos">167</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
</span><span id="Hive-167"><a href="#Hive-167"><span class="linenos">167</span></a> <span class="s2">"MMM"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-168"><a href="#Hive-168"><span class="linenos">168</span></a> <span class="s2">"M"</span><span class="p">:</span> <span class="s2">"%-m"</span><span class="p">,</span>
|
</span><span id="Hive-168"><a href="#Hive-168"><span class="linenos">168</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-169"><a href="#Hive-169"><span class="linenos">169</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Hive-169"><a href="#Hive-169"><span class="linenos">169</span></a> <span class="s2">"M"</span><span class="p">:</span> <span class="s2">"%-m"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-170"><a href="#Hive-170"><span class="linenos">170</span></a> <span class="s2">"d"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Hive-170"><a href="#Hive-170"><span class="linenos">170</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-171"><a href="#Hive-171"><span class="linenos">171</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="Hive-171"><a href="#Hive-171"><span class="linenos">171</span></a> <span class="s2">"d"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-172"><a href="#Hive-172"><span class="linenos">172</span></a> <span class="s2">"H"</span><span class="p">:</span> <span class="s2">"%-H"</span><span class="p">,</span>
|
</span><span id="Hive-172"><a href="#Hive-172"><span class="linenos">172</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-173"><a href="#Hive-173"><span class="linenos">173</span></a> <span class="s2">"hh"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
</span><span id="Hive-173"><a href="#Hive-173"><span class="linenos">173</span></a> <span class="s2">"H"</span><span class="p">:</span> <span class="s2">"%-H"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-174"><a href="#Hive-174"><span class="linenos">174</span></a> <span class="s2">"h"</span><span class="p">:</span> <span class="s2">"%-I"</span><span class="p">,</span>
|
</span><span id="Hive-174"><a href="#Hive-174"><span class="linenos">174</span></a> <span class="s2">"hh"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-175"><a href="#Hive-175"><span class="linenos">175</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
</span><span id="Hive-175"><a href="#Hive-175"><span class="linenos">175</span></a> <span class="s2">"h"</span><span class="p">:</span> <span class="s2">"%-I"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-176"><a href="#Hive-176"><span class="linenos">176</span></a> <span class="s2">"m"</span><span class="p">:</span> <span class="s2">"%-M"</span><span class="p">,</span>
|
</span><span id="Hive-176"><a href="#Hive-176"><span class="linenos">176</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-177"><a href="#Hive-177"><span class="linenos">177</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
</span><span id="Hive-177"><a href="#Hive-177"><span class="linenos">177</span></a> <span class="s2">"m"</span><span class="p">:</span> <span class="s2">"%-M"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-178"><a href="#Hive-178"><span class="linenos">178</span></a> <span class="s2">"s"</span><span class="p">:</span> <span class="s2">"%-S"</span><span class="p">,</span>
|
</span><span id="Hive-178"><a href="#Hive-178"><span class="linenos">178</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-179"><a href="#Hive-179"><span class="linenos">179</span></a> <span class="s2">"SSSSSS"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Hive-179"><a href="#Hive-179"><span class="linenos">179</span></a> <span class="s2">"s"</span><span class="p">:</span> <span class="s2">"%-S"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-180"><a href="#Hive-180"><span class="linenos">180</span></a> <span class="s2">"a"</span><span class="p">:</span> <span class="s2">"%p"</span><span class="p">,</span>
|
</span><span id="Hive-180"><a href="#Hive-180"><span class="linenos">180</span></a> <span class="s2">"SSSSSS"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-181"><a href="#Hive-181"><span class="linenos">181</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"%j"</span><span class="p">,</span>
|
</span><span id="Hive-181"><a href="#Hive-181"><span class="linenos">181</span></a> <span class="s2">"a"</span><span class="p">:</span> <span class="s2">"%p"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-182"><a href="#Hive-182"><span class="linenos">182</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"%-j"</span><span class="p">,</span>
|
</span><span id="Hive-182"><a href="#Hive-182"><span class="linenos">182</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"%j"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-183"><a href="#Hive-183"><span class="linenos">183</span></a> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Hive-183"><a href="#Hive-183"><span class="linenos">183</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"%-j"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-184"><a href="#Hive-184"><span class="linenos">184</span></a> <span class="s2">"EE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Hive-184"><a href="#Hive-184"><span class="linenos">184</span></a> <span class="s2">"E"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-185"><a href="#Hive-185"><span class="linenos">185</span></a> <span class="s2">"EEE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Hive-185"><a href="#Hive-185"><span class="linenos">185</span></a> <span class="s2">"EE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-186"><a href="#Hive-186"><span class="linenos">186</span></a> <span class="s2">"EEEE"</span><span class="p">:</span> <span class="s2">"%A"</span><span class="p">,</span>
|
</span><span id="Hive-186"><a href="#Hive-186"><span class="linenos">186</span></a> <span class="s2">"EEE"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-187"><a href="#Hive-187"><span class="linenos">187</span></a> <span class="p">}</span>
|
</span><span id="Hive-187"><a href="#Hive-187"><span class="linenos">187</span></a> <span class="s2">"EEEE"</span><span class="p">:</span> <span class="s2">"%A"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-188"><a href="#Hive-188"><span class="linenos">188</span></a>
|
</span><span id="Hive-188"><a href="#Hive-188"><span class="linenos">188</span></a> <span class="p">}</span>
|
||||||
</span><span id="Hive-189"><a href="#Hive-189"><span class="linenos">189</span></a> <span class="n">DATE_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd'"</span>
|
</span><span id="Hive-189"><a href="#Hive-189"><span class="linenos">189</span></a>
|
||||||
</span><span id="Hive-190"><a href="#Hive-190"><span class="linenos">190</span></a> <span class="n">DATEINT_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyyMMdd'"</span>
|
</span><span id="Hive-190"><a href="#Hive-190"><span class="linenos">190</span></a> <span class="n">DATE_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd'"</span>
|
||||||
</span><span id="Hive-191"><a href="#Hive-191"><span class="linenos">191</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd HH:mm:ss'"</span>
|
</span><span id="Hive-191"><a href="#Hive-191"><span class="linenos">191</span></a> <span class="n">DATEINT_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyyMMdd'"</span>
|
||||||
</span><span id="Hive-192"><a href="#Hive-192"><span class="linenos">192</span></a>
|
</span><span id="Hive-192"><a href="#Hive-192"><span class="linenos">192</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'yyyy-MM-dd HH:mm:ss'"</span>
|
||||||
</span><span id="Hive-193"><a href="#Hive-193"><span class="linenos">193</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
</span><span id="Hive-193"><a href="#Hive-193"><span class="linenos">193</span></a>
|
||||||
</span><span id="Hive-194"><a href="#Hive-194"><span class="linenos">194</span></a> <span class="n">QUOTES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"'"</span><span class="p">,</span> <span class="s1">'"'</span><span class="p">]</span>
|
</span><span id="Hive-194"><a href="#Hive-194"><span class="linenos">194</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="Hive-195"><a href="#Hive-195"><span class="linenos">195</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
</span><span id="Hive-195"><a href="#Hive-195"><span class="linenos">195</span></a> <span class="n">QUOTES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"'"</span><span class="p">,</span> <span class="s1">'"'</span><span class="p">]</span>
|
||||||
</span><span id="Hive-196"><a href="#Hive-196"><span class="linenos">196</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
</span><span id="Hive-196"><a href="#Hive-196"><span class="linenos">196</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
||||||
</span><span id="Hive-197"><a href="#Hive-197"><span class="linenos">197</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
</span><span id="Hive-197"><a href="#Hive-197"><span class="linenos">197</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
||||||
</span><span id="Hive-198"><a href="#Hive-198"><span class="linenos">198</span></a>
|
</span><span id="Hive-198"><a href="#Hive-198"><span class="linenos">198</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
||||||
</span><span id="Hive-199"><a href="#Hive-199"><span class="linenos">199</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Hive-199"><a href="#Hive-199"><span class="linenos">199</span></a>
|
||||||
</span><span id="Hive-200"><a href="#Hive-200"><span class="linenos">200</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
</span><span id="Hive-200"><a href="#Hive-200"><span class="linenos">200</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Hive-201"><a href="#Hive-201"><span class="linenos">201</span></a> <span class="s2">"ADD ARCHIVE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive-201"><a href="#Hive-201"><span class="linenos">201</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
||||||
</span><span id="Hive-202"><a href="#Hive-202"><span class="linenos">202</span></a> <span class="s2">"ADD ARCHIVES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive-202"><a href="#Hive-202"><span class="linenos">202</span></a> <span class="s2">"ADD ARCHIVE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive-203"><a href="#Hive-203"><span class="linenos">203</span></a> <span class="s2">"ADD FILE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive-203"><a href="#Hive-203"><span class="linenos">203</span></a> <span class="s2">"ADD ARCHIVES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive-204"><a href="#Hive-204"><span class="linenos">204</span></a> <span class="s2">"ADD FILES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive-204"><a href="#Hive-204"><span class="linenos">204</span></a> <span class="s2">"ADD FILE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive-205"><a href="#Hive-205"><span class="linenos">205</span></a> <span class="s2">"ADD JAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive-205"><a href="#Hive-205"><span class="linenos">205</span></a> <span class="s2">"ADD FILES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive-206"><a href="#Hive-206"><span class="linenos">206</span></a> <span class="s2">"ADD JARS"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive-206"><a href="#Hive-206"><span class="linenos">206</span></a> <span class="s2">"ADD JAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive-207"><a href="#Hive-207"><span class="linenos">207</span></a> <span class="s2">"MSCK REPAIR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive-207"><a href="#Hive-207"><span class="linenos">207</span></a> <span class="s2">"ADD JARS"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive-208"><a href="#Hive-208"><span class="linenos">208</span></a> <span class="s2">"REFRESH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive-208"><a href="#Hive-208"><span class="linenos">208</span></a> <span class="s2">"MSCK REPAIR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive-209"><a href="#Hive-209"><span class="linenos">209</span></a> <span class="s2">"WITH SERDEPROPERTIES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SERDE_PROPERTIES</span><span class="p">,</span>
|
</span><span id="Hive-209"><a href="#Hive-209"><span class="linenos">209</span></a> <span class="s2">"REFRESH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive-210"><a href="#Hive-210"><span class="linenos">210</span></a> <span class="s2">"TIMESTAMP AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
|
</span><span id="Hive-210"><a href="#Hive-210"><span class="linenos">210</span></a> <span class="s2">"WITH SERDEPROPERTIES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SERDE_PROPERTIES</span><span class="p">,</span>
|
||||||
</span><span id="Hive-211"><a href="#Hive-211"><span class="linenos">211</span></a> <span class="s2">"VERSION AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
|
</span><span id="Hive-211"><a href="#Hive-211"><span class="linenos">211</span></a> <span class="s2">"TIMESTAMP AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
|
||||||
</span><span id="Hive-212"><a href="#Hive-212"><span class="linenos">212</span></a> <span class="p">}</span>
|
</span><span id="Hive-212"><a href="#Hive-212"><span class="linenos">212</span></a> <span class="s2">"VERSION AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
|
||||||
</span><span id="Hive-213"><a href="#Hive-213"><span class="linenos">213</span></a>
|
</span><span id="Hive-213"><a href="#Hive-213"><span class="linenos">213</span></a> <span class="p">}</span>
|
||||||
</span><span id="Hive-214"><a href="#Hive-214"><span class="linenos">214</span></a> <span class="n">NUMERIC_LITERALS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Hive-214"><a href="#Hive-214"><span class="linenos">214</span></a>
|
||||||
</span><span id="Hive-215"><a href="#Hive-215"><span class="linenos">215</span></a> <span class="s2">"L"</span><span class="p">:</span> <span class="s2">"BIGINT"</span><span class="p">,</span>
|
</span><span id="Hive-215"><a href="#Hive-215"><span class="linenos">215</span></a> <span class="n">NUMERIC_LITERALS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Hive-216"><a href="#Hive-216"><span class="linenos">216</span></a> <span class="s2">"S"</span><span class="p">:</span> <span class="s2">"SMALLINT"</span><span class="p">,</span>
|
</span><span id="Hive-216"><a href="#Hive-216"><span class="linenos">216</span></a> <span class="s2">"L"</span><span class="p">:</span> <span class="s2">"BIGINT"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-217"><a href="#Hive-217"><span class="linenos">217</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"TINYINT"</span><span class="p">,</span>
|
</span><span id="Hive-217"><a href="#Hive-217"><span class="linenos">217</span></a> <span class="s2">"S"</span><span class="p">:</span> <span class="s2">"SMALLINT"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-218"><a href="#Hive-218"><span class="linenos">218</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"DOUBLE"</span><span class="p">,</span>
|
</span><span id="Hive-218"><a href="#Hive-218"><span class="linenos">218</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"TINYINT"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-219"><a href="#Hive-219"><span class="linenos">219</span></a> <span class="s2">"F"</span><span class="p">:</span> <span class="s2">"FLOAT"</span><span class="p">,</span>
|
</span><span id="Hive-219"><a href="#Hive-219"><span class="linenos">219</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"DOUBLE"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-220"><a href="#Hive-220"><span class="linenos">220</span></a> <span class="s2">"BD"</span><span class="p">:</span> <span class="s2">"DECIMAL"</span><span class="p">,</span>
|
</span><span id="Hive-220"><a href="#Hive-220"><span class="linenos">220</span></a> <span class="s2">"F"</span><span class="p">:</span> <span class="s2">"FLOAT"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-221"><a href="#Hive-221"><span class="linenos">221</span></a> <span class="p">}</span>
|
</span><span id="Hive-221"><a href="#Hive-221"><span class="linenos">221</span></a> <span class="s2">"BD"</span><span class="p">:</span> <span class="s2">"DECIMAL"</span><span class="p">,</span>
|
||||||
</span><span id="Hive-222"><a href="#Hive-222"><span class="linenos">222</span></a>
|
</span><span id="Hive-222"><a href="#Hive-222"><span class="linenos">222</span></a> <span class="p">}</span>
|
||||||
</span><span id="Hive-223"><a href="#Hive-223"><span class="linenos">223</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="Hive-223"><a href="#Hive-223"><span class="linenos">223</span></a>
|
||||||
</span><span id="Hive-224"><a href="#Hive-224"><span class="linenos">224</span></a> <span class="n">LOG_DEFAULTS_TO_LN</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Hive-224"><a href="#Hive-224"><span class="linenos">224</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="Hive-225"><a href="#Hive-225"><span class="linenos">225</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="Hive-225"><a href="#Hive-225"><span class="linenos">225</span></a> <span class="n">LOG_DEFAULTS_TO_LN</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Hive-226"><a href="#Hive-226"><span class="linenos">226</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="Hive-226"><a href="#Hive-226"><span class="linenos">226</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Hive-227"><a href="#Hive-227"><span class="linenos">227</span></a>
|
</span><span id="Hive-227"><a href="#Hive-227"><span class="linenos">227</span></a>
|
||||||
</span><span id="Hive-228"><a href="#Hive-228"><span class="linenos">228</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Hive-228"><a href="#Hive-228"><span class="linenos">228</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Hive-229"><a href="#Hive-229"><span class="linenos">229</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="Hive-229"><a href="#Hive-229"><span class="linenos">229</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -1273,6 +1276,18 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Hive.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Hive.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="classattr">
|
<div id="Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1585,35 +1600,35 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Hive.Tokenizer"></a>
|
<a class="headerlink" href="#Hive.Tokenizer"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Hive.Tokenizer-193"><a href="#Hive.Tokenizer-193"><span class="linenos">193</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Hive.Tokenizer-194"><a href="#Hive.Tokenizer-194"><span class="linenos">194</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="Hive.Tokenizer-194"><a href="#Hive.Tokenizer-194"><span class="linenos">194</span></a> <span class="n">QUOTES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"'"</span><span class="p">,</span> <span class="s1">'"'</span><span class="p">]</span>
|
</span><span id="Hive.Tokenizer-195"><a href="#Hive.Tokenizer-195"><span class="linenos">195</span></a> <span class="n">QUOTES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"'"</span><span class="p">,</span> <span class="s1">'"'</span><span class="p">]</span>
|
||||||
</span><span id="Hive.Tokenizer-195"><a href="#Hive.Tokenizer-195"><span class="linenos">195</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
</span><span id="Hive.Tokenizer-196"><a href="#Hive.Tokenizer-196"><span class="linenos">196</span></a> <span class="n">IDENTIFIERS</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"`"</span><span class="p">]</span>
|
||||||
</span><span id="Hive.Tokenizer-196"><a href="#Hive.Tokenizer-196"><span class="linenos">196</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
</span><span id="Hive.Tokenizer-197"><a href="#Hive.Tokenizer-197"><span class="linenos">197</span></a> <span class="n">STRING_ESCAPES</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">]</span>
|
||||||
</span><span id="Hive.Tokenizer-197"><a href="#Hive.Tokenizer-197"><span class="linenos">197</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
</span><span id="Hive.Tokenizer-198"><a href="#Hive.Tokenizer-198"><span class="linenos">198</span></a> <span class="n">ENCODE</span> <span class="o">=</span> <span class="s2">"utf-8"</span>
|
||||||
</span><span id="Hive.Tokenizer-198"><a href="#Hive.Tokenizer-198"><span class="linenos">198</span></a>
|
</span><span id="Hive.Tokenizer-199"><a href="#Hive.Tokenizer-199"><span class="linenos">199</span></a>
|
||||||
</span><span id="Hive.Tokenizer-199"><a href="#Hive.Tokenizer-199"><span class="linenos">199</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Hive.Tokenizer-200"><a href="#Hive.Tokenizer-200"><span class="linenos">200</span></a> <span class="n">KEYWORDS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Hive.Tokenizer-200"><a href="#Hive.Tokenizer-200"><span class="linenos">200</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-201"><a href="#Hive.Tokenizer-201"><span class="linenos">201</span></a> <span class="o">**</span><span class="n">tokens</span><span class="o">.</span><span class="n">Tokenizer</span><span class="o">.</span><span class="n">KEYWORDS</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-201"><a href="#Hive.Tokenizer-201"><span class="linenos">201</span></a> <span class="s2">"ADD ARCHIVE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-202"><a href="#Hive.Tokenizer-202"><span class="linenos">202</span></a> <span class="s2">"ADD ARCHIVE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-202"><a href="#Hive.Tokenizer-202"><span class="linenos">202</span></a> <span class="s2">"ADD ARCHIVES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-203"><a href="#Hive.Tokenizer-203"><span class="linenos">203</span></a> <span class="s2">"ADD ARCHIVES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-203"><a href="#Hive.Tokenizer-203"><span class="linenos">203</span></a> <span class="s2">"ADD FILE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-204"><a href="#Hive.Tokenizer-204"><span class="linenos">204</span></a> <span class="s2">"ADD FILE"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-204"><a href="#Hive.Tokenizer-204"><span class="linenos">204</span></a> <span class="s2">"ADD FILES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-205"><a href="#Hive.Tokenizer-205"><span class="linenos">205</span></a> <span class="s2">"ADD FILES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-205"><a href="#Hive.Tokenizer-205"><span class="linenos">205</span></a> <span class="s2">"ADD JAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-206"><a href="#Hive.Tokenizer-206"><span class="linenos">206</span></a> <span class="s2">"ADD JAR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-206"><a href="#Hive.Tokenizer-206"><span class="linenos">206</span></a> <span class="s2">"ADD JARS"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-207"><a href="#Hive.Tokenizer-207"><span class="linenos">207</span></a> <span class="s2">"ADD JARS"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-207"><a href="#Hive.Tokenizer-207"><span class="linenos">207</span></a> <span class="s2">"MSCK REPAIR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-208"><a href="#Hive.Tokenizer-208"><span class="linenos">208</span></a> <span class="s2">"MSCK REPAIR"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-208"><a href="#Hive.Tokenizer-208"><span class="linenos">208</span></a> <span class="s2">"REFRESH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-209"><a href="#Hive.Tokenizer-209"><span class="linenos">209</span></a> <span class="s2">"REFRESH"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">COMMAND</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-209"><a href="#Hive.Tokenizer-209"><span class="linenos">209</span></a> <span class="s2">"WITH SERDEPROPERTIES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SERDE_PROPERTIES</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-210"><a href="#Hive.Tokenizer-210"><span class="linenos">210</span></a> <span class="s2">"WITH SERDEPROPERTIES"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">SERDE_PROPERTIES</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-210"><a href="#Hive.Tokenizer-210"><span class="linenos">210</span></a> <span class="s2">"TIMESTAMP AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-211"><a href="#Hive.Tokenizer-211"><span class="linenos">211</span></a> <span class="s2">"TIMESTAMP AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">TIMESTAMP_SNAPSHOT</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-211"><a href="#Hive.Tokenizer-211"><span class="linenos">211</span></a> <span class="s2">"VERSION AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-212"><a href="#Hive.Tokenizer-212"><span class="linenos">212</span></a> <span class="s2">"VERSION AS OF"</span><span class="p">:</span> <span class="n">TokenType</span><span class="o">.</span><span class="n">VERSION_SNAPSHOT</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-212"><a href="#Hive.Tokenizer-212"><span class="linenos">212</span></a> <span class="p">}</span>
|
</span><span id="Hive.Tokenizer-213"><a href="#Hive.Tokenizer-213"><span class="linenos">213</span></a> <span class="p">}</span>
|
||||||
</span><span id="Hive.Tokenizer-213"><a href="#Hive.Tokenizer-213"><span class="linenos">213</span></a>
|
</span><span id="Hive.Tokenizer-214"><a href="#Hive.Tokenizer-214"><span class="linenos">214</span></a>
|
||||||
</span><span id="Hive.Tokenizer-214"><a href="#Hive.Tokenizer-214"><span class="linenos">214</span></a> <span class="n">NUMERIC_LITERALS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Hive.Tokenizer-215"><a href="#Hive.Tokenizer-215"><span class="linenos">215</span></a> <span class="n">NUMERIC_LITERALS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Hive.Tokenizer-215"><a href="#Hive.Tokenizer-215"><span class="linenos">215</span></a> <span class="s2">"L"</span><span class="p">:</span> <span class="s2">"BIGINT"</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-216"><a href="#Hive.Tokenizer-216"><span class="linenos">216</span></a> <span class="s2">"L"</span><span class="p">:</span> <span class="s2">"BIGINT"</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-216"><a href="#Hive.Tokenizer-216"><span class="linenos">216</span></a> <span class="s2">"S"</span><span class="p">:</span> <span class="s2">"SMALLINT"</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-217"><a href="#Hive.Tokenizer-217"><span class="linenos">217</span></a> <span class="s2">"S"</span><span class="p">:</span> <span class="s2">"SMALLINT"</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-217"><a href="#Hive.Tokenizer-217"><span class="linenos">217</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"TINYINT"</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-218"><a href="#Hive.Tokenizer-218"><span class="linenos">218</span></a> <span class="s2">"Y"</span><span class="p">:</span> <span class="s2">"TINYINT"</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-218"><a href="#Hive.Tokenizer-218"><span class="linenos">218</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"DOUBLE"</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-219"><a href="#Hive.Tokenizer-219"><span class="linenos">219</span></a> <span class="s2">"D"</span><span class="p">:</span> <span class="s2">"DOUBLE"</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-219"><a href="#Hive.Tokenizer-219"><span class="linenos">219</span></a> <span class="s2">"F"</span><span class="p">:</span> <span class="s2">"FLOAT"</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-220"><a href="#Hive.Tokenizer-220"><span class="linenos">220</span></a> <span class="s2">"F"</span><span class="p">:</span> <span class="s2">"FLOAT"</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-220"><a href="#Hive.Tokenizer-220"><span class="linenos">220</span></a> <span class="s2">"BD"</span><span class="p">:</span> <span class="s2">"DECIMAL"</span><span class="p">,</span>
|
</span><span id="Hive.Tokenizer-221"><a href="#Hive.Tokenizer-221"><span class="linenos">221</span></a> <span class="s2">"BD"</span><span class="p">:</span> <span class="s2">"DECIMAL"</span><span class="p">,</span>
|
||||||
</span><span id="Hive.Tokenizer-221"><a href="#Hive.Tokenizer-221"><span class="linenos">221</span></a> <span class="p">}</span>
|
</span><span id="Hive.Tokenizer-222"><a href="#Hive.Tokenizer-222"><span class="linenos">222</span></a> <span class="p">}</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1741,10 +1756,9 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Hive.Parser"></a>
|
<a class="headerlink" href="#Hive.Parser"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Hive.Parser-223"><a href="#Hive.Parser-223"><span class="linenos">223</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Hive.Parser-224"><a href="#Hive.Parser-224"><span class="linenos">224</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="Hive.Parser-224"><a href="#Hive.Parser-224"><span class="linenos">224</span></a> <span class="n">LOG_DEFAULTS_TO_LN</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Hive.Parser-225"><a href="#Hive.Parser-225"><span class="linenos">225</span></a> <span class="n">LOG_DEFAULTS_TO_LN</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Hive.Parser-225"><a href="#Hive.Parser-225"><span class="linenos">225</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="Hive.Parser-226"><a href="#Hive.Parser-226"><span class="linenos">226</span></a> <span class="n">STRICT_CAST</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Hive.Parser-226"><a href="#Hive.Parser-226"><span class="linenos">226</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
|
||||||
</span><span id="Hive.Parser-227"><a href="#Hive.Parser-227"><span class="linenos">227</span></a>
|
</span><span id="Hive.Parser-227"><a href="#Hive.Parser-227"><span class="linenos">227</span></a>
|
||||||
</span><span id="Hive.Parser-228"><a href="#Hive.Parser-228"><span class="linenos">228</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Hive.Parser-228"><a href="#Hive.Parser-228"><span class="linenos">228</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Hive.Parser-229"><a href="#Hive.Parser-229"><span class="linenos">229</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="Hive.Parser-229"><a href="#Hive.Parser-229"><span class="linenos">229</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -1929,18 +1943,6 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Hive.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
|
||||||
<span class="default_value">False</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Hive.Parser.FUNCTIONS" class="classattr">
|
<div id="Hive.Parser.FUNCTIONS" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -2004,6 +2006,18 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Hive.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Hive.Parser.SHOW_TRIE" class="classattr">
|
<div id="Hive.Parser.SHOW_TRIE" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -2132,6 +2146,7 @@ Default: 3</li>
|
||||||
<dd id="Hive.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Hive.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Hive.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Hive.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Hive.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Hive.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Hive.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Hive.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Hive.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Hive.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Hive.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Hive.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
<dd id="Hive.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
||||||
|
@ -2697,26 +2712,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Hive.Generator.can_identify"></a>
|
<a class="headerlink" href="#Hive.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Hive.Generator.can_identify-257"><a href="#Hive.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Hive.Generator.can_identify-260"><a href="#Hive.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Hive.Generator.can_identify-258"><a href="#Hive.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Hive.Generator.can_identify-261"><a href="#Hive.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Hive.Generator.can_identify-259"><a href="#Hive.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Hive.Generator.can_identify-262"><a href="#Hive.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Hive.Generator.can_identify-260"><a href="#Hive.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Hive.Generator.can_identify-263"><a href="#Hive.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Hive.Generator.can_identify-261"><a href="#Hive.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Hive.Generator.can_identify-264"><a href="#Hive.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Hive.Generator.can_identify-262"><a href="#Hive.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Hive.Generator.can_identify-265"><a href="#Hive.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Hive.Generator.can_identify-263"><a href="#Hive.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Hive.Generator.can_identify-266"><a href="#Hive.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Hive.Generator.can_identify-264"><a href="#Hive.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Hive.Generator.can_identify-267"><a href="#Hive.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Hive.Generator.can_identify-265"><a href="#Hive.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Hive.Generator.can_identify-268"><a href="#Hive.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Hive.Generator.can_identify-266"><a href="#Hive.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Hive.Generator.can_identify-269"><a href="#Hive.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Hive.Generator.can_identify-267"><a href="#Hive.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Hive.Generator.can_identify-270"><a href="#Hive.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Hive.Generator.can_identify-268"><a href="#Hive.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Hive.Generator.can_identify-271"><a href="#Hive.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Hive.Generator.can_identify-269"><a href="#Hive.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Hive.Generator.can_identify-272"><a href="#Hive.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Hive.Generator.can_identify-270"><a href="#Hive.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Hive.Generator.can_identify-273"><a href="#Hive.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Hive.Generator.can_identify-271"><a href="#Hive.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Hive.Generator.can_identify-274"><a href="#Hive.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Hive.Generator.can_identify-272"><a href="#Hive.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Hive.Generator.can_identify-273"><a href="#Hive.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Hive.Generator.can_identify-274"><a href="#Hive.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Hive.Generator.can_identify-275"><a href="#Hive.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Hive.Generator.can_identify-275"><a href="#Hive.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Hive.Generator.can_identify-276"><a href="#Hive.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Hive.Generator.can_identify-276"><a href="#Hive.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Hive.Generator.can_identify-277"><a href="#Hive.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Hive.Generator.can_identify-278"><a href="#Hive.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Hive.Generator.can_identify-279"><a href="#Hive.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -955,6 +955,7 @@
|
||||||
<dd id="Oracle.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Oracle.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
<dd id="Oracle.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
<dd id="Oracle.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
||||||
<dd id="Oracle.STRICT_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="Oracle.STRICT_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Oracle.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="dialect.html#Dialect.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Oracle.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="Oracle.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="Oracle.NULL_ORDERING" class="variable"><a href="dialect.html#Dialect.NULL_ORDERING">NULL_ORDERING</a></dd>
|
<dd id="Oracle.NULL_ORDERING" class="variable"><a href="dialect.html#Dialect.NULL_ORDERING">NULL_ORDERING</a></dd>
|
||||||
<dd id="Oracle.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="Oracle.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
|
@ -1308,6 +1309,7 @@ Default: 3</li>
|
||||||
<dd id="Oracle.Parser.TABLE_INDEX_HINT_TOKENS" class="variable"><a href="../parser.html#Parser.TABLE_INDEX_HINT_TOKENS">TABLE_INDEX_HINT_TOKENS</a></dd>
|
<dd id="Oracle.Parser.TABLE_INDEX_HINT_TOKENS" class="variable"><a href="../parser.html#Parser.TABLE_INDEX_HINT_TOKENS">TABLE_INDEX_HINT_TOKENS</a></dd>
|
||||||
<dd id="Oracle.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Oracle.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Oracle.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Oracle.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Oracle.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Oracle.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Oracle.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Oracle.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Oracle.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
<dd id="Oracle.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
<dd id="Oracle.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
||||||
|
@ -1315,12 +1317,12 @@ Default: 3</li>
|
||||||
<dd id="Oracle.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
<dd id="Oracle.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
||||||
<dd id="Oracle.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
<dd id="Oracle.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
||||||
<dd id="Oracle.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="Oracle.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
<dd id="Oracle.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="Oracle.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
<dd id="Oracle.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
||||||
<dd id="Oracle.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
<dd id="Oracle.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
||||||
<dd id="Oracle.Parser.INDEX_OFFSET" class="variable"><a href="../parser.html#Parser.INDEX_OFFSET">INDEX_OFFSET</a></dd>
|
<dd id="Oracle.Parser.INDEX_OFFSET" class="variable"><a href="../parser.html#Parser.INDEX_OFFSET">INDEX_OFFSET</a></dd>
|
||||||
<dd id="Oracle.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
<dd id="Oracle.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
||||||
<dd id="Oracle.Parser.STRICT_STRING_CONCAT" class="variable"><a href="../parser.html#Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="Oracle.Parser.STRICT_STRING_CONCAT" class="variable"><a href="../parser.html#Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Oracle.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Oracle.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="Oracle.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="Oracle.Parser.NULL_ORDERING" class="variable"><a href="../parser.html#Parser.NULL_ORDERING">NULL_ORDERING</a></dd>
|
<dd id="Oracle.Parser.NULL_ORDERING" class="variable"><a href="../parser.html#Parser.NULL_ORDERING">NULL_ORDERING</a></dd>
|
||||||
<dd id="Oracle.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
<dd id="Oracle.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
||||||
|
@ -1662,26 +1664,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Oracle.Generator.can_identify"></a>
|
<a class="headerlink" href="#Oracle.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Oracle.Generator.can_identify-257"><a href="#Oracle.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Oracle.Generator.can_identify-260"><a href="#Oracle.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-258"><a href="#Oracle.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Oracle.Generator.can_identify-261"><a href="#Oracle.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-259"><a href="#Oracle.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Oracle.Generator.can_identify-262"><a href="#Oracle.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-260"><a href="#Oracle.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Oracle.Generator.can_identify-263"><a href="#Oracle.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Oracle.Generator.can_identify-261"><a href="#Oracle.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Oracle.Generator.can_identify-264"><a href="#Oracle.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-262"><a href="#Oracle.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Oracle.Generator.can_identify-265"><a href="#Oracle.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-263"><a href="#Oracle.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Oracle.Generator.can_identify-266"><a href="#Oracle.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-264"><a href="#Oracle.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Oracle.Generator.can_identify-267"><a href="#Oracle.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-265"><a href="#Oracle.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Oracle.Generator.can_identify-268"><a href="#Oracle.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-266"><a href="#Oracle.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Oracle.Generator.can_identify-269"><a href="#Oracle.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Oracle.Generator.can_identify-267"><a href="#Oracle.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Oracle.Generator.can_identify-270"><a href="#Oracle.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-268"><a href="#Oracle.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Oracle.Generator.can_identify-271"><a href="#Oracle.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-269"><a href="#Oracle.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Oracle.Generator.can_identify-272"><a href="#Oracle.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-270"><a href="#Oracle.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Oracle.Generator.can_identify-273"><a href="#Oracle.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-271"><a href="#Oracle.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Oracle.Generator.can_identify-274"><a href="#Oracle.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Oracle.Generator.can_identify-272"><a href="#Oracle.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Oracle.Generator.can_identify-273"><a href="#Oracle.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Oracle.Generator.can_identify-274"><a href="#Oracle.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Oracle.Generator.can_identify-275"><a href="#Oracle.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Oracle.Generator.can_identify-275"><a href="#Oracle.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Oracle.Generator.can_identify-276"><a href="#Oracle.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Oracle.Generator.can_identify-276"><a href="#Oracle.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Oracle.Generator.can_identify-277"><a href="#Oracle.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Oracle.Generator.can_identify-278"><a href="#Oracle.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Oracle.Generator.can_identify-279"><a href="#Oracle.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1278,6 +1278,7 @@
|
||||||
<dd id="Postgres.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Postgres.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
<dd id="Postgres.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
<dd id="Postgres.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
||||||
<dd id="Postgres.STRICT_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="Postgres.STRICT_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Postgres.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="dialect.html#Dialect.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Postgres.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="Postgres.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="Postgres.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="Postgres.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
<dd id="Postgres.DATEINT_FORMAT" class="variable"><a href="dialect.html#Dialect.DATEINT_FORMAT">DATEINT_FORMAT</a></dd>
|
<dd id="Postgres.DATEINT_FORMAT" class="variable"><a href="dialect.html#Dialect.DATEINT_FORMAT">DATEINT_FORMAT</a></dd>
|
||||||
|
@ -1821,6 +1822,7 @@ Default: 3</li>
|
||||||
<dd id="Postgres.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Postgres.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Postgres.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Postgres.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Postgres.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Postgres.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Postgres.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Postgres.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Postgres.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Postgres.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Postgres.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Postgres.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Postgres.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -1828,12 +1830,12 @@ Default: 3</li>
|
||||||
<dd id="Postgres.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
<dd id="Postgres.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
||||||
<dd id="Postgres.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
<dd id="Postgres.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
||||||
<dd id="Postgres.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="Postgres.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
<dd id="Postgres.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="Postgres.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
<dd id="Postgres.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
||||||
<dd id="Postgres.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
<dd id="Postgres.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
||||||
<dd id="Postgres.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
<dd id="Postgres.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
||||||
<dd id="Postgres.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="../parser.html#Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Postgres.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="../parser.html#Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
<dd id="Postgres.Parser.STRICT_STRING_CONCAT" class="variable"><a href="../parser.html#Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="Postgres.Parser.STRICT_STRING_CONCAT" class="variable"><a href="../parser.html#Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Postgres.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Postgres.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="Postgres.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="Postgres.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
<dd id="Postgres.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
||||||
<dd id="Postgres.Parser.error_level" class="variable"><a href="../parser.html#Parser.error_level">error_level</a></dd>
|
<dd id="Postgres.Parser.error_level" class="variable"><a href="../parser.html#Parser.error_level">error_level</a></dd>
|
||||||
|
@ -2239,26 +2241,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Postgres.Generator.can_identify"></a>
|
<a class="headerlink" href="#Postgres.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Postgres.Generator.can_identify-257"><a href="#Postgres.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Postgres.Generator.can_identify-260"><a href="#Postgres.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-258"><a href="#Postgres.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Postgres.Generator.can_identify-261"><a href="#Postgres.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-259"><a href="#Postgres.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Postgres.Generator.can_identify-262"><a href="#Postgres.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-260"><a href="#Postgres.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Postgres.Generator.can_identify-263"><a href="#Postgres.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Postgres.Generator.can_identify-261"><a href="#Postgres.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Postgres.Generator.can_identify-264"><a href="#Postgres.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-262"><a href="#Postgres.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Postgres.Generator.can_identify-265"><a href="#Postgres.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-263"><a href="#Postgres.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Postgres.Generator.can_identify-266"><a href="#Postgres.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-264"><a href="#Postgres.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Postgres.Generator.can_identify-267"><a href="#Postgres.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-265"><a href="#Postgres.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Postgres.Generator.can_identify-268"><a href="#Postgres.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-266"><a href="#Postgres.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Postgres.Generator.can_identify-269"><a href="#Postgres.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Postgres.Generator.can_identify-267"><a href="#Postgres.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Postgres.Generator.can_identify-270"><a href="#Postgres.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-268"><a href="#Postgres.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Postgres.Generator.can_identify-271"><a href="#Postgres.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-269"><a href="#Postgres.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Postgres.Generator.can_identify-272"><a href="#Postgres.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-270"><a href="#Postgres.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Postgres.Generator.can_identify-273"><a href="#Postgres.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-271"><a href="#Postgres.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Postgres.Generator.can_identify-274"><a href="#Postgres.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Postgres.Generator.can_identify-272"><a href="#Postgres.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Postgres.Generator.can_identify-273"><a href="#Postgres.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Postgres.Generator.can_identify-274"><a href="#Postgres.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Postgres.Generator.can_identify-275"><a href="#Postgres.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Postgres.Generator.can_identify-275"><a href="#Postgres.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Postgres.Generator.can_identify-276"><a href="#Postgres.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Postgres.Generator.can_identify-276"><a href="#Postgres.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Postgres.Generator.can_identify-277"><a href="#Postgres.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Postgres.Generator.can_identify-278"><a href="#Postgres.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Postgres.Generator.can_identify-279"><a href="#Postgres.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Presto.Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a>
|
<a class="variable" href="#Presto.Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Presto.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Presto.Parser.NULL_ORDERING">NULL_ORDERING</a>
|
<a class="variable" href="#Presto.Parser.NULL_ORDERING">NULL_ORDERING</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -1229,6 +1232,7 @@
|
||||||
<dd id="Presto.ALIAS_POST_TABLESAMPLE" class="variable"><a href="dialect.html#Dialect.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Presto.ALIAS_POST_TABLESAMPLE" class="variable"><a href="dialect.html#Dialect.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
<dd id="Presto.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Presto.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
<dd id="Presto.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
<dd id="Presto.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Presto.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="dialect.html#Dialect.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Presto.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="Presto.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="Presto.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="Presto.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
<dd id="Presto.DATEINT_FORMAT" class="variable"><a href="dialect.html#Dialect.DATEINT_FORMAT">DATEINT_FORMAT</a></dd>
|
<dd id="Presto.DATEINT_FORMAT" class="variable"><a href="dialect.html#Dialect.DATEINT_FORMAT">DATEINT_FORMAT</a></dd>
|
||||||
|
@ -1433,7 +1437,7 @@ Default: 3</li>
|
||||||
<div id="Presto.Parser.TOKENIZER_CLASS" class="classattr">
|
<div id="Presto.Parser.TOKENIZER_CLASS" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">TOKENIZER_CLASS</span><span class="annotation">: Type[<a href="../tokens.html#Tokenizer">sqlglot.tokens.Tokenizer</a>]</span> =
|
<span class="name">TOKENIZER_CLASS</span><span class="annotation">: Type[<a href="../tokens.html#Tokenizer">sqlglot.tokens.Tokenizer</a>]</span> =
|
||||||
<span class="default_value"><class '<a href="#Presto.Tokenizer">Presto.Tokenizer</a>'></span>
|
<span class="default_value"><class '<a href="trino.html#Trino.Tokenizer">sqlglot.dialects.trino.Trino.Tokenizer</a>'></span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1465,6 +1469,18 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Presto.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Presto.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Presto.Parser.NULL_ORDERING" class="classattr">
|
<div id="Presto.Parser.NULL_ORDERING" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1606,6 +1622,7 @@ Default: 3</li>
|
||||||
<dd id="Presto.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Presto.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Presto.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Presto.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Presto.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Presto.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Presto.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Presto.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Presto.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Presto.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Presto.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Presto.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Presto.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -1614,7 +1631,6 @@ Default: 3</li>
|
||||||
<dd id="Presto.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
<dd id="Presto.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
||||||
<dd id="Presto.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
<dd id="Presto.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
||||||
<dd id="Presto.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="Presto.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
<dd id="Presto.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="Presto.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
<dd id="Presto.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
||||||
<dd id="Presto.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
<dd id="Presto.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
||||||
<dd id="Presto.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
<dd id="Presto.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
||||||
|
@ -2179,26 +2195,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Presto.Generator.can_identify"></a>
|
<a class="headerlink" href="#Presto.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Presto.Generator.can_identify-257"><a href="#Presto.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Presto.Generator.can_identify-260"><a href="#Presto.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Presto.Generator.can_identify-258"><a href="#Presto.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Presto.Generator.can_identify-261"><a href="#Presto.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Presto.Generator.can_identify-259"><a href="#Presto.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Presto.Generator.can_identify-262"><a href="#Presto.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Presto.Generator.can_identify-260"><a href="#Presto.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Presto.Generator.can_identify-263"><a href="#Presto.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Presto.Generator.can_identify-261"><a href="#Presto.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Presto.Generator.can_identify-264"><a href="#Presto.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Presto.Generator.can_identify-262"><a href="#Presto.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Presto.Generator.can_identify-265"><a href="#Presto.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Presto.Generator.can_identify-263"><a href="#Presto.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Presto.Generator.can_identify-266"><a href="#Presto.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Presto.Generator.can_identify-264"><a href="#Presto.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Presto.Generator.can_identify-267"><a href="#Presto.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Presto.Generator.can_identify-265"><a href="#Presto.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Presto.Generator.can_identify-268"><a href="#Presto.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Presto.Generator.can_identify-266"><a href="#Presto.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Presto.Generator.can_identify-269"><a href="#Presto.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Presto.Generator.can_identify-267"><a href="#Presto.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Presto.Generator.can_identify-270"><a href="#Presto.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Presto.Generator.can_identify-268"><a href="#Presto.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Presto.Generator.can_identify-271"><a href="#Presto.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Presto.Generator.can_identify-269"><a href="#Presto.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Presto.Generator.can_identify-272"><a href="#Presto.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Presto.Generator.can_identify-270"><a href="#Presto.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Presto.Generator.can_identify-273"><a href="#Presto.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Presto.Generator.can_identify-271"><a href="#Presto.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Presto.Generator.can_identify-274"><a href="#Presto.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Presto.Generator.can_identify-272"><a href="#Presto.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Presto.Generator.can_identify-273"><a href="#Presto.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Presto.Generator.can_identify-274"><a href="#Presto.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Presto.Generator.can_identify-275"><a href="#Presto.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Presto.Generator.can_identify-275"><a href="#Presto.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Presto.Generator.can_identify-276"><a href="#Presto.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Presto.Generator.can_identify-276"><a href="#Presto.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Presto.Generator.can_identify-277"><a href="#Presto.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Presto.Generator.can_identify-278"><a href="#Presto.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Presto.Generator.can_identify-279"><a href="#Presto.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Redshift.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a>
|
<a class="variable" href="#Redshift.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Redshift.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Redshift.TIME_FORMAT">TIME_FORMAT</a>
|
<a class="variable" href="#Redshift.TIME_FORMAT">TIME_FORMAT</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -45,15 +48,15 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="class" href="#Redshift.Parser">Redshift.Parser</a>
|
<a class="class" href="#Redshift.Parser">Redshift.Parser</a>
|
||||||
<ul class="memberlist">
|
<ul class="memberlist">
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Redshift.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Redshift.Parser.FUNCTIONS">FUNCTIONS</a>
|
<a class="variable" href="#Redshift.Parser.FUNCTIONS">FUNCTIONS</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Redshift.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
<a class="variable" href="#Redshift.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Redshift.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Redshift.Parser.SHOW_TRIE">SHOW_TRIE</a>
|
<a class="variable" href="#Redshift.Parser.SHOW_TRIE">SHOW_TRIE</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -289,16 +292,16 @@
|
||||||
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a> <span class="c1"># https://docs.aws.amazon.com/redshift/latest/dg/r_names.html</span>
|
</span><span id="L-30"><a href="#L-30"><span class="linenos"> 30</span></a> <span class="c1"># https://docs.aws.amazon.com/redshift/latest/dg/r_names.html</span>
|
||||||
</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
</span><span id="L-31"><a href="#L-31"><span class="linenos"> 31</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a>
|
</span><span id="L-32"><a href="#L-32"><span class="linenos"> 32</span></a>
|
||||||
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'YYYY-MM-DD HH:MI:SS'"</span>
|
</span><span id="L-33"><a href="#L-33"><span class="linenos"> 33</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-34"><a href="#L-34"><span class="linenos"> 34</span></a>
|
||||||
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">TIME_MAPPING</span><span class="p">,</span>
|
</span><span id="L-35"><a href="#L-35"><span class="linenos"> 35</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'YYYY-MM-DD HH:MI:SS'"</span>
|
||||||
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a> <span class="s2">"MON"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="L-36"><a href="#L-36"><span class="linenos"> 36</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="L-37"><a href="#L-37"><span class="linenos"> 37</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">TIME_MAPPING</span><span class="p">,</span>
|
||||||
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a> <span class="p">}</span>
|
</span><span id="L-38"><a href="#L-38"><span class="linenos"> 38</span></a> <span class="s2">"MON"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a>
|
</span><span id="L-39"><a href="#L-39"><span class="linenos"> 39</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="L-40"><a href="#L-40"><span class="linenos"> 40</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="L-41"><a href="#L-41"><span class="linenos"> 41</span></a>
|
||||||
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a>
|
</span><span id="L-42"><a href="#L-42"><span class="linenos"> 42</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-43"><a href="#L-43"><span class="linenos"> 43</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="L-44"><a href="#L-44"><span class="linenos"> 44</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="s2">"ADD_MONTHS"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">DateAdd</span><span class="p">(</span>
|
</span><span id="L-45"><a href="#L-45"><span class="linenos"> 45</span></a> <span class="s2">"ADD_MONTHS"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">DateAdd</span><span class="p">(</span>
|
||||||
|
@ -452,16 +455,16 @@
|
||||||
</span><span id="Redshift-31"><a href="#Redshift-31"><span class="linenos"> 31</span></a> <span class="c1"># https://docs.aws.amazon.com/redshift/latest/dg/r_names.html</span>
|
</span><span id="Redshift-31"><a href="#Redshift-31"><span class="linenos"> 31</span></a> <span class="c1"># https://docs.aws.amazon.com/redshift/latest/dg/r_names.html</span>
|
||||||
</span><span id="Redshift-32"><a href="#Redshift-32"><span class="linenos"> 32</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
</span><span id="Redshift-32"><a href="#Redshift-32"><span class="linenos"> 32</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">None</span>
|
||||||
</span><span id="Redshift-33"><a href="#Redshift-33"><span class="linenos"> 33</span></a>
|
</span><span id="Redshift-33"><a href="#Redshift-33"><span class="linenos"> 33</span></a>
|
||||||
</span><span id="Redshift-34"><a href="#Redshift-34"><span class="linenos"> 34</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'YYYY-MM-DD HH:MI:SS'"</span>
|
</span><span id="Redshift-34"><a href="#Redshift-34"><span class="linenos"> 34</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Redshift-35"><a href="#Redshift-35"><span class="linenos"> 35</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Redshift-35"><a href="#Redshift-35"><span class="linenos"> 35</span></a>
|
||||||
</span><span id="Redshift-36"><a href="#Redshift-36"><span class="linenos"> 36</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">TIME_MAPPING</span><span class="p">,</span>
|
</span><span id="Redshift-36"><a href="#Redshift-36"><span class="linenos"> 36</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'YYYY-MM-DD HH:MI:SS'"</span>
|
||||||
</span><span id="Redshift-37"><a href="#Redshift-37"><span class="linenos"> 37</span></a> <span class="s2">"MON"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="Redshift-37"><a href="#Redshift-37"><span class="linenos"> 37</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Redshift-38"><a href="#Redshift-38"><span class="linenos"> 38</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="Redshift-38"><a href="#Redshift-38"><span class="linenos"> 38</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">TIME_MAPPING</span><span class="p">,</span>
|
||||||
</span><span id="Redshift-39"><a href="#Redshift-39"><span class="linenos"> 39</span></a> <span class="p">}</span>
|
</span><span id="Redshift-39"><a href="#Redshift-39"><span class="linenos"> 39</span></a> <span class="s2">"MON"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="Redshift-40"><a href="#Redshift-40"><span class="linenos"> 40</span></a>
|
</span><span id="Redshift-40"><a href="#Redshift-40"><span class="linenos"> 40</span></a> <span class="s2">"HH"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="Redshift-41"><a href="#Redshift-41"><span class="linenos"> 41</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="Redshift-41"><a href="#Redshift-41"><span class="linenos"> 41</span></a> <span class="p">}</span>
|
||||||
</span><span id="Redshift-42"><a href="#Redshift-42"><span class="linenos"> 42</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="Redshift-42"><a href="#Redshift-42"><span class="linenos"> 42</span></a>
|
||||||
</span><span id="Redshift-43"><a href="#Redshift-43"><span class="linenos"> 43</span></a>
|
</span><span id="Redshift-43"><a href="#Redshift-43"><span class="linenos"> 43</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="Redshift-44"><a href="#Redshift-44"><span class="linenos"> 44</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Redshift-44"><a href="#Redshift-44"><span class="linenos"> 44</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Redshift-45"><a href="#Redshift-45"><span class="linenos"> 45</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="Redshift-45"><a href="#Redshift-45"><span class="linenos"> 45</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
</span><span id="Redshift-46"><a href="#Redshift-46"><span class="linenos"> 46</span></a> <span class="s2">"ADD_MONTHS"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">DateAdd</span><span class="p">(</span>
|
</span><span id="Redshift-46"><a href="#Redshift-46"><span class="linenos"> 46</span></a> <span class="s2">"ADD_MONTHS"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">DateAdd</span><span class="p">(</span>
|
||||||
|
@ -612,6 +615,18 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Redshift.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Redshift.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Redshift.TIME_FORMAT" class="classattr">
|
<div id="Redshift.TIME_FORMAT" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -895,9 +910,7 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Redshift.Parser"></a>
|
<a class="headerlink" href="#Redshift.Parser"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Redshift.Parser-41"><a href="#Redshift.Parser-41"><span class="linenos">41</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Redshift.Parser-43"><a href="#Redshift.Parser-43"><span class="linenos">43</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="Redshift.Parser-42"><a href="#Redshift.Parser-42"><span class="linenos">42</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
|
||||||
</span><span id="Redshift.Parser-43"><a href="#Redshift.Parser-43"><span class="linenos">43</span></a>
|
|
||||||
</span><span id="Redshift.Parser-44"><a href="#Redshift.Parser-44"><span class="linenos">44</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Redshift.Parser-44"><a href="#Redshift.Parser-44"><span class="linenos">44</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Redshift.Parser-45"><a href="#Redshift.Parser-45"><span class="linenos">45</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="Redshift.Parser-45"><a href="#Redshift.Parser-45"><span class="linenos">45</span></a> <span class="o">**</span><span class="n">Postgres</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
</span><span id="Redshift.Parser-46"><a href="#Redshift.Parser-46"><span class="linenos">46</span></a> <span class="s2">"ADD_MONTHS"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">DateAdd</span><span class="p">(</span>
|
</span><span id="Redshift.Parser-46"><a href="#Redshift.Parser-46"><span class="linenos">46</span></a> <span class="s2">"ADD_MONTHS"</span><span class="p">:</span> <span class="k">lambda</span> <span class="n">args</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">DateAdd</span><span class="p">(</span>
|
||||||
|
@ -957,18 +970,6 @@ Default: 3</li>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="Redshift.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
|
||||||
<span class="default_value">False</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Redshift.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Redshift.Parser.FUNCTIONS" class="classattr">
|
<div id="Redshift.Parser.FUNCTIONS" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">FUNCTIONS</span> =
|
<span class="name">FUNCTIONS</span> =
|
||||||
|
@ -993,6 +994,18 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Redshift.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Redshift.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Redshift.Parser.SHOW_TRIE" class="classattr">
|
<div id="Redshift.Parser.SHOW_TRIE" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1119,6 +1132,7 @@ Default: 3</li>
|
||||||
<dd id="Redshift.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Redshift.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Redshift.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Redshift.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Redshift.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Redshift.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Redshift.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Redshift.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Redshift.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Redshift.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Redshift.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Redshift.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Redshift.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -1530,7 +1544,7 @@ Default: True</li>
|
||||||
<div id="Redshift.Generator.RESERVED_KEYWORDS" class="classattr">
|
<div id="Redshift.Generator.RESERVED_KEYWORDS" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">RESERVED_KEYWORDS</span> =
|
<span class="name">RESERVED_KEYWORDS</span> =
|
||||||
<span class="default_value">{'type', 'snapshot'}</span>
|
<span class="default_value">{'snapshot', 'type'}</span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1649,26 +1663,26 @@ without precision we convert it to <code>VARCHAR(max)</code> and if it does have
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Redshift.Generator.can_identify"></a>
|
<a class="headerlink" href="#Redshift.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Redshift.Generator.can_identify-257"><a href="#Redshift.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Redshift.Generator.can_identify-260"><a href="#Redshift.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-258"><a href="#Redshift.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Redshift.Generator.can_identify-261"><a href="#Redshift.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-259"><a href="#Redshift.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Redshift.Generator.can_identify-262"><a href="#Redshift.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-260"><a href="#Redshift.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Redshift.Generator.can_identify-263"><a href="#Redshift.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Redshift.Generator.can_identify-261"><a href="#Redshift.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Redshift.Generator.can_identify-264"><a href="#Redshift.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-262"><a href="#Redshift.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Redshift.Generator.can_identify-265"><a href="#Redshift.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-263"><a href="#Redshift.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Redshift.Generator.can_identify-266"><a href="#Redshift.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-264"><a href="#Redshift.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Redshift.Generator.can_identify-267"><a href="#Redshift.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-265"><a href="#Redshift.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Redshift.Generator.can_identify-268"><a href="#Redshift.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-266"><a href="#Redshift.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Redshift.Generator.can_identify-269"><a href="#Redshift.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Redshift.Generator.can_identify-267"><a href="#Redshift.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Redshift.Generator.can_identify-270"><a href="#Redshift.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-268"><a href="#Redshift.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Redshift.Generator.can_identify-271"><a href="#Redshift.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-269"><a href="#Redshift.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Redshift.Generator.can_identify-272"><a href="#Redshift.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-270"><a href="#Redshift.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Redshift.Generator.can_identify-273"><a href="#Redshift.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-271"><a href="#Redshift.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Redshift.Generator.can_identify-274"><a href="#Redshift.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Redshift.Generator.can_identify-272"><a href="#Redshift.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Redshift.Generator.can_identify-273"><a href="#Redshift.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Redshift.Generator.can_identify-274"><a href="#Redshift.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Redshift.Generator.can_identify-275"><a href="#Redshift.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Redshift.Generator.can_identify-275"><a href="#Redshift.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Redshift.Generator.can_identify-276"><a href="#Redshift.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Redshift.Generator.can_identify-276"><a href="#Redshift.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Redshift.Generator.can_identify-277"><a href="#Redshift.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Redshift.Generator.can_identify-278"><a href="#Redshift.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Redshift.Generator.can_identify-279"><a href="#Redshift.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Snowflake.TIME_FORMAT">TIME_FORMAT</a>
|
<a class="variable" href="#Snowflake.TIME_FORMAT">TIME_FORMAT</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Snowflake.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Snowflake.TIME_MAPPING">TIME_MAPPING</a>
|
<a class="variable" href="#Snowflake.TIME_MAPPING">TIME_MAPPING</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -51,9 +54,6 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Snowflake.Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a>
|
<a class="variable" href="#Snowflake.Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Snowflake.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Snowflake.Parser.FUNCTIONS">FUNCTIONS</a>
|
<a class="variable" href="#Snowflake.Parser.FUNCTIONS">FUNCTIONS</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -81,6 +81,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Snowflake.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
<a class="variable" href="#Snowflake.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Snowflake.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Snowflake.Parser.NULL_ORDERING">NULL_ORDERING</a>
|
<a class="variable" href="#Snowflake.Parser.NULL_ORDERING">NULL_ORDERING</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -515,39 +518,39 @@
|
||||||
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-202"><a href="#L-202"><span class="linenos">202</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="n">NULL_ORDERING</span> <span class="o">=</span> <span class="s2">"nulls_are_large"</span>
|
</span><span id="L-203"><a href="#L-203"><span class="linenos">203</span></a> <span class="n">NULL_ORDERING</span> <span class="o">=</span> <span class="s2">"nulls_are_large"</span>
|
||||||
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'YYYY-MM-DD HH24:MI:SS'"</span>
|
</span><span id="L-204"><a href="#L-204"><span class="linenos">204</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'YYYY-MM-DD HH24:MI:SS'"</span>
|
||||||
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a>
|
</span><span id="L-205"><a href="#L-205"><span class="linenos">205</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-206"><a href="#L-206"><span class="linenos">206</span></a>
|
||||||
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-207"><a href="#L-207"><span class="linenos">207</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="L-208"><a href="#L-208"><span class="linenos">208</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a> <span class="s2">"mmmm"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
||||||
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a> <span class="s2">"MON"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a> <span class="s2">"mmmm"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
||||||
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="s2">"mon"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="s2">"MON"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a> <span class="s2">"mon"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
||||||
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
||||||
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a> <span class="s2">"DY"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a> <span class="s2">"dy"</span><span class="p">:</span> <span class="s2">"%w"</span><span class="p">,</span>
|
</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a> <span class="s2">"DY"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a> <span class="s2">"HH24"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a> <span class="s2">"dy"</span><span class="p">:</span> <span class="s2">"%w"</span><span class="p">,</span>
|
||||||
</span><span id="L-222"><a href="#L-222"><span class="linenos">222</span></a> <span class="s2">"hh24"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="L-222"><a href="#L-222"><span class="linenos">222</span></a> <span class="s2">"HH24"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="L-223"><a href="#L-223"><span class="linenos">223</span></a> <span class="s2">"HH12"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
</span><span id="L-223"><a href="#L-223"><span class="linenos">223</span></a> <span class="s2">"hh24"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="L-224"><a href="#L-224"><span class="linenos">224</span></a> <span class="s2">"hh12"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
</span><span id="L-224"><a href="#L-224"><span class="linenos">224</span></a> <span class="s2">"HH12"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
||||||
</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a> <span class="s2">"MI"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a> <span class="s2">"hh12"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
||||||
</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a> <span class="s2">"mi"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a> <span class="s2">"MI"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
||||||
</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a> <span class="s2">"SS"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a> <span class="s2">"mi"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
||||||
</span><span id="L-228"><a href="#L-228"><span class="linenos">228</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
</span><span id="L-228"><a href="#L-228"><span class="linenos">228</span></a> <span class="s2">"SS"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
||||||
</span><span id="L-229"><a href="#L-229"><span class="linenos">229</span></a> <span class="s2">"FF"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-229"><a href="#L-229"><span class="linenos">229</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
||||||
</span><span id="L-230"><a href="#L-230"><span class="linenos">230</span></a> <span class="s2">"ff"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-230"><a href="#L-230"><span class="linenos">230</span></a> <span class="s2">"FF"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-231"><a href="#L-231"><span class="linenos">231</span></a> <span class="s2">"FF6"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-231"><a href="#L-231"><span class="linenos">231</span></a> <span class="s2">"ff"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-232"><a href="#L-232"><span class="linenos">232</span></a> <span class="s2">"ff6"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="L-232"><a href="#L-232"><span class="linenos">232</span></a> <span class="s2">"FF6"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-233"><a href="#L-233"><span class="linenos">233</span></a> <span class="p">}</span>
|
</span><span id="L-233"><a href="#L-233"><span class="linenos">233</span></a> <span class="s2">"ff6"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="L-234"><a href="#L-234"><span class="linenos">234</span></a>
|
</span><span id="L-234"><a href="#L-234"><span class="linenos">234</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="L-235"><a href="#L-235"><span class="linenos">235</span></a>
|
||||||
</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a> <span class="n">IDENTIFY_PIVOT_STRINGS</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="n">IDENTIFY_PIVOT_STRINGS</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a>
|
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a>
|
||||||
</span><span id="L-239"><a href="#L-239"><span class="linenos">239</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-239"><a href="#L-239"><span class="linenos">239</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-240"><a href="#L-240"><span class="linenos">240</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="L-240"><a href="#L-240"><span class="linenos">240</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -837,39 +840,39 @@
|
||||||
</span><span id="Snowflake-203"><a href="#Snowflake-203"><span class="linenos">203</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Snowflake-203"><a href="#Snowflake-203"><span class="linenos">203</span></a> <span class="n">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Snowflake-204"><a href="#Snowflake-204"><span class="linenos">204</span></a> <span class="n">NULL_ORDERING</span> <span class="o">=</span> <span class="s2">"nulls_are_large"</span>
|
</span><span id="Snowflake-204"><a href="#Snowflake-204"><span class="linenos">204</span></a> <span class="n">NULL_ORDERING</span> <span class="o">=</span> <span class="s2">"nulls_are_large"</span>
|
||||||
</span><span id="Snowflake-205"><a href="#Snowflake-205"><span class="linenos">205</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'YYYY-MM-DD HH24:MI:SS'"</span>
|
</span><span id="Snowflake-205"><a href="#Snowflake-205"><span class="linenos">205</span></a> <span class="n">TIME_FORMAT</span> <span class="o">=</span> <span class="s2">"'YYYY-MM-DD HH24:MI:SS'"</span>
|
||||||
</span><span id="Snowflake-206"><a href="#Snowflake-206"><span class="linenos">206</span></a>
|
</span><span id="Snowflake-206"><a href="#Snowflake-206"><span class="linenos">206</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Snowflake-207"><a href="#Snowflake-207"><span class="linenos">207</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Snowflake-207"><a href="#Snowflake-207"><span class="linenos">207</span></a>
|
||||||
</span><span id="Snowflake-208"><a href="#Snowflake-208"><span class="linenos">208</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Snowflake-208"><a href="#Snowflake-208"><span class="linenos">208</span></a> <span class="n">TIME_MAPPING</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Snowflake-209"><a href="#Snowflake-209"><span class="linenos">209</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
</span><span id="Snowflake-209"><a href="#Snowflake-209"><span class="linenos">209</span></a> <span class="s2">"YYYY"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-210"><a href="#Snowflake-210"><span class="linenos">210</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="Snowflake-210"><a href="#Snowflake-210"><span class="linenos">210</span></a> <span class="s2">"yyyy"</span><span class="p">:</span> <span class="s2">"%Y"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-211"><a href="#Snowflake-211"><span class="linenos">211</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
</span><span id="Snowflake-211"><a href="#Snowflake-211"><span class="linenos">211</span></a> <span class="s2">"YY"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-212"><a href="#Snowflake-212"><span class="linenos">212</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
</span><span id="Snowflake-212"><a href="#Snowflake-212"><span class="linenos">212</span></a> <span class="s2">"yy"</span><span class="p">:</span> <span class="s2">"%y"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-213"><a href="#Snowflake-213"><span class="linenos">213</span></a> <span class="s2">"mmmm"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
</span><span id="Snowflake-213"><a href="#Snowflake-213"><span class="linenos">213</span></a> <span class="s2">"MMMM"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-214"><a href="#Snowflake-214"><span class="linenos">214</span></a> <span class="s2">"MON"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="Snowflake-214"><a href="#Snowflake-214"><span class="linenos">214</span></a> <span class="s2">"mmmm"</span><span class="p">:</span> <span class="s2">"%B"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-215"><a href="#Snowflake-215"><span class="linenos">215</span></a> <span class="s2">"mon"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
</span><span id="Snowflake-215"><a href="#Snowflake-215"><span class="linenos">215</span></a> <span class="s2">"MON"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-216"><a href="#Snowflake-216"><span class="linenos">216</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
</span><span id="Snowflake-216"><a href="#Snowflake-216"><span class="linenos">216</span></a> <span class="s2">"mon"</span><span class="p">:</span> <span class="s2">"%b"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-217"><a href="#Snowflake-217"><span class="linenos">217</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
</span><span id="Snowflake-217"><a href="#Snowflake-217"><span class="linenos">217</span></a> <span class="s2">"MM"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-218"><a href="#Snowflake-218"><span class="linenos">218</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Snowflake-218"><a href="#Snowflake-218"><span class="linenos">218</span></a> <span class="s2">"mm"</span><span class="p">:</span> <span class="s2">"%m"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-219"><a href="#Snowflake-219"><span class="linenos">219</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Snowflake-219"><a href="#Snowflake-219"><span class="linenos">219</span></a> <span class="s2">"DD"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-220"><a href="#Snowflake-220"><span class="linenos">220</span></a> <span class="s2">"DY"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Snowflake-220"><a href="#Snowflake-220"><span class="linenos">220</span></a> <span class="s2">"dd"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%-d</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-221"><a href="#Snowflake-221"><span class="linenos">221</span></a> <span class="s2">"dy"</span><span class="p">:</span> <span class="s2">"%w"</span><span class="p">,</span>
|
</span><span id="Snowflake-221"><a href="#Snowflake-221"><span class="linenos">221</span></a> <span class="s2">"DY"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%a</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-222"><a href="#Snowflake-222"><span class="linenos">222</span></a> <span class="s2">"HH24"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="Snowflake-222"><a href="#Snowflake-222"><span class="linenos">222</span></a> <span class="s2">"dy"</span><span class="p">:</span> <span class="s2">"%w"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-223"><a href="#Snowflake-223"><span class="linenos">223</span></a> <span class="s2">"hh24"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
</span><span id="Snowflake-223"><a href="#Snowflake-223"><span class="linenos">223</span></a> <span class="s2">"HH24"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-224"><a href="#Snowflake-224"><span class="linenos">224</span></a> <span class="s2">"HH12"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
</span><span id="Snowflake-224"><a href="#Snowflake-224"><span class="linenos">224</span></a> <span class="s2">"hh24"</span><span class="p">:</span> <span class="s2">"%H"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-225"><a href="#Snowflake-225"><span class="linenos">225</span></a> <span class="s2">"hh12"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
</span><span id="Snowflake-225"><a href="#Snowflake-225"><span class="linenos">225</span></a> <span class="s2">"HH12"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-226"><a href="#Snowflake-226"><span class="linenos">226</span></a> <span class="s2">"MI"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
</span><span id="Snowflake-226"><a href="#Snowflake-226"><span class="linenos">226</span></a> <span class="s2">"hh12"</span><span class="p">:</span> <span class="s2">"%I"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-227"><a href="#Snowflake-227"><span class="linenos">227</span></a> <span class="s2">"mi"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
</span><span id="Snowflake-227"><a href="#Snowflake-227"><span class="linenos">227</span></a> <span class="s2">"MI"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-228"><a href="#Snowflake-228"><span class="linenos">228</span></a> <span class="s2">"SS"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
</span><span id="Snowflake-228"><a href="#Snowflake-228"><span class="linenos">228</span></a> <span class="s2">"mi"</span><span class="p">:</span> <span class="s2">"%M"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-229"><a href="#Snowflake-229"><span class="linenos">229</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
</span><span id="Snowflake-229"><a href="#Snowflake-229"><span class="linenos">229</span></a> <span class="s2">"SS"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-230"><a href="#Snowflake-230"><span class="linenos">230</span></a> <span class="s2">"FF"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Snowflake-230"><a href="#Snowflake-230"><span class="linenos">230</span></a> <span class="s2">"ss"</span><span class="p">:</span> <span class="s2">"%S"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-231"><a href="#Snowflake-231"><span class="linenos">231</span></a> <span class="s2">"ff"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Snowflake-231"><a href="#Snowflake-231"><span class="linenos">231</span></a> <span class="s2">"FF"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-232"><a href="#Snowflake-232"><span class="linenos">232</span></a> <span class="s2">"FF6"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Snowflake-232"><a href="#Snowflake-232"><span class="linenos">232</span></a> <span class="s2">"ff"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-233"><a href="#Snowflake-233"><span class="linenos">233</span></a> <span class="s2">"ff6"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="Snowflake-233"><a href="#Snowflake-233"><span class="linenos">233</span></a> <span class="s2">"FF6"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-234"><a href="#Snowflake-234"><span class="linenos">234</span></a> <span class="p">}</span>
|
</span><span id="Snowflake-234"><a href="#Snowflake-234"><span class="linenos">234</span></a> <span class="s2">"ff6"</span><span class="p">:</span> <span class="s2">"</span><span class="si">%f</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="Snowflake-235"><a href="#Snowflake-235"><span class="linenos">235</span></a>
|
</span><span id="Snowflake-235"><a href="#Snowflake-235"><span class="linenos">235</span></a> <span class="p">}</span>
|
||||||
</span><span id="Snowflake-236"><a href="#Snowflake-236"><span class="linenos">236</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="Snowflake-236"><a href="#Snowflake-236"><span class="linenos">236</span></a>
|
||||||
</span><span id="Snowflake-237"><a href="#Snowflake-237"><span class="linenos">237</span></a> <span class="n">IDENTIFY_PIVOT_STRINGS</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Snowflake-237"><a href="#Snowflake-237"><span class="linenos">237</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="Snowflake-238"><a href="#Snowflake-238"><span class="linenos">238</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
</span><span id="Snowflake-238"><a href="#Snowflake-238"><span class="linenos">238</span></a> <span class="n">IDENTIFY_PIVOT_STRINGS</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Snowflake-239"><a href="#Snowflake-239"><span class="linenos">239</span></a>
|
</span><span id="Snowflake-239"><a href="#Snowflake-239"><span class="linenos">239</span></a>
|
||||||
</span><span id="Snowflake-240"><a href="#Snowflake-240"><span class="linenos">240</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Snowflake-240"><a href="#Snowflake-240"><span class="linenos">240</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Snowflake-241"><a href="#Snowflake-241"><span class="linenos">241</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="Snowflake-241"><a href="#Snowflake-241"><span class="linenos">241</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -1179,6 +1182,18 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Snowflake.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Snowflake.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Snowflake.TIME_MAPPING" class="classattr">
|
<div id="Snowflake.TIME_MAPPING" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1446,9 +1461,8 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Snowflake.Parser"></a>
|
<a class="headerlink" href="#Snowflake.Parser"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Snowflake.Parser-236"><a href="#Snowflake.Parser-236"><span class="linenos">236</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Snowflake.Parser-237"><a href="#Snowflake.Parser-237"><span class="linenos">237</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
||||||
</span><span id="Snowflake.Parser-237"><a href="#Snowflake.Parser-237"><span class="linenos">237</span></a> <span class="n">IDENTIFY_PIVOT_STRINGS</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="Snowflake.Parser-238"><a href="#Snowflake.Parser-238"><span class="linenos">238</span></a> <span class="n">IDENTIFY_PIVOT_STRINGS</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="Snowflake.Parser-238"><a href="#Snowflake.Parser-238"><span class="linenos">238</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
|
||||||
</span><span id="Snowflake.Parser-239"><a href="#Snowflake.Parser-239"><span class="linenos">239</span></a>
|
</span><span id="Snowflake.Parser-239"><a href="#Snowflake.Parser-239"><span class="linenos">239</span></a>
|
||||||
</span><span id="Snowflake.Parser-240"><a href="#Snowflake.Parser-240"><span class="linenos">240</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Snowflake.Parser-240"><a href="#Snowflake.Parser-240"><span class="linenos">240</span></a> <span class="n">FUNCTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Snowflake.Parser-241"><a href="#Snowflake.Parser-241"><span class="linenos">241</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
</span><span id="Snowflake.Parser-241"><a href="#Snowflake.Parser-241"><span class="linenos">241</span></a> <span class="o">**</span><span class="n">parser</span><span class="o">.</span><span class="n">Parser</span><span class="o">.</span><span class="n">FUNCTIONS</span><span class="p">,</span>
|
||||||
|
@ -1582,18 +1596,6 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Snowflake.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
|
||||||
<span class="default_value">False</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Snowflake.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Snowflake.Parser.FUNCTIONS" class="classattr">
|
<div id="Snowflake.Parser.FUNCTIONS" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1638,7 +1640,7 @@ Default: 3</li>
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">TIMESTAMPS</span> =
|
<span class="name">TIMESTAMPS</span> =
|
||||||
<input id="Snowflake.Parser.TIMESTAMPS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
<input id="Snowflake.Parser.TIMESTAMPS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||||
<label class="view-value-button pdoc-button" for="Snowflake.Parser.TIMESTAMPS-view-value"></label><span class="default_value">{<TokenType.TIMETZ: 'TIMETZ'>, <TokenType.TIMESTAMPTZ: 'TIMESTAMPTZ'>, <TokenType.TIMESTAMPLTZ: 'TIMESTAMPLTZ'>, <TokenType.TIMESTAMP: 'TIMESTAMP'>}</span>
|
<label class="view-value-button pdoc-button" for="Snowflake.Parser.TIMESTAMPS-view-value"></label><span class="default_value">{<TokenType.TIMESTAMP: 'TIMESTAMP'>, <TokenType.TIMESTAMPTZ: 'TIMESTAMPTZ'>, <TokenType.TIMETZ: 'TIMETZ'>, <TokenType.TIMESTAMPLTZ: 'TIMESTAMPLTZ'>}</span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1710,6 +1712,18 @@ Default: 3</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="Snowflake.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Snowflake.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div id="Snowflake.Parser.NULL_ORDERING" class="classattr">
|
<div id="Snowflake.Parser.NULL_ORDERING" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
|
@ -1845,6 +1859,7 @@ Default: 3</li>
|
||||||
<dd id="Snowflake.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Snowflake.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Snowflake.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Snowflake.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Snowflake.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Snowflake.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Snowflake.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Snowflake.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Snowflake.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Snowflake.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Snowflake.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Snowflake.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Snowflake.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -2017,7 +2032,7 @@ Default: 3</li>
|
||||||
<div id="Snowflake.Tokenizer.COMMANDS" class="classattr">
|
<div id="Snowflake.Tokenizer.COMMANDS" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">COMMANDS</span> =
|
<span class="name">COMMANDS</span> =
|
||||||
<span class="default_value">{<TokenType.FETCH: 'FETCH'>, <TokenType.COMMAND: 'COMMAND'>, <TokenType.EXECUTE: 'EXECUTE'>}</span>
|
<span class="default_value">{<TokenType.COMMAND: 'COMMAND'>, <TokenType.FETCH: 'FETCH'>, <TokenType.EXECUTE: 'EXECUTE'>}</span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -2571,26 +2586,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Snowflake.Generator.can_identify"></a>
|
<a class="headerlink" href="#Snowflake.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Snowflake.Generator.can_identify-257"><a href="#Snowflake.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Snowflake.Generator.can_identify-260"><a href="#Snowflake.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-258"><a href="#Snowflake.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Snowflake.Generator.can_identify-261"><a href="#Snowflake.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-259"><a href="#Snowflake.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Snowflake.Generator.can_identify-262"><a href="#Snowflake.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-260"><a href="#Snowflake.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Snowflake.Generator.can_identify-263"><a href="#Snowflake.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Snowflake.Generator.can_identify-261"><a href="#Snowflake.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Snowflake.Generator.can_identify-264"><a href="#Snowflake.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-262"><a href="#Snowflake.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Snowflake.Generator.can_identify-265"><a href="#Snowflake.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-263"><a href="#Snowflake.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Snowflake.Generator.can_identify-266"><a href="#Snowflake.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-264"><a href="#Snowflake.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Snowflake.Generator.can_identify-267"><a href="#Snowflake.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-265"><a href="#Snowflake.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Snowflake.Generator.can_identify-268"><a href="#Snowflake.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-266"><a href="#Snowflake.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Snowflake.Generator.can_identify-269"><a href="#Snowflake.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Snowflake.Generator.can_identify-267"><a href="#Snowflake.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Snowflake.Generator.can_identify-270"><a href="#Snowflake.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-268"><a href="#Snowflake.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Snowflake.Generator.can_identify-271"><a href="#Snowflake.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-269"><a href="#Snowflake.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Snowflake.Generator.can_identify-272"><a href="#Snowflake.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-270"><a href="#Snowflake.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Snowflake.Generator.can_identify-273"><a href="#Snowflake.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-271"><a href="#Snowflake.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Snowflake.Generator.can_identify-274"><a href="#Snowflake.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Snowflake.Generator.can_identify-272"><a href="#Snowflake.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Snowflake.Generator.can_identify-273"><a href="#Snowflake.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Snowflake.Generator.can_identify-274"><a href="#Snowflake.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Snowflake.Generator.can_identify-275"><a href="#Snowflake.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Snowflake.Generator.can_identify-275"><a href="#Snowflake.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Snowflake.Generator.can_identify-276"><a href="#Snowflake.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Snowflake.Generator.can_identify-276"><a href="#Snowflake.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Snowflake.Generator.can_identify-277"><a href="#Snowflake.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Snowflake.Generator.can_identify-278"><a href="#Snowflake.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Snowflake.Generator.can_identify-279"><a href="#Snowflake.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -581,6 +581,7 @@
|
||||||
<div><dt><a href="hive.html#Hive">sqlglot.dialects.hive.Hive</a></dt>
|
<div><dt><a href="hive.html#Hive">sqlglot.dialects.hive.Hive</a></dt>
|
||||||
<dd id="Spark.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Spark.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
<dd id="Spark.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="hive.html#Hive.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Spark.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="hive.html#Hive.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
|
<dd id="Spark.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Spark.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="variable"><a href="hive.html#Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a></dd>
|
<dd id="Spark.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="variable"><a href="hive.html#Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a></dd>
|
||||||
<dd id="Spark.TIME_MAPPING" class="variable"><a href="hive.html#Hive.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Spark.TIME_MAPPING" class="variable"><a href="hive.html#Hive.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
<dd id="Spark.DATE_FORMAT" class="variable"><a href="hive.html#Hive.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="Spark.DATE_FORMAT" class="variable"><a href="hive.html#Hive.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
|
@ -881,6 +882,7 @@ Default: 3</li>
|
||||||
<dd id="Spark.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Spark.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Spark.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Spark.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Spark.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Spark.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Spark.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Spark.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Spark.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Spark.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Spark.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Spark.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
<dd id="Spark.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
||||||
|
@ -912,10 +914,10 @@ Default: 3</li>
|
||||||
<div><dt><a href="hive.html#Hive.Parser">sqlglot.dialects.hive.Hive.Parser</a></dt>
|
<div><dt><a href="hive.html#Hive.Parser">sqlglot.dialects.hive.Hive.Parser</a></dt>
|
||||||
<dd id="Spark.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="hive.html#Hive.Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="Spark.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="hive.html#Hive.Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
<dd id="Spark.Parser.STRICT_CAST" class="variable"><a href="hive.html#Hive.Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Spark.Parser.STRICT_CAST" class="variable"><a href="hive.html#Hive.Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
<dd id="Spark.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="Spark.Parser.NO_PAREN_FUNCTION_PARSERS" class="variable"><a href="hive.html#Hive.Parser.NO_PAREN_FUNCTION_PARSERS">NO_PAREN_FUNCTION_PARSERS</a></dd>
|
<dd id="Spark.Parser.NO_PAREN_FUNCTION_PARSERS" class="variable"><a href="hive.html#Hive.Parser.NO_PAREN_FUNCTION_PARSERS">NO_PAREN_FUNCTION_PARSERS</a></dd>
|
||||||
<dd id="Spark.Parser.PROPERTY_PARSERS" class="variable"><a href="hive.html#Hive.Parser.PROPERTY_PARSERS">PROPERTY_PARSERS</a></dd>
|
<dd id="Spark.Parser.PROPERTY_PARSERS" class="variable"><a href="hive.html#Hive.Parser.PROPERTY_PARSERS">PROPERTY_PARSERS</a></dd>
|
||||||
<dd id="Spark.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Spark.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
|
<dd id="Spark.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Spark.Parser.TIME_MAPPING" class="variable"><a href="hive.html#Hive.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Spark.Parser.TIME_MAPPING" class="variable"><a href="hive.html#Hive.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1127,26 +1129,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Spark.Generator.can_identify"></a>
|
<a class="headerlink" href="#Spark.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Spark.Generator.can_identify-257"><a href="#Spark.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Spark.Generator.can_identify-260"><a href="#Spark.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Spark.Generator.can_identify-258"><a href="#Spark.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Spark.Generator.can_identify-261"><a href="#Spark.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Spark.Generator.can_identify-259"><a href="#Spark.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Spark.Generator.can_identify-262"><a href="#Spark.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Spark.Generator.can_identify-260"><a href="#Spark.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Spark.Generator.can_identify-263"><a href="#Spark.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Spark.Generator.can_identify-261"><a href="#Spark.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Spark.Generator.can_identify-264"><a href="#Spark.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Spark.Generator.can_identify-262"><a href="#Spark.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Spark.Generator.can_identify-265"><a href="#Spark.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Spark.Generator.can_identify-263"><a href="#Spark.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Spark.Generator.can_identify-266"><a href="#Spark.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Spark.Generator.can_identify-264"><a href="#Spark.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Spark.Generator.can_identify-267"><a href="#Spark.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Spark.Generator.can_identify-265"><a href="#Spark.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Spark.Generator.can_identify-268"><a href="#Spark.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Spark.Generator.can_identify-266"><a href="#Spark.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Spark.Generator.can_identify-269"><a href="#Spark.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Spark.Generator.can_identify-267"><a href="#Spark.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Spark.Generator.can_identify-270"><a href="#Spark.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Spark.Generator.can_identify-268"><a href="#Spark.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Spark.Generator.can_identify-271"><a href="#Spark.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Spark.Generator.can_identify-269"><a href="#Spark.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Spark.Generator.can_identify-272"><a href="#Spark.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Spark.Generator.can_identify-270"><a href="#Spark.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Spark.Generator.can_identify-273"><a href="#Spark.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Spark.Generator.can_identify-271"><a href="#Spark.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Spark.Generator.can_identify-274"><a href="#Spark.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Spark.Generator.can_identify-272"><a href="#Spark.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Spark.Generator.can_identify-273"><a href="#Spark.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Spark.Generator.can_identify-274"><a href="#Spark.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Spark.Generator.can_identify-275"><a href="#Spark.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Spark.Generator.can_identify-275"><a href="#Spark.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Spark.Generator.can_identify-276"><a href="#Spark.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Spark.Generator.can_identify-276"><a href="#Spark.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Spark.Generator.can_identify-277"><a href="#Spark.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Spark.Generator.can_identify-278"><a href="#Spark.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Spark.Generator.can_identify-279"><a href="#Spark.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -858,6 +858,7 @@
|
||||||
<div><dt><a href="hive.html#Hive">sqlglot.dialects.hive.Hive</a></dt>
|
<div><dt><a href="hive.html#Hive">sqlglot.dialects.hive.Hive</a></dt>
|
||||||
<dd id="Spark2.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Spark2.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
<dd id="Spark2.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="hive.html#Hive.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Spark2.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="hive.html#Hive.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
|
<dd id="Spark2.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Spark2.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="variable"><a href="hive.html#Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a></dd>
|
<dd id="Spark2.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="variable"><a href="hive.html#Hive.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a></dd>
|
||||||
<dd id="Spark2.TIME_MAPPING" class="variable"><a href="hive.html#Hive.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Spark2.TIME_MAPPING" class="variable"><a href="hive.html#Hive.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
<dd id="Spark2.DATE_FORMAT" class="variable"><a href="hive.html#Hive.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="Spark2.DATE_FORMAT" class="variable"><a href="hive.html#Hive.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
|
@ -1130,6 +1131,7 @@ Default: 3</li>
|
||||||
<dd id="Spark2.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Spark2.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Spark2.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Spark2.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Spark2.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Spark2.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Spark2.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Spark2.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Spark2.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Spark2.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Spark2.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Spark2.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
<dd id="Spark2.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
||||||
|
@ -1161,10 +1163,10 @@ Default: 3</li>
|
||||||
<div><dt><a href="hive.html#Hive.Parser">sqlglot.dialects.hive.Hive.Parser</a></dt>
|
<div><dt><a href="hive.html#Hive.Parser">sqlglot.dialects.hive.Hive.Parser</a></dt>
|
||||||
<dd id="Spark2.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="hive.html#Hive.Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="Spark2.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="hive.html#Hive.Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
<dd id="Spark2.Parser.STRICT_CAST" class="variable"><a href="hive.html#Hive.Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Spark2.Parser.STRICT_CAST" class="variable"><a href="hive.html#Hive.Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
<dd id="Spark2.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="Spark2.Parser.NO_PAREN_FUNCTION_PARSERS" class="variable"><a href="hive.html#Hive.Parser.NO_PAREN_FUNCTION_PARSERS">NO_PAREN_FUNCTION_PARSERS</a></dd>
|
<dd id="Spark2.Parser.NO_PAREN_FUNCTION_PARSERS" class="variable"><a href="hive.html#Hive.Parser.NO_PAREN_FUNCTION_PARSERS">NO_PAREN_FUNCTION_PARSERS</a></dd>
|
||||||
<dd id="Spark2.Parser.PROPERTY_PARSERS" class="variable"><a href="hive.html#Hive.Parser.PROPERTY_PARSERS">PROPERTY_PARSERS</a></dd>
|
<dd id="Spark2.Parser.PROPERTY_PARSERS" class="variable"><a href="hive.html#Hive.Parser.PROPERTY_PARSERS">PROPERTY_PARSERS</a></dd>
|
||||||
<dd id="Spark2.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Spark2.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="hive.html#Hive.Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
|
<dd id="Spark2.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="hive.html#Hive.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Spark2.Parser.TIME_MAPPING" class="variable"><a href="hive.html#Hive.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Spark2.Parser.TIME_MAPPING" class="variable"><a href="hive.html#Hive.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1478,26 +1480,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Spark2.Generator.can_identify"></a>
|
<a class="headerlink" href="#Spark2.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Spark2.Generator.can_identify-257"><a href="#Spark2.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Spark2.Generator.can_identify-260"><a href="#Spark2.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-258"><a href="#Spark2.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Spark2.Generator.can_identify-261"><a href="#Spark2.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-259"><a href="#Spark2.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Spark2.Generator.can_identify-262"><a href="#Spark2.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-260"><a href="#Spark2.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Spark2.Generator.can_identify-263"><a href="#Spark2.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Spark2.Generator.can_identify-261"><a href="#Spark2.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Spark2.Generator.can_identify-264"><a href="#Spark2.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-262"><a href="#Spark2.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Spark2.Generator.can_identify-265"><a href="#Spark2.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-263"><a href="#Spark2.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Spark2.Generator.can_identify-266"><a href="#Spark2.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-264"><a href="#Spark2.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Spark2.Generator.can_identify-267"><a href="#Spark2.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-265"><a href="#Spark2.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Spark2.Generator.can_identify-268"><a href="#Spark2.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-266"><a href="#Spark2.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Spark2.Generator.can_identify-269"><a href="#Spark2.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Spark2.Generator.can_identify-267"><a href="#Spark2.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Spark2.Generator.can_identify-270"><a href="#Spark2.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-268"><a href="#Spark2.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Spark2.Generator.can_identify-271"><a href="#Spark2.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-269"><a href="#Spark2.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Spark2.Generator.can_identify-272"><a href="#Spark2.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-270"><a href="#Spark2.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Spark2.Generator.can_identify-273"><a href="#Spark2.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-271"><a href="#Spark2.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Spark2.Generator.can_identify-274"><a href="#Spark2.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Spark2.Generator.can_identify-272"><a href="#Spark2.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Spark2.Generator.can_identify-273"><a href="#Spark2.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Spark2.Generator.can_identify-274"><a href="#Spark2.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Spark2.Generator.can_identify-275"><a href="#Spark2.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Spark2.Generator.can_identify-275"><a href="#Spark2.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Spark2.Generator.can_identify-276"><a href="#Spark2.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Spark2.Generator.can_identify-276"><a href="#Spark2.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Spark2.Generator.can_identify-277"><a href="#Spark2.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Spark2.Generator.can_identify-278"><a href="#Spark2.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Spark2.Generator.can_identify-279"><a href="#Spark2.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -831,6 +831,7 @@
|
||||||
<dd id="SQLite.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="SQLite.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
<dd id="SQLite.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
<dd id="SQLite.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
||||||
<dd id="SQLite.STRICT_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="SQLite.STRICT_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="SQLite.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="dialect.html#Dialect.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="SQLite.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="SQLite.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="SQLite.NULL_ORDERING" class="variable"><a href="dialect.html#Dialect.NULL_ORDERING">NULL_ORDERING</a></dd>
|
<dd id="SQLite.NULL_ORDERING" class="variable"><a href="dialect.html#Dialect.NULL_ORDERING">NULL_ORDERING</a></dd>
|
||||||
<dd id="SQLite.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="SQLite.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
|
@ -1107,6 +1108,7 @@ Default: 3</li>
|
||||||
<dd id="SQLite.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="SQLite.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="SQLite.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="SQLite.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="SQLite.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="SQLite.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="SQLite.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="SQLite.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="SQLite.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="SQLite.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="SQLite.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="SQLite.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="SQLite.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -1115,13 +1117,13 @@ Default: 3</li>
|
||||||
<dd id="SQLite.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
<dd id="SQLite.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
||||||
<dd id="SQLite.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
<dd id="SQLite.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
||||||
<dd id="SQLite.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="SQLite.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
<dd id="SQLite.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="SQLite.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
<dd id="SQLite.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
||||||
<dd id="SQLite.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
<dd id="SQLite.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
||||||
<dd id="SQLite.Parser.INDEX_OFFSET" class="variable"><a href="../parser.html#Parser.INDEX_OFFSET">INDEX_OFFSET</a></dd>
|
<dd id="SQLite.Parser.INDEX_OFFSET" class="variable"><a href="../parser.html#Parser.INDEX_OFFSET">INDEX_OFFSET</a></dd>
|
||||||
<dd id="SQLite.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
<dd id="SQLite.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
||||||
<dd id="SQLite.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="../parser.html#Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="SQLite.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="../parser.html#Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
<dd id="SQLite.Parser.STRICT_STRING_CONCAT" class="variable"><a href="../parser.html#Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="SQLite.Parser.STRICT_STRING_CONCAT" class="variable"><a href="../parser.html#Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="SQLite.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="SQLite.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="SQLite.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="SQLite.Parser.NULL_ORDERING" class="variable"><a href="../parser.html#Parser.NULL_ORDERING">NULL_ORDERING</a></dd>
|
<dd id="SQLite.Parser.NULL_ORDERING" class="variable"><a href="../parser.html#Parser.NULL_ORDERING">NULL_ORDERING</a></dd>
|
||||||
<dd id="SQLite.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
<dd id="SQLite.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
||||||
|
@ -1623,26 +1625,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#SQLite.Generator.can_identify"></a>
|
<a class="headerlink" href="#SQLite.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="SQLite.Generator.can_identify-257"><a href="#SQLite.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="SQLite.Generator.can_identify-260"><a href="#SQLite.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-258"><a href="#SQLite.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="SQLite.Generator.can_identify-261"><a href="#SQLite.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-259"><a href="#SQLite.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="SQLite.Generator.can_identify-262"><a href="#SQLite.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-260"><a href="#SQLite.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="SQLite.Generator.can_identify-263"><a href="#SQLite.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="SQLite.Generator.can_identify-261"><a href="#SQLite.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="SQLite.Generator.can_identify-264"><a href="#SQLite.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-262"><a href="#SQLite.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="SQLite.Generator.can_identify-265"><a href="#SQLite.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-263"><a href="#SQLite.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="SQLite.Generator.can_identify-266"><a href="#SQLite.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-264"><a href="#SQLite.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="SQLite.Generator.can_identify-267"><a href="#SQLite.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-265"><a href="#SQLite.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="SQLite.Generator.can_identify-268"><a href="#SQLite.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-266"><a href="#SQLite.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="SQLite.Generator.can_identify-269"><a href="#SQLite.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="SQLite.Generator.can_identify-267"><a href="#SQLite.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="SQLite.Generator.can_identify-270"><a href="#SQLite.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-268"><a href="#SQLite.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="SQLite.Generator.can_identify-271"><a href="#SQLite.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-269"><a href="#SQLite.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="SQLite.Generator.can_identify-272"><a href="#SQLite.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-270"><a href="#SQLite.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="SQLite.Generator.can_identify-273"><a href="#SQLite.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-271"><a href="#SQLite.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="SQLite.Generator.can_identify-274"><a href="#SQLite.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="SQLite.Generator.can_identify-272"><a href="#SQLite.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="SQLite.Generator.can_identify-273"><a href="#SQLite.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="SQLite.Generator.can_identify-274"><a href="#SQLite.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="SQLite.Generator.can_identify-275"><a href="#SQLite.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="SQLite.Generator.can_identify-275"><a href="#SQLite.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="SQLite.Generator.can_identify-276"><a href="#SQLite.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="SQLite.Generator.can_identify-276"><a href="#SQLite.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="SQLite.Generator.can_identify-277"><a href="#SQLite.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="SQLite.Generator.can_identify-278"><a href="#SQLite.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="SQLite.Generator.can_identify-279"><a href="#SQLite.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -528,6 +528,7 @@
|
||||||
<dd id="StarRocks.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="mysql.html#MySQL.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="StarRocks.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="mysql.html#MySQL.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
<dd id="StarRocks.TIME_FORMAT" class="variable"><a href="mysql.html#MySQL.TIME_FORMAT">TIME_FORMAT</a></dd>
|
<dd id="StarRocks.TIME_FORMAT" class="variable"><a href="mysql.html#MySQL.TIME_FORMAT">TIME_FORMAT</a></dd>
|
||||||
<dd id="StarRocks.DPIPE_IS_STRING_CONCAT" class="variable"><a href="mysql.html#MySQL.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
<dd id="StarRocks.DPIPE_IS_STRING_CONCAT" class="variable"><a href="mysql.html#MySQL.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="StarRocks.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="mysql.html#MySQL.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="StarRocks.TIME_MAPPING" class="variable"><a href="mysql.html#MySQL.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="StarRocks.TIME_MAPPING" class="variable"><a href="mysql.html#MySQL.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
<dd id="StarRocks.Tokenizer" class="class"><a href="mysql.html#MySQL.Tokenizer">Tokenizer</a></dd>
|
<dd id="StarRocks.Tokenizer" class="class"><a href="mysql.html#MySQL.Tokenizer">Tokenizer</a></dd>
|
||||||
|
|
||||||
|
@ -736,6 +737,7 @@ Default: 3</li>
|
||||||
<dd id="StarRocks.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="StarRocks.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="StarRocks.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="StarRocks.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="StarRocks.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="StarRocks.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="StarRocks.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="StarRocks.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="StarRocks.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="StarRocks.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="StarRocks.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="StarRocks.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="StarRocks.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -767,7 +769,6 @@ Default: 3</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div><dt><a href="mysql.html#MySQL.Parser">sqlglot.dialects.mysql.MySQL.Parser</a></dt>
|
<div><dt><a href="mysql.html#MySQL.Parser">sqlglot.dialects.mysql.MySQL.Parser</a></dt>
|
||||||
<dd id="StarRocks.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="mysql.html#MySQL.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="StarRocks.Parser.FUNC_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.FUNC_TOKENS">FUNC_TOKENS</a></dd>
|
<dd id="StarRocks.Parser.FUNC_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.FUNC_TOKENS">FUNC_TOKENS</a></dd>
|
||||||
<dd id="StarRocks.Parser.CONJUNCTION" class="variable"><a href="mysql.html#MySQL.Parser.CONJUNCTION">CONJUNCTION</a></dd>
|
<dd id="StarRocks.Parser.CONJUNCTION" class="variable"><a href="mysql.html#MySQL.Parser.CONJUNCTION">CONJUNCTION</a></dd>
|
||||||
<dd id="StarRocks.Parser.BITWISE" class="variable"><a href="mysql.html#MySQL.Parser.BITWISE">BITWISE</a></dd>
|
<dd id="StarRocks.Parser.BITWISE" class="variable"><a href="mysql.html#MySQL.Parser.BITWISE">BITWISE</a></dd>
|
||||||
|
@ -783,6 +784,7 @@ Default: 3</li>
|
||||||
<dd id="StarRocks.Parser.TYPE_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.TYPE_TOKENS">TYPE_TOKENS</a></dd>
|
<dd id="StarRocks.Parser.TYPE_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.TYPE_TOKENS">TYPE_TOKENS</a></dd>
|
||||||
<dd id="StarRocks.Parser.ENUM_TYPE_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.ENUM_TYPE_TOKENS">ENUM_TYPE_TOKENS</a></dd>
|
<dd id="StarRocks.Parser.ENUM_TYPE_TOKENS" class="variable"><a href="mysql.html#MySQL.Parser.ENUM_TYPE_TOKENS">ENUM_TYPE_TOKENS</a></dd>
|
||||||
<dd id="StarRocks.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="mysql.html#MySQL.Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="StarRocks.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="mysql.html#MySQL.Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
|
<dd id="StarRocks.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="mysql.html#MySQL.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="StarRocks.Parser.TIME_MAPPING" class="variable"><a href="mysql.html#MySQL.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="StarRocks.Parser.TIME_MAPPING" class="variable"><a href="mysql.html#MySQL.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -959,26 +961,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#StarRocks.Generator.can_identify"></a>
|
<a class="headerlink" href="#StarRocks.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="StarRocks.Generator.can_identify-257"><a href="#StarRocks.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="StarRocks.Generator.can_identify-260"><a href="#StarRocks.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-258"><a href="#StarRocks.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="StarRocks.Generator.can_identify-261"><a href="#StarRocks.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-259"><a href="#StarRocks.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="StarRocks.Generator.can_identify-262"><a href="#StarRocks.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-260"><a href="#StarRocks.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="StarRocks.Generator.can_identify-263"><a href="#StarRocks.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="StarRocks.Generator.can_identify-261"><a href="#StarRocks.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="StarRocks.Generator.can_identify-264"><a href="#StarRocks.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-262"><a href="#StarRocks.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="StarRocks.Generator.can_identify-265"><a href="#StarRocks.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-263"><a href="#StarRocks.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="StarRocks.Generator.can_identify-266"><a href="#StarRocks.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-264"><a href="#StarRocks.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="StarRocks.Generator.can_identify-267"><a href="#StarRocks.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-265"><a href="#StarRocks.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="StarRocks.Generator.can_identify-268"><a href="#StarRocks.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-266"><a href="#StarRocks.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="StarRocks.Generator.can_identify-269"><a href="#StarRocks.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="StarRocks.Generator.can_identify-267"><a href="#StarRocks.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="StarRocks.Generator.can_identify-270"><a href="#StarRocks.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-268"><a href="#StarRocks.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="StarRocks.Generator.can_identify-271"><a href="#StarRocks.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-269"><a href="#StarRocks.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="StarRocks.Generator.can_identify-272"><a href="#StarRocks.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-270"><a href="#StarRocks.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="StarRocks.Generator.can_identify-273"><a href="#StarRocks.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-271"><a href="#StarRocks.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="StarRocks.Generator.can_identify-274"><a href="#StarRocks.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="StarRocks.Generator.can_identify-272"><a href="#StarRocks.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="StarRocks.Generator.can_identify-273"><a href="#StarRocks.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="StarRocks.Generator.can_identify-274"><a href="#StarRocks.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="StarRocks.Generator.can_identify-275"><a href="#StarRocks.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="StarRocks.Generator.can_identify-275"><a href="#StarRocks.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="StarRocks.Generator.can_identify-276"><a href="#StarRocks.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="StarRocks.Generator.can_identify-276"><a href="#StarRocks.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="StarRocks.Generator.can_identify-277"><a href="#StarRocks.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="StarRocks.Generator.can_identify-278"><a href="#StarRocks.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="StarRocks.Generator.can_identify-279"><a href="#StarRocks.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -515,6 +515,7 @@
|
||||||
<dd id="Tableau.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Tableau.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
<dd id="Tableau.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
<dd id="Tableau.DPIPE_IS_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
||||||
<dd id="Tableau.STRICT_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="Tableau.STRICT_STRING_CONCAT" class="variable"><a href="dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Tableau.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="dialect.html#Dialect.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Tableau.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="Tableau.NORMALIZE_FUNCTIONS" class="variable"><a href="dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="Tableau.NULL_ORDERING" class="variable"><a href="dialect.html#Dialect.NULL_ORDERING">NULL_ORDERING</a></dd>
|
<dd id="Tableau.NULL_ORDERING" class="variable"><a href="dialect.html#Dialect.NULL_ORDERING">NULL_ORDERING</a></dd>
|
||||||
<dd id="Tableau.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="Tableau.DATE_FORMAT" class="variable"><a href="dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
|
@ -776,26 +777,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Tableau.Generator.can_identify"></a>
|
<a class="headerlink" href="#Tableau.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Tableau.Generator.can_identify-257"><a href="#Tableau.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Tableau.Generator.can_identify-260"><a href="#Tableau.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-258"><a href="#Tableau.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Tableau.Generator.can_identify-261"><a href="#Tableau.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-259"><a href="#Tableau.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Tableau.Generator.can_identify-262"><a href="#Tableau.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-260"><a href="#Tableau.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Tableau.Generator.can_identify-263"><a href="#Tableau.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Tableau.Generator.can_identify-261"><a href="#Tableau.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Tableau.Generator.can_identify-264"><a href="#Tableau.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-262"><a href="#Tableau.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Tableau.Generator.can_identify-265"><a href="#Tableau.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-263"><a href="#Tableau.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Tableau.Generator.can_identify-266"><a href="#Tableau.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-264"><a href="#Tableau.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Tableau.Generator.can_identify-267"><a href="#Tableau.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-265"><a href="#Tableau.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Tableau.Generator.can_identify-268"><a href="#Tableau.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-266"><a href="#Tableau.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Tableau.Generator.can_identify-269"><a href="#Tableau.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Tableau.Generator.can_identify-267"><a href="#Tableau.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Tableau.Generator.can_identify-270"><a href="#Tableau.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-268"><a href="#Tableau.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Tableau.Generator.can_identify-271"><a href="#Tableau.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-269"><a href="#Tableau.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Tableau.Generator.can_identify-272"><a href="#Tableau.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-270"><a href="#Tableau.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Tableau.Generator.can_identify-273"><a href="#Tableau.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-271"><a href="#Tableau.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Tableau.Generator.can_identify-274"><a href="#Tableau.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Tableau.Generator.can_identify-272"><a href="#Tableau.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Tableau.Generator.can_identify-273"><a href="#Tableau.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Tableau.Generator.can_identify-274"><a href="#Tableau.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Tableau.Generator.can_identify-275"><a href="#Tableau.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Tableau.Generator.can_identify-275"><a href="#Tableau.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Tableau.Generator.can_identify-276"><a href="#Tableau.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Tableau.Generator.can_identify-276"><a href="#Tableau.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Tableau.Generator.can_identify-277"><a href="#Tableau.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Tableau.Generator.can_identify-278"><a href="#Tableau.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Tableau.Generator.can_identify-279"><a href="#Tableau.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1449,6 +1450,7 @@ Default: 3</li>
|
||||||
<dd id="Tableau.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
<dd id="Tableau.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
||||||
<dd id="Tableau.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
<dd id="Tableau.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
||||||
<dd id="Tableau.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
<dd id="Tableau.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
||||||
|
<dd id="Tableau.Parser.FETCH_TOKENS" class="variable"><a href="../parser.html#Parser.FETCH_TOKENS">FETCH_TOKENS</a></dd>
|
||||||
<dd id="Tableau.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
<dd id="Tableau.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
||||||
<dd id="Tableau.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
<dd id="Tableau.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
||||||
<dd id="Tableau.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
<dd id="Tableau.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||||
|
@ -1457,13 +1459,13 @@ Default: 3</li>
|
||||||
<dd id="Tableau.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
<dd id="Tableau.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
||||||
<dd id="Tableau.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
<dd id="Tableau.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
||||||
<dd id="Tableau.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
<dd id="Tableau.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
||||||
<dd id="Tableau.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
|
||||||
<dd id="Tableau.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
<dd id="Tableau.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
||||||
<dd id="Tableau.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
<dd id="Tableau.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
||||||
<dd id="Tableau.Parser.INDEX_OFFSET" class="variable"><a href="../parser.html#Parser.INDEX_OFFSET">INDEX_OFFSET</a></dd>
|
<dd id="Tableau.Parser.INDEX_OFFSET" class="variable"><a href="../parser.html#Parser.INDEX_OFFSET">INDEX_OFFSET</a></dd>
|
||||||
<dd id="Tableau.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
<dd id="Tableau.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
||||||
<dd id="Tableau.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="../parser.html#Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
<dd id="Tableau.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="../parser.html#Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
||||||
<dd id="Tableau.Parser.STRICT_STRING_CONCAT" class="variable"><a href="../parser.html#Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="Tableau.Parser.STRICT_STRING_CONCAT" class="variable"><a href="../parser.html#Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Tableau.Parser.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../parser.html#Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Tableau.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="Tableau.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="Tableau.Parser.NULL_ORDERING" class="variable"><a href="../parser.html#Parser.NULL_ORDERING">NULL_ORDERING</a></dd>
|
<dd id="Tableau.Parser.NULL_ORDERING" class="variable"><a href="../parser.html#Parser.NULL_ORDERING">NULL_ORDERING</a></dd>
|
||||||
<dd id="Tableau.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
<dd id="Tableau.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -33,6 +33,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a class="class" href="#Trino">Trino</a>
|
<a class="class" href="#Trino">Trino</a>
|
||||||
<ul class="memberlist">
|
<ul class="memberlist">
|
||||||
|
<li>
|
||||||
|
<a class="variable" href="#Trino.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="class" href="#Trino.Generator">Trino.Generator</a>
|
<a class="class" href="#Trino.Generator">Trino.Generator</a>
|
||||||
<ul class="memberlist">
|
<ul class="memberlist">
|
||||||
|
@ -95,30 +98,6 @@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a class="class" href="#Trino.Parser">Trino.Parser</a>
|
|
||||||
<ul class="memberlist">
|
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Trino.Parser.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Trino.Parser.TOKENIZER_CLASS">TOKENIZER_CLASS</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Trino.Parser.SHOW_TRIE">SHOW_TRIE</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Trino.Parser.SET_TRIE">SET_TRIE</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Trino.Parser.FORMAT_TRIE">FORMAT_TRIE</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a class="variable" href="#Trino.Parser.TIME_TRIE">TIME_TRIE</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="variable" href="#Trino.tokenizer_class">tokenizer_class</a>
|
<a class="variable" href="#Trino.tokenizer_class">tokenizer_class</a>
|
||||||
|
@ -204,17 +183,16 @@
|
||||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
|
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
|
||||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
|
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
|
||||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">class</span> <span class="nc">Trino</span><span class="p">(</span><span class="n">Presto</span><span class="p">):</span>
|
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">class</span> <span class="nc">Trino</span><span class="p">(</span><span class="n">Presto</span><span class="p">):</span>
|
||||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span>
|
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
||||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a> <span class="o">**</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span>
|
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span>
|
||||||
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">ArraySum</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"REDUCE(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, 0, (acc, x) -> acc + x, acc -> acc)"</span><span class="p">,</span>
|
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a> <span class="p">}</span>
|
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a> <span class="o">**</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span>
|
||||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a>
|
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">ArraySum</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"REDUCE(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, 0, (acc, x) -> acc + x, acc -> acc)"</span><span class="p">,</span>
|
||||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a> <span class="n">HEX_STRINGS</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"X'"</span><span class="p">,</span> <span class="s2">"'"</span><span class="p">)]</span>
|
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a>
|
||||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a>
|
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a> <span class="n">HEX_STRINGS</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"X'"</span><span class="p">,</span> <span class="s2">"'"</span><span class="p">)]</span>
|
||||||
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -231,22 +209,33 @@
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Trino"></a>
|
<a class="headerlink" href="#Trino"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino-8"><a href="#Trino-8"><span class="linenos"> 8</span></a><span class="k">class</span> <span class="nc">Trino</span><span class="p">(</span><span class="n">Presto</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino-8"><a href="#Trino-8"><span class="linenos"> 8</span></a><span class="k">class</span> <span class="nc">Trino</span><span class="p">(</span><span class="n">Presto</span><span class="p">):</span>
|
||||||
</span><span id="Trino-9"><a href="#Trino-9"><span class="linenos"> 9</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span>
|
</span><span id="Trino-9"><a href="#Trino-9"><span class="linenos"> 9</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
||||||
</span><span id="Trino-10"><a href="#Trino-10"><span class="linenos">10</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Trino-10"><a href="#Trino-10"><span class="linenos">10</span></a>
|
||||||
</span><span id="Trino-11"><a href="#Trino-11"><span class="linenos">11</span></a> <span class="o">**</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span>
|
</span><span id="Trino-11"><a href="#Trino-11"><span class="linenos">11</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span>
|
||||||
</span><span id="Trino-12"><a href="#Trino-12"><span class="linenos">12</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">ArraySum</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"REDUCE(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, 0, (acc, x) -> acc + x, acc -> acc)"</span><span class="p">,</span>
|
</span><span id="Trino-12"><a href="#Trino-12"><span class="linenos">12</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Trino-13"><a href="#Trino-13"><span class="linenos">13</span></a> <span class="p">}</span>
|
</span><span id="Trino-13"><a href="#Trino-13"><span class="linenos">13</span></a> <span class="o">**</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span>
|
||||||
</span><span id="Trino-14"><a href="#Trino-14"><span class="linenos">14</span></a>
|
</span><span id="Trino-14"><a href="#Trino-14"><span class="linenos">14</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">ArraySum</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"REDUCE(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, 0, (acc, x) -> acc + x, acc -> acc)"</span><span class="p">,</span>
|
||||||
</span><span id="Trino-15"><a href="#Trino-15"><span class="linenos">15</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
</span><span id="Trino-15"><a href="#Trino-15"><span class="linenos">15</span></a> <span class="p">}</span>
|
||||||
</span><span id="Trino-16"><a href="#Trino-16"><span class="linenos">16</span></a> <span class="n">HEX_STRINGS</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"X'"</span><span class="p">,</span> <span class="s2">"'"</span><span class="p">)]</span>
|
</span><span id="Trino-16"><a href="#Trino-16"><span class="linenos">16</span></a>
|
||||||
</span><span id="Trino-17"><a href="#Trino-17"><span class="linenos">17</span></a>
|
</span><span id="Trino-17"><a href="#Trino-17"><span class="linenos">17</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="Trino-18"><a href="#Trino-18"><span class="linenos">18</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
</span><span id="Trino-18"><a href="#Trino-18"><span class="linenos">18</span></a> <span class="n">HEX_STRINGS</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"X'"</span><span class="p">,</span> <span class="s2">"'"</span><span class="p">)]</span>
|
||||||
</span><span id="Trino-19"><a href="#Trino-19"><span class="linenos">19</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="Trino.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
||||||
|
<div class="attr variable">
|
||||||
|
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
||||||
|
<span class="default_value">False</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a class="headerlink" href="#Trino.SUPPORTS_USER_DEFINED_TYPES"></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
<div id="Trino.tokenizer_class" class="classattr">
|
<div id="Trino.tokenizer_class" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">tokenizer_class</span> =
|
<span class="name">tokenizer_class</span> =
|
||||||
|
@ -262,7 +251,7 @@
|
||||||
<div id="Trino.parser_class" class="classattr">
|
<div id="Trino.parser_class" class="classattr">
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">parser_class</span> =
|
<span class="name">parser_class</span> =
|
||||||
<span class="default_value"><class '<a href="#Trino.Parser">Trino.Parser</a>'></span>
|
<span class="default_value"><class '<a href="presto.html#Presto.Parser">sqlglot.dialects.presto.Presto.Parser</a>'></span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -465,6 +454,7 @@
|
||||||
<dd id="Trino.TIME_MAPPING" class="variable"><a href="presto.html#Presto.TIME_MAPPING">TIME_MAPPING</a></dd>
|
<dd id="Trino.TIME_MAPPING" class="variable"><a href="presto.html#Presto.TIME_MAPPING">TIME_MAPPING</a></dd>
|
||||||
<dd id="Trino.STRICT_STRING_CONCAT" class="variable"><a href="presto.html#Presto.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="Trino.STRICT_STRING_CONCAT" class="variable"><a href="presto.html#Presto.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
<dd id="Trino.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="variable"><a href="presto.html#Presto.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a></dd>
|
<dd id="Trino.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="variable"><a href="presto.html#Presto.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a></dd>
|
||||||
|
<dd id="Trino.Parser" class="class"><a href="presto.html#Presto.Parser">Parser</a></dd>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div><dt><a href="dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a></dt>
|
<div><dt><a href="dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a></dt>
|
||||||
|
@ -507,11 +497,11 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Trino.Generator"></a>
|
<a class="headerlink" href="#Trino.Generator"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino.Generator-9"><a href="#Trino.Generator-9"><span class="linenos"> 9</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino.Generator-11"><a href="#Trino.Generator-11"><span class="linenos">11</span></a> <span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="p">):</span>
|
||||||
</span><span id="Trino.Generator-10"><a href="#Trino.Generator-10"><span class="linenos">10</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span>
|
</span><span id="Trino.Generator-12"><a href="#Trino.Generator-12"><span class="linenos">12</span></a> <span class="n">TRANSFORMS</span> <span class="o">=</span> <span class="p">{</span>
|
||||||
</span><span id="Trino.Generator-11"><a href="#Trino.Generator-11"><span class="linenos">11</span></a> <span class="o">**</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span>
|
</span><span id="Trino.Generator-13"><a href="#Trino.Generator-13"><span class="linenos">13</span></a> <span class="o">**</span><span class="n">Presto</span><span class="o">.</span><span class="n">Generator</span><span class="o">.</span><span class="n">TRANSFORMS</span><span class="p">,</span>
|
||||||
</span><span id="Trino.Generator-12"><a href="#Trino.Generator-12"><span class="linenos">12</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">ArraySum</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"REDUCE(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, 0, (acc, x) -> acc + x, acc -> acc)"</span><span class="p">,</span>
|
</span><span id="Trino.Generator-14"><a href="#Trino.Generator-14"><span class="linenos">14</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">ArraySum</span><span class="p">:</span> <span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"REDUCE(</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">sql</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="s1">'this'</span><span class="p">)</span><span class="si">}</span><span class="s2">, 0, (acc, x) -> acc + x, acc -> acc)"</span><span class="p">,</span>
|
||||||
</span><span id="Trino.Generator-13"><a href="#Trino.Generator-13"><span class="linenos">13</span></a> <span class="p">}</span>
|
</span><span id="Trino.Generator-15"><a href="#Trino.Generator-15"><span class="linenos">15</span></a> <span class="p">}</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -617,26 +607,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Trino.Generator.can_identify"></a>
|
<a class="headerlink" href="#Trino.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino.Generator.can_identify-257"><a href="#Trino.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino.Generator.can_identify-260"><a href="#Trino.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Trino.Generator.can_identify-258"><a href="#Trino.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Trino.Generator.can_identify-261"><a href="#Trino.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Trino.Generator.can_identify-259"><a href="#Trino.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Trino.Generator.can_identify-262"><a href="#Trino.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Trino.Generator.can_identify-260"><a href="#Trino.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Trino.Generator.can_identify-263"><a href="#Trino.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Trino.Generator.can_identify-261"><a href="#Trino.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Trino.Generator.can_identify-264"><a href="#Trino.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Trino.Generator.can_identify-262"><a href="#Trino.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Trino.Generator.can_identify-265"><a href="#Trino.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Trino.Generator.can_identify-263"><a href="#Trino.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Trino.Generator.can_identify-266"><a href="#Trino.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Trino.Generator.can_identify-264"><a href="#Trino.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Trino.Generator.can_identify-267"><a href="#Trino.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Trino.Generator.can_identify-265"><a href="#Trino.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Trino.Generator.can_identify-268"><a href="#Trino.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Trino.Generator.can_identify-266"><a href="#Trino.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Trino.Generator.can_identify-269"><a href="#Trino.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Trino.Generator.can_identify-267"><a href="#Trino.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Trino.Generator.can_identify-270"><a href="#Trino.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Trino.Generator.can_identify-268"><a href="#Trino.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Trino.Generator.can_identify-271"><a href="#Trino.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Trino.Generator.can_identify-269"><a href="#Trino.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Trino.Generator.can_identify-272"><a href="#Trino.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Trino.Generator.can_identify-270"><a href="#Trino.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Trino.Generator.can_identify-273"><a href="#Trino.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Trino.Generator.can_identify-271"><a href="#Trino.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Trino.Generator.can_identify-274"><a href="#Trino.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Trino.Generator.can_identify-272"><a href="#Trino.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Trino.Generator.can_identify-273"><a href="#Trino.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Trino.Generator.can_identify-274"><a href="#Trino.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Trino.Generator.can_identify-275"><a href="#Trino.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Trino.Generator.can_identify-275"><a href="#Trino.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Trino.Generator.can_identify-276"><a href="#Trino.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Trino.Generator.can_identify-276"><a href="#Trino.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Trino.Generator.can_identify-277"><a href="#Trino.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Trino.Generator.can_identify-278"><a href="#Trino.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Trino.Generator.can_identify-279"><a href="#Trino.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1135,8 +1125,8 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Trino.Tokenizer"></a>
|
<a class="headerlink" href="#Trino.Tokenizer"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino.Tokenizer-15"><a href="#Trino.Tokenizer-15"><span class="linenos">15</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino.Tokenizer-17"><a href="#Trino.Tokenizer-17"><span class="linenos">17</span></a> <span class="k">class</span> <span class="nc">Tokenizer</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Tokenizer</span><span class="p">):</span>
|
||||||
</span><span id="Trino.Tokenizer-16"><a href="#Trino.Tokenizer-16"><span class="linenos">16</span></a> <span class="n">HEX_STRINGS</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"X'"</span><span class="p">,</span> <span class="s2">"'"</span><span class="p">)]</span>
|
</span><span id="Trino.Tokenizer-18"><a href="#Trino.Tokenizer-18"><span class="linenos">18</span></a> <span class="n">HEX_STRINGS</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"X'"</span><span class="p">,</span> <span class="s2">"'"</span><span class="p">)]</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1189,218 +1179,6 @@ Default: True</li>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="Trino.Parser">
|
|
||||||
<input id="Trino.Parser-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
|
||||||
<div class="attr class">
|
|
||||||
|
|
||||||
<span class="def">class</span>
|
|
||||||
<span class="name">Trino.Parser</span><wbr>(<span class="base"><a href="presto.html#Presto.Parser">sqlglot.dialects.presto.Presto.Parser</a></span>):
|
|
||||||
|
|
||||||
<label class="view-source-button" for="Trino.Parser-view-source"><span>View Source</span></label>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Trino.Parser"></a>
|
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Trino.Parser-18"><a href="#Trino.Parser-18"><span class="linenos">18</span></a> <span class="k">class</span> <span class="nc">Parser</span><span class="p">(</span><span class="n">Presto</span><span class="o">.</span><span class="n">Parser</span><span class="p">):</span>
|
|
||||||
</span><span id="Trino.Parser-19"><a href="#Trino.Parser-19"><span class="linenos">19</span></a> <span class="n">SUPPORTS_USER_DEFINED_TYPES</span> <span class="o">=</span> <span class="kc">False</span>
|
|
||||||
</span></pre></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="docstring"><p>Parser consumes a list of tokens produced by the Tokenizer and produces a parsed syntax tree.</p>
|
|
||||||
|
|
||||||
<h6 id="arguments">Arguments:</h6>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><strong>error_level:</strong> The desired error level.
|
|
||||||
Default: ErrorLevel.IMMEDIATE</li>
|
|
||||||
<li><strong>error_message_context:</strong> Determines the amount of context to capture from a
|
|
||||||
query string when displaying the error message (in number of characters).
|
|
||||||
Default: 100</li>
|
|
||||||
<li><strong>max_errors:</strong> Maximum number of error messages to include in a raised ParseError.
|
|
||||||
This is only relevant if error_level is ErrorLevel.RAISE.
|
|
||||||
Default: 3</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="Trino.Parser.SUPPORTS_USER_DEFINED_TYPES" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">SUPPORTS_USER_DEFINED_TYPES</span> =
|
|
||||||
<span class="default_value">False</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Trino.Parser.SUPPORTS_USER_DEFINED_TYPES"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Trino.Parser.TOKENIZER_CLASS" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">TOKENIZER_CLASS</span><span class="annotation">: Type[<a href="../tokens.html#Tokenizer">sqlglot.tokens.Tokenizer</a>]</span> =
|
|
||||||
<span class="default_value"><class '<a href="#Trino.Tokenizer">Trino.Tokenizer</a>'></span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Trino.Parser.TOKENIZER_CLASS"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Trino.Parser.SHOW_TRIE" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">SHOW_TRIE</span><span class="annotation">: Dict</span> =
|
|
||||||
<span class="default_value">{}</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Trino.Parser.SHOW_TRIE"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Trino.Parser.SET_TRIE" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">SET_TRIE</span><span class="annotation">: Dict</span> =
|
|
||||||
<span class="default_value">{'GLOBAL': {0: True}, 'LOCAL': {0: True}, 'SESSION': {0: True}, 'TRANSACTION': {0: True}}</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Trino.Parser.SET_TRIE"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Trino.Parser.FORMAT_TRIE" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">FORMAT_TRIE</span><span class="annotation">: Dict</span> =
|
|
||||||
<input id="Trino.Parser.FORMAT_TRIE-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
|
||||||
<label class="view-value-button pdoc-button" for="Trino.Parser.FORMAT_TRIE-view-value"></label><span class="default_value">{'%': {'M': {0: True}, 'c': {0: True}, 'e': {0: True}, 'h': {0: True}, 'i': {0: True}, 's': {0: True}, 'u': {0: True}, 'k': {0: True}, 'l': {0: True}, 'T': {0: True}, 'W': {0: True}}}</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Trino.Parser.FORMAT_TRIE"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div id="Trino.Parser.TIME_TRIE" class="classattr">
|
|
||||||
<div class="attr variable">
|
|
||||||
<span class="name">TIME_TRIE</span><span class="annotation">: Dict</span> =
|
|
||||||
<input id="Trino.Parser.TIME_TRIE-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
|
||||||
<label class="view-value-button pdoc-button" for="Trino.Parser.TIME_TRIE-view-value"></label><span class="default_value">{'%': {'M': {0: True}, 'c': {0: True}, 'e': {0: True}, 'h': {0: True}, 'i': {0: True}, 's': {0: True}, 'u': {0: True}, 'k': {0: True}, 'l': {0: True}, 'T': {0: True}, 'W': {0: True}}}</span>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<a class="headerlink" href="#Trino.Parser.TIME_TRIE"></a>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="inherited">
|
|
||||||
<h5>Inherited Members</h5>
|
|
||||||
<dl>
|
|
||||||
<div><dt><a href="../parser.html#Parser">sqlglot.parser.Parser</a></dt>
|
|
||||||
<dd id="Trino.Parser.__init__" class="function"><a href="../parser.html#Parser.__init__">Parser</a></dd>
|
|
||||||
<dd id="Trino.Parser.NO_PAREN_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NO_PAREN_FUNCTIONS">NO_PAREN_FUNCTIONS</a></dd>
|
|
||||||
<dd id="Trino.Parser.STRUCT_TYPE_TOKENS" class="variable"><a href="../parser.html#Parser.STRUCT_TYPE_TOKENS">STRUCT_TYPE_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.NESTED_TYPE_TOKENS" class="variable"><a href="../parser.html#Parser.NESTED_TYPE_TOKENS">NESTED_TYPE_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.ENUM_TYPE_TOKENS" class="variable"><a href="../parser.html#Parser.ENUM_TYPE_TOKENS">ENUM_TYPE_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.TYPE_TOKENS" class="variable"><a href="../parser.html#Parser.TYPE_TOKENS">TYPE_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.SIGNED_TO_UNSIGNED_TYPE_TOKEN" class="variable"><a href="../parser.html#Parser.SIGNED_TO_UNSIGNED_TYPE_TOKEN">SIGNED_TO_UNSIGNED_TYPE_TOKEN</a></dd>
|
|
||||||
<dd id="Trino.Parser.SUBQUERY_PREDICATES" class="variable"><a href="../parser.html#Parser.SUBQUERY_PREDICATES">SUBQUERY_PREDICATES</a></dd>
|
|
||||||
<dd id="Trino.Parser.RESERVED_KEYWORDS" class="variable"><a href="../parser.html#Parser.RESERVED_KEYWORDS">RESERVED_KEYWORDS</a></dd>
|
|
||||||
<dd id="Trino.Parser.DB_CREATABLES" class="variable"><a href="../parser.html#Parser.DB_CREATABLES">DB_CREATABLES</a></dd>
|
|
||||||
<dd id="Trino.Parser.CREATABLES" class="variable"><a href="../parser.html#Parser.CREATABLES">CREATABLES</a></dd>
|
|
||||||
<dd id="Trino.Parser.ID_VAR_TOKENS" class="variable"><a href="../parser.html#Parser.ID_VAR_TOKENS">ID_VAR_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.INTERVAL_VARS" class="variable"><a href="../parser.html#Parser.INTERVAL_VARS">INTERVAL_VARS</a></dd>
|
|
||||||
<dd id="Trino.Parser.TABLE_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.TABLE_ALIAS_TOKENS">TABLE_ALIAS_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.COMMENT_TABLE_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.COMMENT_TABLE_ALIAS_TOKENS">COMMENT_TABLE_ALIAS_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.UPDATE_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.UPDATE_ALIAS_TOKENS">UPDATE_ALIAS_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.TRIM_TYPES" class="variable"><a href="../parser.html#Parser.TRIM_TYPES">TRIM_TYPES</a></dd>
|
|
||||||
<dd id="Trino.Parser.FUNC_TOKENS" class="variable"><a href="../parser.html#Parser.FUNC_TOKENS">FUNC_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.CONJUNCTION" class="variable"><a href="../parser.html#Parser.CONJUNCTION">CONJUNCTION</a></dd>
|
|
||||||
<dd id="Trino.Parser.EQUALITY" class="variable"><a href="../parser.html#Parser.EQUALITY">EQUALITY</a></dd>
|
|
||||||
<dd id="Trino.Parser.COMPARISON" class="variable"><a href="../parser.html#Parser.COMPARISON">COMPARISON</a></dd>
|
|
||||||
<dd id="Trino.Parser.BITWISE" class="variable"><a href="../parser.html#Parser.BITWISE">BITWISE</a></dd>
|
|
||||||
<dd id="Trino.Parser.TERM" class="variable"><a href="../parser.html#Parser.TERM">TERM</a></dd>
|
|
||||||
<dd id="Trino.Parser.FACTOR" class="variable"><a href="../parser.html#Parser.FACTOR">FACTOR</a></dd>
|
|
||||||
<dd id="Trino.Parser.TIMES" class="variable"><a href="../parser.html#Parser.TIMES">TIMES</a></dd>
|
|
||||||
<dd id="Trino.Parser.TIMESTAMPS" class="variable"><a href="../parser.html#Parser.TIMESTAMPS">TIMESTAMPS</a></dd>
|
|
||||||
<dd id="Trino.Parser.SET_OPERATIONS" class="variable"><a href="../parser.html#Parser.SET_OPERATIONS">SET_OPERATIONS</a></dd>
|
|
||||||
<dd id="Trino.Parser.JOIN_METHODS" class="variable"><a href="../parser.html#Parser.JOIN_METHODS">JOIN_METHODS</a></dd>
|
|
||||||
<dd id="Trino.Parser.JOIN_SIDES" class="variable"><a href="../parser.html#Parser.JOIN_SIDES">JOIN_SIDES</a></dd>
|
|
||||||
<dd id="Trino.Parser.JOIN_KINDS" class="variable"><a href="../parser.html#Parser.JOIN_KINDS">JOIN_KINDS</a></dd>
|
|
||||||
<dd id="Trino.Parser.JOIN_HINTS" class="variable"><a href="../parser.html#Parser.JOIN_HINTS">JOIN_HINTS</a></dd>
|
|
||||||
<dd id="Trino.Parser.LAMBDAS" class="variable"><a href="../parser.html#Parser.LAMBDAS">LAMBDAS</a></dd>
|
|
||||||
<dd id="Trino.Parser.COLUMN_OPERATORS" class="variable"><a href="../parser.html#Parser.COLUMN_OPERATORS">COLUMN_OPERATORS</a></dd>
|
|
||||||
<dd id="Trino.Parser.EXPRESSION_PARSERS" class="variable"><a href="../parser.html#Parser.EXPRESSION_PARSERS">EXPRESSION_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.STATEMENT_PARSERS" class="variable"><a href="../parser.html#Parser.STATEMENT_PARSERS">STATEMENT_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.UNARY_PARSERS" class="variable"><a href="../parser.html#Parser.UNARY_PARSERS">UNARY_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.PRIMARY_PARSERS" class="variable"><a href="../parser.html#Parser.PRIMARY_PARSERS">PRIMARY_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.PLACEHOLDER_PARSERS" class="variable"><a href="../parser.html#Parser.PLACEHOLDER_PARSERS">PLACEHOLDER_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.RANGE_PARSERS" class="variable"><a href="../parser.html#Parser.RANGE_PARSERS">RANGE_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.PROPERTY_PARSERS" class="variable"><a href="../parser.html#Parser.PROPERTY_PARSERS">PROPERTY_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.CONSTRAINT_PARSERS" class="variable"><a href="../parser.html#Parser.CONSTRAINT_PARSERS">CONSTRAINT_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.ALTER_PARSERS" class="variable"><a href="../parser.html#Parser.ALTER_PARSERS">ALTER_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.SCHEMA_UNNAMED_CONSTRAINTS" class="variable"><a href="../parser.html#Parser.SCHEMA_UNNAMED_CONSTRAINTS">SCHEMA_UNNAMED_CONSTRAINTS</a></dd>
|
|
||||||
<dd id="Trino.Parser.NO_PAREN_FUNCTION_PARSERS" class="variable"><a href="../parser.html#Parser.NO_PAREN_FUNCTION_PARSERS">NO_PAREN_FUNCTION_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.INVALID_FUNC_NAME_TOKENS" class="variable"><a href="../parser.html#Parser.INVALID_FUNC_NAME_TOKENS">INVALID_FUNC_NAME_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.FUNCTIONS_WITH_ALIASED_ARGS" class="variable"><a href="../parser.html#Parser.FUNCTIONS_WITH_ALIASED_ARGS">FUNCTIONS_WITH_ALIASED_ARGS</a></dd>
|
|
||||||
<dd id="Trino.Parser.QUERY_MODIFIER_PARSERS" class="variable"><a href="../parser.html#Parser.QUERY_MODIFIER_PARSERS">QUERY_MODIFIER_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.SET_PARSERS" class="variable"><a href="../parser.html#Parser.SET_PARSERS">SET_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.SHOW_PARSERS" class="variable"><a href="../parser.html#Parser.SHOW_PARSERS">SHOW_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.TYPE_LITERAL_PARSERS" class="variable"><a href="../parser.html#Parser.TYPE_LITERAL_PARSERS">TYPE_LITERAL_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.MODIFIABLES" class="variable"><a href="../parser.html#Parser.MODIFIABLES">MODIFIABLES</a></dd>
|
|
||||||
<dd id="Trino.Parser.DDL_SELECT_TOKENS" class="variable"><a href="../parser.html#Parser.DDL_SELECT_TOKENS">DDL_SELECT_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.PRE_VOLATILE_TOKENS" class="variable"><a href="../parser.html#Parser.PRE_VOLATILE_TOKENS">PRE_VOLATILE_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.TRANSACTION_KIND" class="variable"><a href="../parser.html#Parser.TRANSACTION_KIND">TRANSACTION_KIND</a></dd>
|
|
||||||
<dd id="Trino.Parser.TRANSACTION_CHARACTERISTICS" class="variable"><a href="../parser.html#Parser.TRANSACTION_CHARACTERISTICS">TRANSACTION_CHARACTERISTICS</a></dd>
|
|
||||||
<dd id="Trino.Parser.INSERT_ALTERNATIVES" class="variable"><a href="../parser.html#Parser.INSERT_ALTERNATIVES">INSERT_ALTERNATIVES</a></dd>
|
|
||||||
<dd id="Trino.Parser.CLONE_KINDS" class="variable"><a href="../parser.html#Parser.CLONE_KINDS">CLONE_KINDS</a></dd>
|
|
||||||
<dd id="Trino.Parser.TABLE_INDEX_HINT_TOKENS" class="variable"><a href="../parser.html#Parser.TABLE_INDEX_HINT_TOKENS">TABLE_INDEX_HINT_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.WINDOW_ALIAS_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_ALIAS_TOKENS">WINDOW_ALIAS_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.WINDOW_BEFORE_PAREN_TOKENS" class="variable"><a href="../parser.html#Parser.WINDOW_BEFORE_PAREN_TOKENS">WINDOW_BEFORE_PAREN_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.WINDOW_SIDES" class="variable"><a href="../parser.html#Parser.WINDOW_SIDES">WINDOW_SIDES</a></dd>
|
|
||||||
<dd id="Trino.Parser.ADD_CONSTRAINT_TOKENS" class="variable"><a href="../parser.html#Parser.ADD_CONSTRAINT_TOKENS">ADD_CONSTRAINT_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.DISTINCT_TOKENS" class="variable"><a href="../parser.html#Parser.DISTINCT_TOKENS">DISTINCT_TOKENS</a></dd>
|
|
||||||
<dd id="Trino.Parser.STRICT_CAST" class="variable"><a href="../parser.html#Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
|
||||||
<dd id="Trino.Parser.CONCAT_NULL_OUTPUTS_STRING" class="variable"><a href="../parser.html#Parser.CONCAT_NULL_OUTPUTS_STRING">CONCAT_NULL_OUTPUTS_STRING</a></dd>
|
|
||||||
<dd id="Trino.Parser.PREFIXED_PIVOT_COLUMNS" class="variable"><a href="../parser.html#Parser.PREFIXED_PIVOT_COLUMNS">PREFIXED_PIVOT_COLUMNS</a></dd>
|
|
||||||
<dd id="Trino.Parser.IDENTIFY_PIVOT_STRINGS" class="variable"><a href="../parser.html#Parser.IDENTIFY_PIVOT_STRINGS">IDENTIFY_PIVOT_STRINGS</a></dd>
|
|
||||||
<dd id="Trino.Parser.LOG_BASE_FIRST" class="variable"><a href="../parser.html#Parser.LOG_BASE_FIRST">LOG_BASE_FIRST</a></dd>
|
|
||||||
<dd id="Trino.Parser.LOG_DEFAULTS_TO_LN" class="variable"><a href="../parser.html#Parser.LOG_DEFAULTS_TO_LN">LOG_DEFAULTS_TO_LN</a></dd>
|
|
||||||
<dd id="Trino.Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD" class="variable"><a href="../parser.html#Parser.ALTER_TABLE_ADD_COLUMN_KEYWORD">ALTER_TABLE_ADD_COLUMN_KEYWORD</a></dd>
|
|
||||||
<dd id="Trino.Parser.TABLESAMPLE_CSV" class="variable"><a href="../parser.html#Parser.TABLESAMPLE_CSV">TABLESAMPLE_CSV</a></dd>
|
|
||||||
<dd id="Trino.Parser.UNNEST_COLUMN_ONLY" class="variable"><a href="../parser.html#Parser.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a></dd>
|
|
||||||
<dd id="Trino.Parser.ALIAS_POST_TABLESAMPLE" class="variable"><a href="../parser.html#Parser.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a></dd>
|
|
||||||
<dd id="Trino.Parser.NORMALIZE_FUNCTIONS" class="variable"><a href="../parser.html#Parser.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
|
||||||
<dd id="Trino.Parser.FORMAT_MAPPING" class="variable"><a href="../parser.html#Parser.FORMAT_MAPPING">FORMAT_MAPPING</a></dd>
|
|
||||||
<dd id="Trino.Parser.error_level" class="variable"><a href="../parser.html#Parser.error_level">error_level</a></dd>
|
|
||||||
<dd id="Trino.Parser.error_message_context" class="variable"><a href="../parser.html#Parser.error_message_context">error_message_context</a></dd>
|
|
||||||
<dd id="Trino.Parser.max_errors" class="variable"><a href="../parser.html#Parser.max_errors">max_errors</a></dd>
|
|
||||||
<dd id="Trino.Parser.reset" class="function"><a href="../parser.html#Parser.reset">reset</a></dd>
|
|
||||||
<dd id="Trino.Parser.parse" class="function"><a href="../parser.html#Parser.parse">parse</a></dd>
|
|
||||||
<dd id="Trino.Parser.parse_into" class="function"><a href="../parser.html#Parser.parse_into">parse_into</a></dd>
|
|
||||||
<dd id="Trino.Parser.check_errors" class="function"><a href="../parser.html#Parser.check_errors">check_errors</a></dd>
|
|
||||||
<dd id="Trino.Parser.raise_error" class="function"><a href="../parser.html#Parser.raise_error">raise_error</a></dd>
|
|
||||||
<dd id="Trino.Parser.expression" class="function"><a href="../parser.html#Parser.expression">expression</a></dd>
|
|
||||||
<dd id="Trino.Parser.validate_expression" class="function"><a href="../parser.html#Parser.validate_expression">validate_expression</a></dd>
|
|
||||||
<dd id="Trino.Parser.errors" class="variable"><a href="../parser.html#Parser.errors">errors</a></dd>
|
|
||||||
<dd id="Trino.Parser.sql" class="variable"><a href="../parser.html#Parser.sql">sql</a></dd>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div><dt><a href="presto.html#Presto.Parser">sqlglot.dialects.presto.Presto.Parser</a></dt>
|
|
||||||
<dd id="Trino.Parser.FUNCTIONS" class="variable"><a href="presto.html#Presto.Parser.FUNCTIONS">FUNCTIONS</a></dd>
|
|
||||||
<dd id="Trino.Parser.FUNCTION_PARSERS" class="variable"><a href="presto.html#Presto.Parser.FUNCTION_PARSERS">FUNCTION_PARSERS</a></dd>
|
|
||||||
<dd id="Trino.Parser.INDEX_OFFSET" class="variable"><a href="presto.html#Presto.Parser.INDEX_OFFSET">INDEX_OFFSET</a></dd>
|
|
||||||
<dd id="Trino.Parser.STRICT_STRING_CONCAT" class="variable"><a href="presto.html#Presto.Parser.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
|
||||||
<dd id="Trino.Parser.NULL_ORDERING" class="variable"><a href="presto.html#Presto.Parser.NULL_ORDERING">NULL_ORDERING</a></dd>
|
|
||||||
<dd id="Trino.Parser.TIME_MAPPING" class="variable"><a href="presto.html#Presto.Parser.TIME_MAPPING">TIME_MAPPING</a></dd>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</main>
|
</main>
|
||||||
<script>
|
<script>
|
||||||
function escapeHTML(html) {
|
function escapeHTML(html) {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1884,6 +1884,7 @@
|
||||||
<dd id="Python.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="../dialects/dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
<dd id="Python.IDENTIFIERS_CAN_START_WITH_DIGIT" class="variable"><a href="../dialects/dialect.html#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a></dd>
|
||||||
<dd id="Python.DPIPE_IS_STRING_CONCAT" class="variable"><a href="../dialects/dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
<dd id="Python.DPIPE_IS_STRING_CONCAT" class="variable"><a href="../dialects/dialect.html#Dialect.DPIPE_IS_STRING_CONCAT">DPIPE_IS_STRING_CONCAT</a></dd>
|
||||||
<dd id="Python.STRICT_STRING_CONCAT" class="variable"><a href="../dialects/dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
<dd id="Python.STRICT_STRING_CONCAT" class="variable"><a href="../dialects/dialect.html#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a></dd>
|
||||||
|
<dd id="Python.SUPPORTS_USER_DEFINED_TYPES" class="variable"><a href="../dialects/dialect.html#Dialect.SUPPORTS_USER_DEFINED_TYPES">SUPPORTS_USER_DEFINED_TYPES</a></dd>
|
||||||
<dd id="Python.NORMALIZE_FUNCTIONS" class="variable"><a href="../dialects/dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
<dd id="Python.NORMALIZE_FUNCTIONS" class="variable"><a href="../dialects/dialect.html#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a></dd>
|
||||||
<dd id="Python.NULL_ORDERING" class="variable"><a href="../dialects/dialect.html#Dialect.NULL_ORDERING">NULL_ORDERING</a></dd>
|
<dd id="Python.NULL_ORDERING" class="variable"><a href="../dialects/dialect.html#Dialect.NULL_ORDERING">NULL_ORDERING</a></dd>
|
||||||
<dd id="Python.DATE_FORMAT" class="variable"><a href="../dialects/dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
<dd id="Python.DATE_FORMAT" class="variable"><a href="../dialects/dialect.html#Dialect.DATE_FORMAT">DATE_FORMAT</a></dd>
|
||||||
|
@ -2113,26 +2114,26 @@ Default: True</li>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#Python.Generator.can_identify"></a>
|
<a class="headerlink" href="#Python.Generator.can_identify"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Python.Generator.can_identify-257"><a href="#Python.Generator.can_identify-257"><span class="linenos">257</span></a> <span class="nd">@classmethod</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="Python.Generator.can_identify-260"><a href="#Python.Generator.can_identify-260"><span class="linenos">260</span></a> <span class="nd">@classmethod</span>
|
||||||
</span><span id="Python.Generator.can_identify-258"><a href="#Python.Generator.can_identify-258"><span class="linenos">258</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
</span><span id="Python.Generator.can_identify-261"><a href="#Python.Generator.can_identify-261"><span class="linenos">261</span></a> <span class="k">def</span> <span class="nf">can_identify</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">identify</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="nb">bool</span> <span class="o">=</span> <span class="s2">"safe"</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
</span><span id="Python.Generator.can_identify-259"><a href="#Python.Generator.can_identify-259"><span class="linenos">259</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
</span><span id="Python.Generator.can_identify-262"><a href="#Python.Generator.can_identify-262"><span class="linenos">262</span></a><span class="w"> </span><span class="sd">"""Checks if text can be identified given an identify option.</span>
|
||||||
</span><span id="Python.Generator.can_identify-260"><a href="#Python.Generator.can_identify-260"><span class="linenos">260</span></a>
|
</span><span id="Python.Generator.can_identify-263"><a href="#Python.Generator.can_identify-263"><span class="linenos">263</span></a>
|
||||||
</span><span id="Python.Generator.can_identify-261"><a href="#Python.Generator.can_identify-261"><span class="linenos">261</span></a><span class="sd"> Args:</span>
|
</span><span id="Python.Generator.can_identify-264"><a href="#Python.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="Python.Generator.can_identify-262"><a href="#Python.Generator.can_identify-262"><span class="linenos">262</span></a><span class="sd"> text: The text to check.</span>
|
</span><span id="Python.Generator.can_identify-265"><a href="#Python.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> text: The text to check.</span>
|
||||||
</span><span id="Python.Generator.can_identify-263"><a href="#Python.Generator.can_identify-263"><span class="linenos">263</span></a><span class="sd"> identify:</span>
|
</span><span id="Python.Generator.can_identify-266"><a href="#Python.Generator.can_identify-266"><span class="linenos">266</span></a><span class="sd"> identify:</span>
|
||||||
</span><span id="Python.Generator.can_identify-264"><a href="#Python.Generator.can_identify-264"><span class="linenos">264</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
</span><span id="Python.Generator.can_identify-267"><a href="#Python.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> "always" or `True`: Always returns true.</span>
|
||||||
</span><span id="Python.Generator.can_identify-265"><a href="#Python.Generator.can_identify-265"><span class="linenos">265</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
</span><span id="Python.Generator.can_identify-268"><a href="#Python.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> "safe": True if the identifier is case-insensitive.</span>
|
||||||
</span><span id="Python.Generator.can_identify-266"><a href="#Python.Generator.can_identify-266"><span class="linenos">266</span></a>
|
</span><span id="Python.Generator.can_identify-269"><a href="#Python.Generator.can_identify-269"><span class="linenos">269</span></a>
|
||||||
</span><span id="Python.Generator.can_identify-267"><a href="#Python.Generator.can_identify-267"><span class="linenos">267</span></a><span class="sd"> Returns:</span>
|
</span><span id="Python.Generator.can_identify-270"><a href="#Python.Generator.can_identify-270"><span class="linenos">270</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="Python.Generator.can_identify-268"><a href="#Python.Generator.can_identify-268"><span class="linenos">268</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
</span><span id="Python.Generator.can_identify-271"><a href="#Python.Generator.can_identify-271"><span class="linenos">271</span></a><span class="sd"> Whether or not the given text can be identified.</span>
|
||||||
</span><span id="Python.Generator.can_identify-269"><a href="#Python.Generator.can_identify-269"><span class="linenos">269</span></a><span class="sd"> """</span>
|
</span><span id="Python.Generator.can_identify-272"><a href="#Python.Generator.can_identify-272"><span class="linenos">272</span></a><span class="sd"> """</span>
|
||||||
</span><span id="Python.Generator.can_identify-270"><a href="#Python.Generator.can_identify-270"><span class="linenos">270</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
</span><span id="Python.Generator.can_identify-273"><a href="#Python.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="ow">is</span> <span class="kc">True</span> <span class="ow">or</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"always"</span><span class="p">:</span>
|
||||||
</span><span id="Python.Generator.can_identify-271"><a href="#Python.Generator.can_identify-271"><span class="linenos">271</span></a> <span class="k">return</span> <span class="kc">True</span>
|
</span><span id="Python.Generator.can_identify-274"><a href="#Python.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="kc">True</span>
|
||||||
</span><span id="Python.Generator.can_identify-272"><a href="#Python.Generator.can_identify-272"><span class="linenos">272</span></a>
|
|
||||||
</span><span id="Python.Generator.can_identify-273"><a href="#Python.Generator.can_identify-273"><span class="linenos">273</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
|
||||||
</span><span id="Python.Generator.can_identify-274"><a href="#Python.Generator.can_identify-274"><span class="linenos">274</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
|
||||||
</span><span id="Python.Generator.can_identify-275"><a href="#Python.Generator.can_identify-275"><span class="linenos">275</span></a>
|
</span><span id="Python.Generator.can_identify-275"><a href="#Python.Generator.can_identify-275"><span class="linenos">275</span></a>
|
||||||
</span><span id="Python.Generator.can_identify-276"><a href="#Python.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">return</span> <span class="kc">False</span>
|
</span><span id="Python.Generator.can_identify-276"><a href="#Python.Generator.can_identify-276"><span class="linenos">276</span></a> <span class="k">if</span> <span class="n">identify</span> <span class="o">==</span> <span class="s2">"safe"</span><span class="p">:</span>
|
||||||
|
</span><span id="Python.Generator.can_identify-277"><a href="#Python.Generator.can_identify-277"><span class="linenos">277</span></a> <span class="k">return</span> <span class="ow">not</span> <span class="bp">cls</span><span class="o">.</span><span class="n">case_sensitive</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||||
|
</span><span id="Python.Generator.can_identify-278"><a href="#Python.Generator.can_identify-278"><span class="linenos">278</span></a>
|
||||||
|
</span><span id="Python.Generator.can_identify-279"><a href="#Python.Generator.can_identify-279"><span class="linenos">279</span></a> <span class="k">return</span> <span class="kc">False</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -568,7 +568,7 @@ queries if it would result in multiple table selects in a single query:</p>
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">UNMERGABLE_ARGS</span> =
|
<span class="name">UNMERGABLE_ARGS</span> =
|
||||||
<input id="UNMERGABLE_ARGS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
<input id="UNMERGABLE_ARGS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||||
<label class="view-value-button pdoc-button" for="UNMERGABLE_ARGS-view-value"></label><span class="default_value">{'settings', 'kind', 'sample', 'windows', 'cluster', 'into', 'match', 'limit', 'having', 'group', 'format', 'qualify', 'distinct', 'with', 'laterals', 'pivots', 'connect', 'offset', 'distribute', 'sort', 'locks'}</span>
|
<label class="view-value-button pdoc-button" for="UNMERGABLE_ARGS-view-value"></label><span class="default_value">{'group', 'locks', 'cluster', 'windows', 'sort', 'limit', 'sample', 'kind', 'having', 'settings', 'with', 'distribute', 'laterals', 'match', 'qualify', 'format', 'connect', 'offset', 'distinct', 'pivots', 'into'}</span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
File diff suppressed because one or more lines are too long
17018
docs/sqlglot/parser.html
17018
docs/sqlglot/parser.html
File diff suppressed because one or more lines are too long
|
@ -555,140 +555,141 @@
|
||||||
</span><span id="L-398"><a href="#L-398"><span class="linenos">398</span></a><span class="sd"> """</span>
|
</span><span id="L-398"><a href="#L-398"><span class="linenos">398</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a> <span class="k">if</span> <span class="n">schema_type</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">:</span>
|
</span><span id="L-399"><a href="#L-399"><span class="linenos">399</span></a> <span class="k">if</span> <span class="n">schema_type</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">:</span>
|
||||||
</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a> <span class="n">dialect</span> <span class="o">=</span> <span class="n">dialect</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span>
|
</span><span id="L-400"><a href="#L-400"><span class="linenos">400</span></a> <span class="n">dialect</span> <span class="o">=</span> <span class="n">dialect</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span>
|
||||||
</span><span id="L-401"><a href="#L-401"><span class="linenos">401</span></a>
|
</span><span id="L-401"><a href="#L-401"><span class="linenos">401</span></a> <span class="n">udt</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span><span class="o">.</span><span class="n">SUPPORTS_USER_DEFINED_TYPES</span>
|
||||||
</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a> <span class="k">try</span><span class="p">:</span>
|
</span><span id="L-402"><a href="#L-402"><span class="linenos">402</span></a>
|
||||||
</span><span id="L-403"><a href="#L-403"><span class="linenos">403</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">schema_type</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">)</span>
|
</span><span id="L-403"><a href="#L-403"><span class="linenos">403</span></a> <span class="k">try</span><span class="p">:</span>
|
||||||
</span><span id="L-404"><a href="#L-404"><span class="linenos">404</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">[</span><span class="n">schema_type</span><span class="p">]</span> <span class="o">=</span> <span class="n">expression</span>
|
</span><span id="L-404"><a href="#L-404"><span class="linenos">404</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">schema_type</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">udt</span><span class="o">=</span><span class="n">udt</span><span class="p">)</span>
|
||||||
</span><span id="L-405"><a href="#L-405"><span class="linenos">405</span></a> <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
|
</span><span id="L-405"><a href="#L-405"><span class="linenos">405</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">[</span><span class="n">schema_type</span><span class="p">]</span> <span class="o">=</span> <span class="n">expression</span>
|
||||||
</span><span id="L-406"><a href="#L-406"><span class="linenos">406</span></a> <span class="n">in_dialect</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">" in dialect </span><span class="si">{</span><span class="n">dialect</span><span class="si">}</span><span class="s2">"</span> <span class="k">if</span> <span class="n">dialect</span> <span class="k">else</span> <span class="s2">""</span>
|
</span><span id="L-406"><a href="#L-406"><span class="linenos">406</span></a> <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
|
||||||
</span><span id="L-407"><a href="#L-407"><span class="linenos">407</span></a> <span class="k">raise</span> <span class="n">SchemaError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Failed to build type '</span><span class="si">{</span><span class="n">schema_type</span><span class="si">}</span><span class="s2">'</span><span class="si">{</span><span class="n">in_dialect</span><span class="si">}</span><span class="s2">."</span><span class="p">)</span>
|
</span><span id="L-407"><a href="#L-407"><span class="linenos">407</span></a> <span class="n">in_dialect</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">" in dialect </span><span class="si">{</span><span class="n">dialect</span><span class="si">}</span><span class="s2">"</span> <span class="k">if</span> <span class="n">dialect</span> <span class="k">else</span> <span class="s2">""</span>
|
||||||
</span><span id="L-408"><a href="#L-408"><span class="linenos">408</span></a>
|
</span><span id="L-408"><a href="#L-408"><span class="linenos">408</span></a> <span class="k">raise</span> <span class="n">SchemaError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Failed to build type '</span><span class="si">{</span><span class="n">schema_type</span><span class="si">}</span><span class="s2">'</span><span class="si">{</span><span class="n">in_dialect</span><span class="si">}</span><span class="s2">."</span><span class="p">)</span>
|
||||||
</span><span id="L-409"><a href="#L-409"><span class="linenos">409</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">[</span><span class="n">schema_type</span><span class="p">]</span>
|
</span><span id="L-409"><a href="#L-409"><span class="linenos">409</span></a>
|
||||||
</span><span id="L-410"><a href="#L-410"><span class="linenos">410</span></a>
|
</span><span id="L-410"><a href="#L-410"><span class="linenos">410</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">[</span><span class="n">schema_type</span><span class="p">]</span>
|
||||||
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a>
|
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a>
|
||||||
</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a><span class="k">def</span> <span class="nf">normalize_name</span><span class="p">(</span>
|
</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a>
|
||||||
</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">exp</span><span class="o">.</span><span class="n">Identifier</span><span class="p">,</span>
|
</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a><span class="k">def</span> <span class="nf">normalize_name</span><span class="p">(</span>
|
||||||
</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">exp</span><span class="o">.</span><span class="n">Identifier</span><span class="p">,</span>
|
||||||
</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a> <span class="n">is_table</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
|
</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||||
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="n">normalize</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="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
|
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="n">is_table</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
|
||||||
</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a> <span class="n">normalize</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="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
|
||||||
</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a> <span class="k">try</span><span class="p">:</span>
|
</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||||
</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">exp</span><span class="o">.</span><span class="n">Identifier</span><span class="p">)</span>
|
</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a> <span class="k">try</span><span class="p">:</span>
|
||||||
</span><span id="L-420"><a href="#L-420"><span class="linenos">420</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
|
</span><span id="L-420"><a href="#L-420"><span class="linenos">420</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">exp</span><span class="o">.</span><span class="n">Identifier</span><span class="p">)</span>
|
||||||
</span><span id="L-421"><a href="#L-421"><span class="linenos">421</span></a> <span class="k">return</span> <span class="n">name</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="n">name</span><span class="o">.</span><span class="n">name</span>
|
</span><span id="L-421"><a href="#L-421"><span class="linenos">421</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
|
||||||
</span><span id="L-422"><a href="#L-422"><span class="linenos">422</span></a>
|
</span><span id="L-422"><a href="#L-422"><span class="linenos">422</span></a> <span class="k">return</span> <span class="n">name</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="n">name</span><span class="o">.</span><span class="n">name</span>
|
||||||
</span><span id="L-423"><a href="#L-423"><span class="linenos">423</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">identifier</span><span class="o">.</span><span class="n">name</span>
|
</span><span id="L-423"><a href="#L-423"><span class="linenos">423</span></a>
|
||||||
</span><span id="L-424"><a href="#L-424"><span class="linenos">424</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">normalize</span><span class="p">:</span>
|
</span><span id="L-424"><a href="#L-424"><span class="linenos">424</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">identifier</span><span class="o">.</span><span class="n">name</span>
|
||||||
</span><span id="L-425"><a href="#L-425"><span class="linenos">425</span></a> <span class="k">return</span> <span class="n">name</span>
|
</span><span id="L-425"><a href="#L-425"><span class="linenos">425</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">normalize</span><span class="p">:</span>
|
||||||
</span><span id="L-426"><a href="#L-426"><span class="linenos">426</span></a>
|
</span><span id="L-426"><a href="#L-426"><span class="linenos">426</span></a> <span class="k">return</span> <span class="n">name</span>
|
||||||
</span><span id="L-427"><a href="#L-427"><span class="linenos">427</span></a> <span class="c1"># This can be useful for normalize_identifier</span>
|
</span><span id="L-427"><a href="#L-427"><span class="linenos">427</span></a>
|
||||||
</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a> <span class="n">identifier</span><span class="o">.</span><span class="n">meta</span><span class="p">[</span><span class="s2">"is_table"</span><span class="p">]</span> <span class="o">=</span> <span class="n">is_table</span>
|
</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a> <span class="c1"># This can be useful for normalize_identifier</span>
|
||||||
</span><span id="L-429"><a href="#L-429"><span class="linenos">429</span></a> <span class="k">return</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span><span class="o">.</span><span class="n">normalize_identifier</span><span class="p">(</span><span class="n">identifier</span><span class="p">)</span><span class="o">.</span><span class="n">name</span>
|
</span><span id="L-429"><a href="#L-429"><span class="linenos">429</span></a> <span class="n">identifier</span><span class="o">.</span><span class="n">meta</span><span class="p">[</span><span class="s2">"is_table"</span><span class="p">]</span> <span class="o">=</span> <span class="n">is_table</span>
|
||||||
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a>
|
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a> <span class="k">return</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span><span class="o">.</span><span class="n">normalize_identifier</span><span class="p">(</span><span class="n">identifier</span><span class="p">)</span><span class="o">.</span><span class="n">name</span>
|
||||||
</span><span id="L-431"><a href="#L-431"><span class="linenos">431</span></a>
|
</span><span id="L-431"><a href="#L-431"><span class="linenos">431</span></a>
|
||||||
</span><span id="L-432"><a href="#L-432"><span class="linenos">432</span></a><span class="k">def</span> <span class="nf">ensure_schema</span><span class="p">(</span><span class="n">schema</span><span class="p">:</span> <span class="n">Schema</span> <span class="o">|</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="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">)</span> <span class="o">-></span> <span class="n">Schema</span><span class="p">:</span>
|
</span><span id="L-432"><a href="#L-432"><span class="linenos">432</span></a>
|
||||||
</span><span id="L-433"><a href="#L-433"><span class="linenos">433</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="n">Schema</span><span class="p">):</span>
|
</span><span id="L-433"><a href="#L-433"><span class="linenos">433</span></a><span class="k">def</span> <span class="nf">ensure_schema</span><span class="p">(</span><span class="n">schema</span><span class="p">:</span> <span class="n">Schema</span> <span class="o">|</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="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">)</span> <span class="o">-></span> <span class="n">Schema</span><span class="p">:</span>
|
||||||
</span><span id="L-434"><a href="#L-434"><span class="linenos">434</span></a> <span class="k">return</span> <span class="n">schema</span>
|
</span><span id="L-434"><a href="#L-434"><span class="linenos">434</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="n">Schema</span><span class="p">):</span>
|
||||||
</span><span id="L-435"><a href="#L-435"><span class="linenos">435</span></a>
|
</span><span id="L-435"><a href="#L-435"><span class="linenos">435</span></a> <span class="k">return</span> <span class="n">schema</span>
|
||||||
</span><span id="L-436"><a href="#L-436"><span class="linenos">436</span></a> <span class="k">return</span> <span class="n">MappingSchema</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
</span><span id="L-436"><a href="#L-436"><span class="linenos">436</span></a>
|
||||||
</span><span id="L-437"><a href="#L-437"><span class="linenos">437</span></a>
|
</span><span id="L-437"><a href="#L-437"><span class="linenos">437</span></a> <span class="k">return</span> <span class="n">MappingSchema</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||||
</span><span id="L-438"><a href="#L-438"><span class="linenos">438</span></a>
|
</span><span id="L-438"><a href="#L-438"><span class="linenos">438</span></a>
|
||||||
</span><span id="L-439"><a href="#L-439"><span class="linenos">439</span></a><span class="k">def</span> <span class="nf">ensure_column_mapping</span><span class="p">(</span><span class="n">mapping</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">ColumnMapping</span><span class="p">])</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
</span><span id="L-439"><a href="#L-439"><span class="linenos">439</span></a>
|
||||||
</span><span id="L-440"><a href="#L-440"><span class="linenos">440</span></a> <span class="k">if</span> <span class="n">mapping</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
</span><span id="L-440"><a href="#L-440"><span class="linenos">440</span></a><span class="k">def</span> <span class="nf">ensure_column_mapping</span><span class="p">(</span><span class="n">mapping</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">ColumnMapping</span><span class="p">])</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
||||||
</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a> <span class="k">return</span> <span class="p">{}</span>
|
</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a> <span class="k">if</span> <span class="n">mapping</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
|
</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a> <span class="k">return</span> <span class="p">{}</span>
|
||||||
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="k">return</span> <span class="n">mapping</span>
|
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
|
||||||
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
|
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="k">return</span> <span class="n">mapping</span>
|
||||||
</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a> <span class="n">col_name_type_strs</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mapping</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">","</span><span class="p">)]</span>
|
</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
|
||||||
</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a> <span class="k">return</span> <span class="p">{</span>
|
</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a> <span class="n">col_name_type_strs</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mapping</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">","</span><span class="p">)]</span>
|
||||||
</span><span id="L-447"><a href="#L-447"><span class="linenos">447</span></a> <span class="n">name_type_str</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span> <span class="n">name_type_str</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
</span><span id="L-447"><a href="#L-447"><span class="linenos">447</span></a> <span class="k">return</span> <span class="p">{</span>
|
||||||
</span><span id="L-448"><a href="#L-448"><span class="linenos">448</span></a> <span class="k">for</span> <span class="n">name_type_str</span> <span class="ow">in</span> <span class="n">col_name_type_strs</span>
|
</span><span id="L-448"><a href="#L-448"><span class="linenos">448</span></a> <span class="n">name_type_str</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span> <span class="n">name_type_str</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||||
</span><span id="L-449"><a href="#L-449"><span class="linenos">449</span></a> <span class="p">}</span>
|
</span><span id="L-449"><a href="#L-449"><span class="linenos">449</span></a> <span class="k">for</span> <span class="n">name_type_str</span> <span class="ow">in</span> <span class="n">col_name_type_strs</span>
|
||||||
</span><span id="L-450"><a href="#L-450"><span class="linenos">450</span></a> <span class="c1"># Check if mapping looks like a DataFrame StructType</span>
|
</span><span id="L-450"><a href="#L-450"><span class="linenos">450</span></a> <span class="p">}</span>
|
||||||
</span><span id="L-451"><a href="#L-451"><span class="linenos">451</span></a> <span class="k">elif</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="s2">"simpleString"</span><span class="p">):</span>
|
</span><span id="L-451"><a href="#L-451"><span class="linenos">451</span></a> <span class="c1"># Check if mapping looks like a DataFrame StructType</span>
|
||||||
</span><span id="L-452"><a href="#L-452"><span class="linenos">452</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">struct_field</span><span class="o">.</span><span class="n">name</span><span class="p">:</span> <span class="n">struct_field</span><span class="o">.</span><span class="n">dataType</span><span class="o">.</span><span class="n">simpleString</span><span class="p">()</span> <span class="k">for</span> <span class="n">struct_field</span> <span class="ow">in</span> <span class="n">mapping</span><span class="p">}</span>
|
</span><span id="L-452"><a href="#L-452"><span class="linenos">452</span></a> <span class="k">elif</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="s2">"simpleString"</span><span class="p">):</span>
|
||||||
</span><span id="L-453"><a href="#L-453"><span class="linenos">453</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
</span><span id="L-453"><a href="#L-453"><span class="linenos">453</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">struct_field</span><span class="o">.</span><span class="n">name</span><span class="p">:</span> <span class="n">struct_field</span><span class="o">.</span><span class="n">dataType</span><span class="o">.</span><span class="n">simpleString</span><span class="p">()</span> <span class="k">for</span> <span class="n">struct_field</span> <span class="ow">in</span> <span class="n">mapping</span><span class="p">}</span>
|
||||||
</span><span id="L-454"><a href="#L-454"><span class="linenos">454</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">x</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mapping</span><span class="p">}</span>
|
</span><span id="L-454"><a href="#L-454"><span class="linenos">454</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
||||||
</span><span id="L-455"><a href="#L-455"><span class="linenos">455</span></a>
|
</span><span id="L-455"><a href="#L-455"><span class="linenos">455</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">x</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mapping</span><span class="p">}</span>
|
||||||
</span><span id="L-456"><a href="#L-456"><span class="linenos">456</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Invalid mapping provided: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">mapping</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="L-456"><a href="#L-456"><span class="linenos">456</span></a>
|
||||||
</span><span id="L-457"><a href="#L-457"><span class="linenos">457</span></a>
|
</span><span id="L-457"><a href="#L-457"><span class="linenos">457</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Invalid mapping provided: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">mapping</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span><span id="L-458"><a href="#L-458"><span class="linenos">458</span></a>
|
</span><span id="L-458"><a href="#L-458"><span class="linenos">458</span></a>
|
||||||
</span><span id="L-459"><a href="#L-459"><span class="linenos">459</span></a><span class="k">def</span> <span class="nf">flatten_schema</span><span class="p">(</span>
|
</span><span id="L-459"><a href="#L-459"><span class="linenos">459</span></a>
|
||||||
</span><span id="L-460"><a href="#L-460"><span class="linenos">460</span></a> <span class="n">schema</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="n">depth</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">keys</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">List</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-460"><a href="#L-460"><span class="linenos">460</span></a><span class="k">def</span> <span class="nf">flatten_schema</span><span class="p">(</span>
|
||||||
</span><span id="L-461"><a href="#L-461"><span class="linenos">461</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]:</span>
|
</span><span id="L-461"><a href="#L-461"><span class="linenos">461</span></a> <span class="n">schema</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="n">depth</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">keys</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">List</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-462"><a href="#L-462"><span class="linenos">462</span></a> <span class="n">tables</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="L-462"><a href="#L-462"><span class="linenos">462</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]:</span>
|
||||||
</span><span id="L-463"><a href="#L-463"><span class="linenos">463</span></a> <span class="n">keys</span> <span class="o">=</span> <span class="n">keys</span> <span class="ow">or</span> <span class="p">[]</span>
|
</span><span id="L-463"><a href="#L-463"><span class="linenos">463</span></a> <span class="n">tables</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a>
|
</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a> <span class="n">keys</span> <span class="o">=</span> <span class="n">keys</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||||
</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">schema</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a>
|
||||||
</span><span id="L-466"><a href="#L-466"><span class="linenos">466</span></a> <span class="k">if</span> <span class="n">depth</span> <span class="o">>=</span> <span class="mi">2</span><span class="p">:</span>
|
</span><span id="L-466"><a href="#L-466"><span class="linenos">466</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">schema</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||||
</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a> <span class="n">tables</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">flatten_schema</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">depth</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">keys</span> <span class="o">+</span> <span class="p">[</span><span class="n">k</span><span class="p">]))</span>
|
</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a> <span class="k">if</span> <span class="n">depth</span> <span class="o">>=</span> <span class="mi">2</span><span class="p">:</span>
|
||||||
</span><span id="L-468"><a href="#L-468"><span class="linenos">468</span></a> <span class="k">elif</span> <span class="n">depth</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
</span><span id="L-468"><a href="#L-468"><span class="linenos">468</span></a> <span class="n">tables</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">flatten_schema</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">depth</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">keys</span> <span class="o">+</span> <span class="p">[</span><span class="n">k</span><span class="p">]))</span>
|
||||||
</span><span id="L-469"><a href="#L-469"><span class="linenos">469</span></a> <span class="n">tables</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">keys</span> <span class="o">+</span> <span class="p">[</span><span class="n">k</span><span class="p">])</span>
|
</span><span id="L-469"><a href="#L-469"><span class="linenos">469</span></a> <span class="k">elif</span> <span class="n">depth</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||||
</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a>
|
</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a> <span class="n">tables</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">keys</span> <span class="o">+</span> <span class="p">[</span><span class="n">k</span><span class="p">])</span>
|
||||||
</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a> <span class="k">return</span> <span class="n">tables</span>
|
</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a>
|
||||||
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a>
|
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a> <span class="k">return</span> <span class="n">tables</span>
|
||||||
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a>
|
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a>
|
||||||
</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a><span class="k">def</span> <span class="nf">nested_get</span><span class="p">(</span>
|
</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a>
|
||||||
</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a> <span class="n">d</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="o">*</span><span class="n">path</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">raise_on_missing</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a><span class="k">def</span> <span class="nf">nested_get</span><span class="p">(</span>
|
||||||
</span><span id="L-476"><a href="#L-476"><span class="linenos">476</span></a><span class="p">)</span> <span class="o">-></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">Any</span><span class="p">]:</span>
|
</span><span id="L-476"><a href="#L-476"><span class="linenos">476</span></a> <span class="n">d</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="o">*</span><span class="n">path</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">raise_on_missing</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a><span class="w"> </span><span class="sd">"""</span>
|
</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a><span class="p">)</span> <span class="o">-></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">Any</span><span class="p">]:</span>
|
||||||
</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a><span class="sd"> Get a value for a nested dictionary.</span>
|
</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||||
</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a>
|
</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a><span class="sd"> Get a value for a nested dictionary.</span>
|
||||||
</span><span id="L-480"><a href="#L-480"><span class="linenos">480</span></a><span class="sd"> Args:</span>
|
</span><span id="L-480"><a href="#L-480"><span class="linenos">480</span></a>
|
||||||
</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a><span class="sd"> d: the dictionary to search.</span>
|
</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a><span class="sd"> *path: tuples of (name, key), where:</span>
|
</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a><span class="sd"> d: the dictionary to search.</span>
|
||||||
</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a><span class="sd"> `key` is the key in the dictionary to get.</span>
|
</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a><span class="sd"> *path: tuples of (name, key), where:</span>
|
||||||
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a><span class="sd"> `name` is a string to use in the error if `key` isn't found.</span>
|
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a><span class="sd"> `key` is the key in the dictionary to get.</span>
|
||||||
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a>
|
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a><span class="sd"> `name` is a string to use in the error if `key` isn't found.</span>
|
||||||
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a><span class="sd"> Returns:</span>
|
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a>
|
||||||
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a><span class="sd"> The value or None if it doesn't exist.</span>
|
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a><span class="sd"> """</span>
|
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a><span class="sd"> The value or None if it doesn't exist.</span>
|
||||||
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">path</span><span class="p">:</span>
|
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a> <span class="n">d</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="c1"># type: ignore</span>
|
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">path</span><span class="p">:</span>
|
||||||
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a> <span class="k">if</span> <span class="n">d</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a> <span class="n">d</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="c1"># type: ignore</span>
|
||||||
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a> <span class="k">if</span> <span class="n">raise_on_missing</span><span class="p">:</span>
|
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a> <span class="k">if</span> <span class="n">d</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
</span><span id="L-493"><a href="#L-493"><span class="linenos">493</span></a> <span class="n">name</span> <span class="o">=</span> <span class="s2">"table"</span> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">"this"</span> <span class="k">else</span> <span class="n">name</span>
|
</span><span id="L-493"><a href="#L-493"><span class="linenos">493</span></a> <span class="k">if</span> <span class="n">raise_on_missing</span><span class="p">:</span>
|
||||||
</span><span id="L-494"><a href="#L-494"><span class="linenos">494</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="n">key</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="L-494"><a href="#L-494"><span class="linenos">494</span></a> <span class="n">name</span> <span class="o">=</span> <span class="s2">"table"</span> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">"this"</span> <span class="k">else</span> <span class="n">name</span>
|
||||||
</span><span id="L-495"><a href="#L-495"><span class="linenos">495</span></a> <span class="k">return</span> <span class="kc">None</span>
|
</span><span id="L-495"><a href="#L-495"><span class="linenos">495</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="n">key</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span><span id="L-496"><a href="#L-496"><span class="linenos">496</span></a>
|
</span><span id="L-496"><a href="#L-496"><span class="linenos">496</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||||
</span><span id="L-497"><a href="#L-497"><span class="linenos">497</span></a> <span class="k">return</span> <span class="n">d</span>
|
</span><span id="L-497"><a href="#L-497"><span class="linenos">497</span></a>
|
||||||
</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a>
|
</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||||
</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a>
|
</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a>
|
||||||
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a><span class="k">def</span> <span class="nf">nested_set</span><span class="p">(</span><span class="n">d</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="n">keys</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">value</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a>
|
||||||
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a><span class="w"> </span><span class="sd">"""</span>
|
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a><span class="k">def</span> <span class="nf">nested_set</span><span class="p">(</span><span class="n">d</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="n">keys</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">value</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
||||||
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a><span class="sd"> In-place set a value for a nested dictionary</span>
|
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||||
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a>
|
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a><span class="sd"> In-place set a value for a nested dictionary</span>
|
||||||
</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a><span class="sd"> Example:</span>
|
</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a>
|
||||||
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a><span class="sd"> >>> nested_set({}, ["top_key", "second_key"], "value")</span>
|
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a><span class="sd"> Example:</span>
|
||||||
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a><span class="sd"> {'top_key': {'second_key': 'value'}}</span>
|
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a><span class="sd"> >>> nested_set({}, ["top_key", "second_key"], "value")</span>
|
||||||
</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a>
|
</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a><span class="sd"> {'top_key': {'second_key': 'value'}}</span>
|
||||||
</span><span id="L-508"><a href="#L-508"><span class="linenos">508</span></a><span class="sd"> >>> nested_set({"top_key": {"third_key": "third_value"}}, ["top_key", "second_key"], "value")</span>
|
</span><span id="L-508"><a href="#L-508"><span class="linenos">508</span></a>
|
||||||
</span><span id="L-509"><a href="#L-509"><span class="linenos">509</span></a><span class="sd"> {'top_key': {'third_key': 'third_value', 'second_key': 'value'}}</span>
|
</span><span id="L-509"><a href="#L-509"><span class="linenos">509</span></a><span class="sd"> >>> nested_set({"top_key": {"third_key": "third_value"}}, ["top_key", "second_key"], "value")</span>
|
||||||
</span><span id="L-510"><a href="#L-510"><span class="linenos">510</span></a>
|
</span><span id="L-510"><a href="#L-510"><span class="linenos">510</span></a><span class="sd"> {'top_key': {'third_key': 'third_value', 'second_key': 'value'}}</span>
|
||||||
</span><span id="L-511"><a href="#L-511"><span class="linenos">511</span></a><span class="sd"> Args:</span>
|
</span><span id="L-511"><a href="#L-511"><span class="linenos">511</span></a>
|
||||||
</span><span id="L-512"><a href="#L-512"><span class="linenos">512</span></a><span class="sd"> d: dictionary to update.</span>
|
</span><span id="L-512"><a href="#L-512"><span class="linenos">512</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a><span class="sd"> keys: the keys that makeup the path to `value`.</span>
|
</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a><span class="sd"> d: dictionary to update.</span>
|
||||||
</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a><span class="sd"> value: the value to set in the dictionary for the given key path.</span>
|
</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a><span class="sd"> keys: the keys that makeup the path to `value`.</span>
|
||||||
</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a>
|
</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a><span class="sd"> value: the value to set in the dictionary for the given key path.</span>
|
||||||
</span><span id="L-516"><a href="#L-516"><span class="linenos">516</span></a><span class="sd"> Returns:</span>
|
</span><span id="L-516"><a href="#L-516"><span class="linenos">516</span></a>
|
||||||
</span><span id="L-517"><a href="#L-517"><span class="linenos">517</span></a><span class="sd"> The (possibly) updated dictionary.</span>
|
</span><span id="L-517"><a href="#L-517"><span class="linenos">517</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="L-518"><a href="#L-518"><span class="linenos">518</span></a><span class="sd"> """</span>
|
</span><span id="L-518"><a href="#L-518"><span class="linenos">518</span></a><span class="sd"> The (possibly) updated dictionary.</span>
|
||||||
</span><span id="L-519"><a href="#L-519"><span class="linenos">519</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">keys</span><span class="p">:</span>
|
</span><span id="L-519"><a href="#L-519"><span class="linenos">519</span></a><span class="sd"> """</span>
|
||||||
</span><span id="L-520"><a href="#L-520"><span class="linenos">520</span></a> <span class="k">return</span> <span class="n">d</span>
|
</span><span id="L-520"><a href="#L-520"><span class="linenos">520</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">keys</span><span class="p">:</span>
|
||||||
</span><span id="L-521"><a href="#L-521"><span class="linenos">521</span></a>
|
</span><span id="L-521"><a href="#L-521"><span class="linenos">521</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||||
</span><span id="L-522"><a href="#L-522"><span class="linenos">522</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">keys</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
</span><span id="L-522"><a href="#L-522"><span class="linenos">522</span></a>
|
||||||
</span><span id="L-523"><a href="#L-523"><span class="linenos">523</span></a> <span class="n">d</span><span class="p">[</span><span class="n">keys</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">value</span>
|
</span><span id="L-523"><a href="#L-523"><span class="linenos">523</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">keys</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||||
</span><span id="L-524"><a href="#L-524"><span class="linenos">524</span></a> <span class="k">return</span> <span class="n">d</span>
|
</span><span id="L-524"><a href="#L-524"><span class="linenos">524</span></a> <span class="n">d</span><span class="p">[</span><span class="n">keys</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">value</span>
|
||||||
</span><span id="L-525"><a href="#L-525"><span class="linenos">525</span></a>
|
</span><span id="L-525"><a href="#L-525"><span class="linenos">525</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||||
</span><span id="L-526"><a href="#L-526"><span class="linenos">526</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">d</span>
|
</span><span id="L-526"><a href="#L-526"><span class="linenos">526</span></a>
|
||||||
</span><span id="L-527"><a href="#L-527"><span class="linenos">527</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
</span><span id="L-527"><a href="#L-527"><span class="linenos">527</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">d</span>
|
||||||
</span><span id="L-528"><a href="#L-528"><span class="linenos">528</span></a> <span class="k">if</span> <span class="n">key</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">subd</span><span class="p">:</span>
|
</span><span id="L-528"><a href="#L-528"><span class="linenos">528</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
||||||
</span><span id="L-529"><a href="#L-529"><span class="linenos">529</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">subd</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">{})</span>
|
</span><span id="L-529"><a href="#L-529"><span class="linenos">529</span></a> <span class="k">if</span> <span class="n">key</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">subd</span><span class="p">:</span>
|
||||||
</span><span id="L-530"><a href="#L-530"><span class="linenos">530</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-530"><a href="#L-530"><span class="linenos">530</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">subd</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">{})</span>
|
||||||
</span><span id="L-531"><a href="#L-531"><span class="linenos">531</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">subd</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
|
</span><span id="L-531"><a href="#L-531"><span class="linenos">531</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-532"><a href="#L-532"><span class="linenos">532</span></a>
|
</span><span id="L-532"><a href="#L-532"><span class="linenos">532</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">subd</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
|
||||||
</span><span id="L-533"><a href="#L-533"><span class="linenos">533</span></a> <span class="n">subd</span><span class="p">[</span><span class="n">keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">value</span>
|
</span><span id="L-533"><a href="#L-533"><span class="linenos">533</span></a>
|
||||||
</span><span id="L-534"><a href="#L-534"><span class="linenos">534</span></a> <span class="k">return</span> <span class="n">d</span>
|
</span><span id="L-534"><a href="#L-534"><span class="linenos">534</span></a> <span class="n">subd</span><span class="p">[</span><span class="n">keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">value</span>
|
||||||
|
</span><span id="L-535"><a href="#L-535"><span class="linenos">535</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1515,15 +1516,16 @@ For example, a generic mapping type might be defined as::</p>
|
||||||
</span><span id="MappingSchema-399"><a href="#MappingSchema-399"><span class="linenos">399</span></a><span class="sd"> """</span>
|
</span><span id="MappingSchema-399"><a href="#MappingSchema-399"><span class="linenos">399</span></a><span class="sd"> """</span>
|
||||||
</span><span id="MappingSchema-400"><a href="#MappingSchema-400"><span class="linenos">400</span></a> <span class="k">if</span> <span class="n">schema_type</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">:</span>
|
</span><span id="MappingSchema-400"><a href="#MappingSchema-400"><span class="linenos">400</span></a> <span class="k">if</span> <span class="n">schema_type</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">:</span>
|
||||||
</span><span id="MappingSchema-401"><a href="#MappingSchema-401"><span class="linenos">401</span></a> <span class="n">dialect</span> <span class="o">=</span> <span class="n">dialect</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span>
|
</span><span id="MappingSchema-401"><a href="#MappingSchema-401"><span class="linenos">401</span></a> <span class="n">dialect</span> <span class="o">=</span> <span class="n">dialect</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">dialect</span>
|
||||||
</span><span id="MappingSchema-402"><a href="#MappingSchema-402"><span class="linenos">402</span></a>
|
</span><span id="MappingSchema-402"><a href="#MappingSchema-402"><span class="linenos">402</span></a> <span class="n">udt</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span><span class="o">.</span><span class="n">SUPPORTS_USER_DEFINED_TYPES</span>
|
||||||
</span><span id="MappingSchema-403"><a href="#MappingSchema-403"><span class="linenos">403</span></a> <span class="k">try</span><span class="p">:</span>
|
</span><span id="MappingSchema-403"><a href="#MappingSchema-403"><span class="linenos">403</span></a>
|
||||||
</span><span id="MappingSchema-404"><a href="#MappingSchema-404"><span class="linenos">404</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">schema_type</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">)</span>
|
</span><span id="MappingSchema-404"><a href="#MappingSchema-404"><span class="linenos">404</span></a> <span class="k">try</span><span class="p">:</span>
|
||||||
</span><span id="MappingSchema-405"><a href="#MappingSchema-405"><span class="linenos">405</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">[</span><span class="n">schema_type</span><span class="p">]</span> <span class="o">=</span> <span class="n">expression</span>
|
</span><span id="MappingSchema-405"><a href="#MappingSchema-405"><span class="linenos">405</span></a> <span class="n">expression</span> <span class="o">=</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">schema_type</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">udt</span><span class="o">=</span><span class="n">udt</span><span class="p">)</span>
|
||||||
</span><span id="MappingSchema-406"><a href="#MappingSchema-406"><span class="linenos">406</span></a> <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
|
</span><span id="MappingSchema-406"><a href="#MappingSchema-406"><span class="linenos">406</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">[</span><span class="n">schema_type</span><span class="p">]</span> <span class="o">=</span> <span class="n">expression</span>
|
||||||
</span><span id="MappingSchema-407"><a href="#MappingSchema-407"><span class="linenos">407</span></a> <span class="n">in_dialect</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">" in dialect </span><span class="si">{</span><span class="n">dialect</span><span class="si">}</span><span class="s2">"</span> <span class="k">if</span> <span class="n">dialect</span> <span class="k">else</span> <span class="s2">""</span>
|
</span><span id="MappingSchema-407"><a href="#MappingSchema-407"><span class="linenos">407</span></a> <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
|
||||||
</span><span id="MappingSchema-408"><a href="#MappingSchema-408"><span class="linenos">408</span></a> <span class="k">raise</span> <span class="n">SchemaError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Failed to build type '</span><span class="si">{</span><span class="n">schema_type</span><span class="si">}</span><span class="s2">'</span><span class="si">{</span><span class="n">in_dialect</span><span class="si">}</span><span class="s2">."</span><span class="p">)</span>
|
</span><span id="MappingSchema-408"><a href="#MappingSchema-408"><span class="linenos">408</span></a> <span class="n">in_dialect</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">" in dialect </span><span class="si">{</span><span class="n">dialect</span><span class="si">}</span><span class="s2">"</span> <span class="k">if</span> <span class="n">dialect</span> <span class="k">else</span> <span class="s2">""</span>
|
||||||
</span><span id="MappingSchema-409"><a href="#MappingSchema-409"><span class="linenos">409</span></a>
|
</span><span id="MappingSchema-409"><a href="#MappingSchema-409"><span class="linenos">409</span></a> <span class="k">raise</span> <span class="n">SchemaError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Failed to build type '</span><span class="si">{</span><span class="n">schema_type</span><span class="si">}</span><span class="s2">'</span><span class="si">{</span><span class="n">in_dialect</span><span class="si">}</span><span class="s2">."</span><span class="p">)</span>
|
||||||
</span><span id="MappingSchema-410"><a href="#MappingSchema-410"><span class="linenos">410</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">[</span><span class="n">schema_type</span><span class="p">]</span>
|
</span><span id="MappingSchema-410"><a href="#MappingSchema-410"><span class="linenos">410</span></a>
|
||||||
|
</span><span id="MappingSchema-411"><a href="#MappingSchema-411"><span class="linenos">411</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_type_mapping_cache</span><span class="p">[</span><span class="n">schema_type</span><span class="p">]</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1713,24 +1715,24 @@ are assumed to be visible. The nesting should mirror that of the schema:
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#normalize_name"></a>
|
<a class="headerlink" href="#normalize_name"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="normalize_name-413"><a href="#normalize_name-413"><span class="linenos">413</span></a><span class="k">def</span> <span class="nf">normalize_name</span><span class="p">(</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="normalize_name-414"><a href="#normalize_name-414"><span class="linenos">414</span></a><span class="k">def</span> <span class="nf">normalize_name</span><span class="p">(</span>
|
||||||
</span><span id="normalize_name-414"><a href="#normalize_name-414"><span class="linenos">414</span></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">exp</span><span class="o">.</span><span class="n">Identifier</span><span class="p">,</span>
|
</span><span id="normalize_name-415"><a href="#normalize_name-415"><span class="linenos">415</span></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">exp</span><span class="o">.</span><span class="n">Identifier</span><span class="p">,</span>
|
||||||
</span><span id="normalize_name-415"><a href="#normalize_name-415"><span class="linenos">415</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
</span><span id="normalize_name-416"><a href="#normalize_name-416"><span class="linenos">416</span></a> <span class="n">dialect</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||||
</span><span id="normalize_name-416"><a href="#normalize_name-416"><span class="linenos">416</span></a> <span class="n">is_table</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
|
</span><span id="normalize_name-417"><a href="#normalize_name-417"><span class="linenos">417</span></a> <span class="n">is_table</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
|
||||||
</span><span id="normalize_name-417"><a href="#normalize_name-417"><span class="linenos">417</span></a> <span class="n">normalize</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="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
|
</span><span id="normalize_name-418"><a href="#normalize_name-418"><span class="linenos">418</span></a> <span class="n">normalize</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="nb">bool</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
|
||||||
</span><span id="normalize_name-418"><a href="#normalize_name-418"><span class="linenos">418</span></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
</span><span id="normalize_name-419"><a href="#normalize_name-419"><span class="linenos">419</span></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||||
</span><span id="normalize_name-419"><a href="#normalize_name-419"><span class="linenos">419</span></a> <span class="k">try</span><span class="p">:</span>
|
</span><span id="normalize_name-420"><a href="#normalize_name-420"><span class="linenos">420</span></a> <span class="k">try</span><span class="p">:</span>
|
||||||
</span><span id="normalize_name-420"><a href="#normalize_name-420"><span class="linenos">420</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">exp</span><span class="o">.</span><span class="n">Identifier</span><span class="p">)</span>
|
</span><span id="normalize_name-421"><a href="#normalize_name-421"><span class="linenos">421</span></a> <span class="n">identifier</span> <span class="o">=</span> <span class="n">sqlglot</span><span class="o">.</span><span class="n">maybe_parse</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">,</span> <span class="n">into</span><span class="o">=</span><span class="n">exp</span><span class="o">.</span><span class="n">Identifier</span><span class="p">)</span>
|
||||||
</span><span id="normalize_name-421"><a href="#normalize_name-421"><span class="linenos">421</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
|
</span><span id="normalize_name-422"><a href="#normalize_name-422"><span class="linenos">422</span></a> <span class="k">except</span> <span class="n">ParseError</span><span class="p">:</span>
|
||||||
</span><span id="normalize_name-422"><a href="#normalize_name-422"><span class="linenos">422</span></a> <span class="k">return</span> <span class="n">name</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="n">name</span><span class="o">.</span><span class="n">name</span>
|
</span><span id="normalize_name-423"><a href="#normalize_name-423"><span class="linenos">423</span></a> <span class="k">return</span> <span class="n">name</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="n">name</span><span class="o">.</span><span class="n">name</span>
|
||||||
</span><span id="normalize_name-423"><a href="#normalize_name-423"><span class="linenos">423</span></a>
|
</span><span id="normalize_name-424"><a href="#normalize_name-424"><span class="linenos">424</span></a>
|
||||||
</span><span id="normalize_name-424"><a href="#normalize_name-424"><span class="linenos">424</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">identifier</span><span class="o">.</span><span class="n">name</span>
|
</span><span id="normalize_name-425"><a href="#normalize_name-425"><span class="linenos">425</span></a> <span class="n">name</span> <span class="o">=</span> <span class="n">identifier</span><span class="o">.</span><span class="n">name</span>
|
||||||
</span><span id="normalize_name-425"><a href="#normalize_name-425"><span class="linenos">425</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">normalize</span><span class="p">:</span>
|
</span><span id="normalize_name-426"><a href="#normalize_name-426"><span class="linenos">426</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">normalize</span><span class="p">:</span>
|
||||||
</span><span id="normalize_name-426"><a href="#normalize_name-426"><span class="linenos">426</span></a> <span class="k">return</span> <span class="n">name</span>
|
</span><span id="normalize_name-427"><a href="#normalize_name-427"><span class="linenos">427</span></a> <span class="k">return</span> <span class="n">name</span>
|
||||||
</span><span id="normalize_name-427"><a href="#normalize_name-427"><span class="linenos">427</span></a>
|
</span><span id="normalize_name-428"><a href="#normalize_name-428"><span class="linenos">428</span></a>
|
||||||
</span><span id="normalize_name-428"><a href="#normalize_name-428"><span class="linenos">428</span></a> <span class="c1"># This can be useful for normalize_identifier</span>
|
</span><span id="normalize_name-429"><a href="#normalize_name-429"><span class="linenos">429</span></a> <span class="c1"># This can be useful for normalize_identifier</span>
|
||||||
</span><span id="normalize_name-429"><a href="#normalize_name-429"><span class="linenos">429</span></a> <span class="n">identifier</span><span class="o">.</span><span class="n">meta</span><span class="p">[</span><span class="s2">"is_table"</span><span class="p">]</span> <span class="o">=</span> <span class="n">is_table</span>
|
</span><span id="normalize_name-430"><a href="#normalize_name-430"><span class="linenos">430</span></a> <span class="n">identifier</span><span class="o">.</span><span class="n">meta</span><span class="p">[</span><span class="s2">"is_table"</span><span class="p">]</span> <span class="o">=</span> <span class="n">is_table</span>
|
||||||
</span><span id="normalize_name-430"><a href="#normalize_name-430"><span class="linenos">430</span></a> <span class="k">return</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span><span class="o">.</span><span class="n">normalize_identifier</span><span class="p">(</span><span class="n">identifier</span><span class="p">)</span><span class="o">.</span><span class="n">name</span>
|
</span><span id="normalize_name-431"><a href="#normalize_name-431"><span class="linenos">431</span></a> <span class="k">return</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">dialect</span><span class="p">)</span><span class="o">.</span><span class="n">normalize_identifier</span><span class="p">(</span><span class="n">identifier</span><span class="p">)</span><span class="o">.</span><span class="n">name</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1748,11 +1750,11 @@ are assumed to be visible. The nesting should mirror that of the schema:
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#ensure_schema"></a>
|
<a class="headerlink" href="#ensure_schema"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="ensure_schema-433"><a href="#ensure_schema-433"><span class="linenos">433</span></a><span class="k">def</span> <span class="nf">ensure_schema</span><span class="p">(</span><span class="n">schema</span><span class="p">:</span> <span class="n">Schema</span> <span class="o">|</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="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">)</span> <span class="o">-></span> <span class="n">Schema</span><span class="p">:</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="ensure_schema-434"><a href="#ensure_schema-434"><span class="linenos">434</span></a><span class="k">def</span> <span class="nf">ensure_schema</span><span class="p">(</span><span class="n">schema</span><span class="p">:</span> <span class="n">Schema</span> <span class="o">|</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="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">)</span> <span class="o">-></span> <span class="n">Schema</span><span class="p">:</span>
|
||||||
</span><span id="ensure_schema-434"><a href="#ensure_schema-434"><span class="linenos">434</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="n">Schema</span><span class="p">):</span>
|
</span><span id="ensure_schema-435"><a href="#ensure_schema-435"><span class="linenos">435</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="n">Schema</span><span class="p">):</span>
|
||||||
</span><span id="ensure_schema-435"><a href="#ensure_schema-435"><span class="linenos">435</span></a> <span class="k">return</span> <span class="n">schema</span>
|
</span><span id="ensure_schema-436"><a href="#ensure_schema-436"><span class="linenos">436</span></a> <span class="k">return</span> <span class="n">schema</span>
|
||||||
</span><span id="ensure_schema-436"><a href="#ensure_schema-436"><span class="linenos">436</span></a>
|
</span><span id="ensure_schema-437"><a href="#ensure_schema-437"><span class="linenos">437</span></a>
|
||||||
</span><span id="ensure_schema-437"><a href="#ensure_schema-437"><span class="linenos">437</span></a> <span class="k">return</span> <span class="n">MappingSchema</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
</span><span id="ensure_schema-438"><a href="#ensure_schema-438"><span class="linenos">438</span></a> <span class="k">return</span> <span class="n">MappingSchema</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1770,24 +1772,24 @@ are assumed to be visible. The nesting should mirror that of the schema:
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#ensure_column_mapping"></a>
|
<a class="headerlink" href="#ensure_column_mapping"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="ensure_column_mapping-440"><a href="#ensure_column_mapping-440"><span class="linenos">440</span></a><span class="k">def</span> <span class="nf">ensure_column_mapping</span><span class="p">(</span><span class="n">mapping</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">ColumnMapping</span><span class="p">])</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="ensure_column_mapping-441"><a href="#ensure_column_mapping-441"><span class="linenos">441</span></a><span class="k">def</span> <span class="nf">ensure_column_mapping</span><span class="p">(</span><span class="n">mapping</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">ColumnMapping</span><span class="p">])</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
||||||
</span><span id="ensure_column_mapping-441"><a href="#ensure_column_mapping-441"><span class="linenos">441</span></a> <span class="k">if</span> <span class="n">mapping</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
</span><span id="ensure_column_mapping-442"><a href="#ensure_column_mapping-442"><span class="linenos">442</span></a> <span class="k">if</span> <span class="n">mapping</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
</span><span id="ensure_column_mapping-442"><a href="#ensure_column_mapping-442"><span class="linenos">442</span></a> <span class="k">return</span> <span class="p">{}</span>
|
</span><span id="ensure_column_mapping-443"><a href="#ensure_column_mapping-443"><span class="linenos">443</span></a> <span class="k">return</span> <span class="p">{}</span>
|
||||||
</span><span id="ensure_column_mapping-443"><a href="#ensure_column_mapping-443"><span class="linenos">443</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
|
</span><span id="ensure_column_mapping-444"><a href="#ensure_column_mapping-444"><span class="linenos">444</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">dict</span><span class="p">):</span>
|
||||||
</span><span id="ensure_column_mapping-444"><a href="#ensure_column_mapping-444"><span class="linenos">444</span></a> <span class="k">return</span> <span class="n">mapping</span>
|
</span><span id="ensure_column_mapping-445"><a href="#ensure_column_mapping-445"><span class="linenos">445</span></a> <span class="k">return</span> <span class="n">mapping</span>
|
||||||
</span><span id="ensure_column_mapping-445"><a href="#ensure_column_mapping-445"><span class="linenos">445</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
|
</span><span id="ensure_column_mapping-446"><a href="#ensure_column_mapping-446"><span class="linenos">446</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
|
||||||
</span><span id="ensure_column_mapping-446"><a href="#ensure_column_mapping-446"><span class="linenos">446</span></a> <span class="n">col_name_type_strs</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mapping</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">","</span><span class="p">)]</span>
|
</span><span id="ensure_column_mapping-447"><a href="#ensure_column_mapping-447"><span class="linenos">447</span></a> <span class="n">col_name_type_strs</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mapping</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">","</span><span class="p">)]</span>
|
||||||
</span><span id="ensure_column_mapping-447"><a href="#ensure_column_mapping-447"><span class="linenos">447</span></a> <span class="k">return</span> <span class="p">{</span>
|
</span><span id="ensure_column_mapping-448"><a href="#ensure_column_mapping-448"><span class="linenos">448</span></a> <span class="k">return</span> <span class="p">{</span>
|
||||||
</span><span id="ensure_column_mapping-448"><a href="#ensure_column_mapping-448"><span class="linenos">448</span></a> <span class="n">name_type_str</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span> <span class="n">name_type_str</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
</span><span id="ensure_column_mapping-449"><a href="#ensure_column_mapping-449"><span class="linenos">449</span></a> <span class="n">name_type_str</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span> <span class="n">name_type_str</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||||
</span><span id="ensure_column_mapping-449"><a href="#ensure_column_mapping-449"><span class="linenos">449</span></a> <span class="k">for</span> <span class="n">name_type_str</span> <span class="ow">in</span> <span class="n">col_name_type_strs</span>
|
</span><span id="ensure_column_mapping-450"><a href="#ensure_column_mapping-450"><span class="linenos">450</span></a> <span class="k">for</span> <span class="n">name_type_str</span> <span class="ow">in</span> <span class="n">col_name_type_strs</span>
|
||||||
</span><span id="ensure_column_mapping-450"><a href="#ensure_column_mapping-450"><span class="linenos">450</span></a> <span class="p">}</span>
|
</span><span id="ensure_column_mapping-451"><a href="#ensure_column_mapping-451"><span class="linenos">451</span></a> <span class="p">}</span>
|
||||||
</span><span id="ensure_column_mapping-451"><a href="#ensure_column_mapping-451"><span class="linenos">451</span></a> <span class="c1"># Check if mapping looks like a DataFrame StructType</span>
|
</span><span id="ensure_column_mapping-452"><a href="#ensure_column_mapping-452"><span class="linenos">452</span></a> <span class="c1"># Check if mapping looks like a DataFrame StructType</span>
|
||||||
</span><span id="ensure_column_mapping-452"><a href="#ensure_column_mapping-452"><span class="linenos">452</span></a> <span class="k">elif</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="s2">"simpleString"</span><span class="p">):</span>
|
</span><span id="ensure_column_mapping-453"><a href="#ensure_column_mapping-453"><span class="linenos">453</span></a> <span class="k">elif</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="s2">"simpleString"</span><span class="p">):</span>
|
||||||
</span><span id="ensure_column_mapping-453"><a href="#ensure_column_mapping-453"><span class="linenos">453</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">struct_field</span><span class="o">.</span><span class="n">name</span><span class="p">:</span> <span class="n">struct_field</span><span class="o">.</span><span class="n">dataType</span><span class="o">.</span><span class="n">simpleString</span><span class="p">()</span> <span class="k">for</span> <span class="n">struct_field</span> <span class="ow">in</span> <span class="n">mapping</span><span class="p">}</span>
|
</span><span id="ensure_column_mapping-454"><a href="#ensure_column_mapping-454"><span class="linenos">454</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">struct_field</span><span class="o">.</span><span class="n">name</span><span class="p">:</span> <span class="n">struct_field</span><span class="o">.</span><span class="n">dataType</span><span class="o">.</span><span class="n">simpleString</span><span class="p">()</span> <span class="k">for</span> <span class="n">struct_field</span> <span class="ow">in</span> <span class="n">mapping</span><span class="p">}</span>
|
||||||
</span><span id="ensure_column_mapping-454"><a href="#ensure_column_mapping-454"><span class="linenos">454</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
</span><span id="ensure_column_mapping-455"><a href="#ensure_column_mapping-455"><span class="linenos">455</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
||||||
</span><span id="ensure_column_mapping-455"><a href="#ensure_column_mapping-455"><span class="linenos">455</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">x</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mapping</span><span class="p">}</span>
|
</span><span id="ensure_column_mapping-456"><a href="#ensure_column_mapping-456"><span class="linenos">456</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">x</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mapping</span><span class="p">}</span>
|
||||||
</span><span id="ensure_column_mapping-456"><a href="#ensure_column_mapping-456"><span class="linenos">456</span></a>
|
</span><span id="ensure_column_mapping-457"><a href="#ensure_column_mapping-457"><span class="linenos">457</span></a>
|
||||||
</span><span id="ensure_column_mapping-457"><a href="#ensure_column_mapping-457"><span class="linenos">457</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Invalid mapping provided: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">mapping</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="ensure_column_mapping-458"><a href="#ensure_column_mapping-458"><span class="linenos">458</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Invalid mapping provided: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">mapping</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1805,19 +1807,19 @@ are assumed to be visible. The nesting should mirror that of the schema:
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#flatten_schema"></a>
|
<a class="headerlink" href="#flatten_schema"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="flatten_schema-460"><a href="#flatten_schema-460"><span class="linenos">460</span></a><span class="k">def</span> <span class="nf">flatten_schema</span><span class="p">(</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="flatten_schema-461"><a href="#flatten_schema-461"><span class="linenos">461</span></a><span class="k">def</span> <span class="nf">flatten_schema</span><span class="p">(</span>
|
||||||
</span><span id="flatten_schema-461"><a href="#flatten_schema-461"><span class="linenos">461</span></a> <span class="n">schema</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="n">depth</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">keys</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">List</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="flatten_schema-462"><a href="#flatten_schema-462"><span class="linenos">462</span></a> <span class="n">schema</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="n">depth</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">keys</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">List</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="flatten_schema-462"><a href="#flatten_schema-462"><span class="linenos">462</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]:</span>
|
</span><span id="flatten_schema-463"><a href="#flatten_schema-463"><span class="linenos">463</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]:</span>
|
||||||
</span><span id="flatten_schema-463"><a href="#flatten_schema-463"><span class="linenos">463</span></a> <span class="n">tables</span> <span class="o">=</span> <span class="p">[]</span>
|
</span><span id="flatten_schema-464"><a href="#flatten_schema-464"><span class="linenos">464</span></a> <span class="n">tables</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
</span><span id="flatten_schema-464"><a href="#flatten_schema-464"><span class="linenos">464</span></a> <span class="n">keys</span> <span class="o">=</span> <span class="n">keys</span> <span class="ow">or</span> <span class="p">[]</span>
|
</span><span id="flatten_schema-465"><a href="#flatten_schema-465"><span class="linenos">465</span></a> <span class="n">keys</span> <span class="o">=</span> <span class="n">keys</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||||
</span><span id="flatten_schema-465"><a href="#flatten_schema-465"><span class="linenos">465</span></a>
|
</span><span id="flatten_schema-466"><a href="#flatten_schema-466"><span class="linenos">466</span></a>
|
||||||
</span><span id="flatten_schema-466"><a href="#flatten_schema-466"><span class="linenos">466</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">schema</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
</span><span id="flatten_schema-467"><a href="#flatten_schema-467"><span class="linenos">467</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">schema</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||||
</span><span id="flatten_schema-467"><a href="#flatten_schema-467"><span class="linenos">467</span></a> <span class="k">if</span> <span class="n">depth</span> <span class="o">>=</span> <span class="mi">2</span><span class="p">:</span>
|
</span><span id="flatten_schema-468"><a href="#flatten_schema-468"><span class="linenos">468</span></a> <span class="k">if</span> <span class="n">depth</span> <span class="o">>=</span> <span class="mi">2</span><span class="p">:</span>
|
||||||
</span><span id="flatten_schema-468"><a href="#flatten_schema-468"><span class="linenos">468</span></a> <span class="n">tables</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">flatten_schema</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">depth</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">keys</span> <span class="o">+</span> <span class="p">[</span><span class="n">k</span><span class="p">]))</span>
|
</span><span id="flatten_schema-469"><a href="#flatten_schema-469"><span class="linenos">469</span></a> <span class="n">tables</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">flatten_schema</span><span class="p">(</span><span class="n">v</span><span class="p">,</span> <span class="n">depth</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">keys</span> <span class="o">+</span> <span class="p">[</span><span class="n">k</span><span class="p">]))</span>
|
||||||
</span><span id="flatten_schema-469"><a href="#flatten_schema-469"><span class="linenos">469</span></a> <span class="k">elif</span> <span class="n">depth</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
</span><span id="flatten_schema-470"><a href="#flatten_schema-470"><span class="linenos">470</span></a> <span class="k">elif</span> <span class="n">depth</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||||
</span><span id="flatten_schema-470"><a href="#flatten_schema-470"><span class="linenos">470</span></a> <span class="n">tables</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">keys</span> <span class="o">+</span> <span class="p">[</span><span class="n">k</span><span class="p">])</span>
|
</span><span id="flatten_schema-471"><a href="#flatten_schema-471"><span class="linenos">471</span></a> <span class="n">tables</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">keys</span> <span class="o">+</span> <span class="p">[</span><span class="n">k</span><span class="p">])</span>
|
||||||
</span><span id="flatten_schema-471"><a href="#flatten_schema-471"><span class="linenos">471</span></a>
|
</span><span id="flatten_schema-472"><a href="#flatten_schema-472"><span class="linenos">472</span></a>
|
||||||
</span><span id="flatten_schema-472"><a href="#flatten_schema-472"><span class="linenos">472</span></a> <span class="k">return</span> <span class="n">tables</span>
|
</span><span id="flatten_schema-473"><a href="#flatten_schema-473"><span class="linenos">473</span></a> <span class="k">return</span> <span class="n">tables</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1835,30 +1837,30 @@ are assumed to be visible. The nesting should mirror that of the schema:
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#nested_get"></a>
|
<a class="headerlink" href="#nested_get"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="nested_get-475"><a href="#nested_get-475"><span class="linenos">475</span></a><span class="k">def</span> <span class="nf">nested_get</span><span class="p">(</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="nested_get-476"><a href="#nested_get-476"><span class="linenos">476</span></a><span class="k">def</span> <span class="nf">nested_get</span><span class="p">(</span>
|
||||||
</span><span id="nested_get-476"><a href="#nested_get-476"><span class="linenos">476</span></a> <span class="n">d</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="o">*</span><span class="n">path</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">raise_on_missing</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
|
</span><span id="nested_get-477"><a href="#nested_get-477"><span class="linenos">477</span></a> <span class="n">d</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="o">*</span><span class="n">path</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">raise_on_missing</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>
|
||||||
</span><span id="nested_get-477"><a href="#nested_get-477"><span class="linenos">477</span></a><span class="p">)</span> <span class="o">-></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">Any</span><span class="p">]:</span>
|
</span><span id="nested_get-478"><a href="#nested_get-478"><span class="linenos">478</span></a><span class="p">)</span> <span class="o">-></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">Any</span><span class="p">]:</span>
|
||||||
</span><span id="nested_get-478"><a href="#nested_get-478"><span class="linenos">478</span></a><span class="w"> </span><span class="sd">"""</span>
|
</span><span id="nested_get-479"><a href="#nested_get-479"><span class="linenos">479</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||||
</span><span id="nested_get-479"><a href="#nested_get-479"><span class="linenos">479</span></a><span class="sd"> Get a value for a nested dictionary.</span>
|
</span><span id="nested_get-480"><a href="#nested_get-480"><span class="linenos">480</span></a><span class="sd"> Get a value for a nested dictionary.</span>
|
||||||
</span><span id="nested_get-480"><a href="#nested_get-480"><span class="linenos">480</span></a>
|
</span><span id="nested_get-481"><a href="#nested_get-481"><span class="linenos">481</span></a>
|
||||||
</span><span id="nested_get-481"><a href="#nested_get-481"><span class="linenos">481</span></a><span class="sd"> Args:</span>
|
</span><span id="nested_get-482"><a href="#nested_get-482"><span class="linenos">482</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="nested_get-482"><a href="#nested_get-482"><span class="linenos">482</span></a><span class="sd"> d: the dictionary to search.</span>
|
</span><span id="nested_get-483"><a href="#nested_get-483"><span class="linenos">483</span></a><span class="sd"> d: the dictionary to search.</span>
|
||||||
</span><span id="nested_get-483"><a href="#nested_get-483"><span class="linenos">483</span></a><span class="sd"> *path: tuples of (name, key), where:</span>
|
</span><span id="nested_get-484"><a href="#nested_get-484"><span class="linenos">484</span></a><span class="sd"> *path: tuples of (name, key), where:</span>
|
||||||
</span><span id="nested_get-484"><a href="#nested_get-484"><span class="linenos">484</span></a><span class="sd"> `key` is the key in the dictionary to get.</span>
|
</span><span id="nested_get-485"><a href="#nested_get-485"><span class="linenos">485</span></a><span class="sd"> `key` is the key in the dictionary to get.</span>
|
||||||
</span><span id="nested_get-485"><a href="#nested_get-485"><span class="linenos">485</span></a><span class="sd"> `name` is a string to use in the error if `key` isn't found.</span>
|
</span><span id="nested_get-486"><a href="#nested_get-486"><span class="linenos">486</span></a><span class="sd"> `name` is a string to use in the error if `key` isn't found.</span>
|
||||||
</span><span id="nested_get-486"><a href="#nested_get-486"><span class="linenos">486</span></a>
|
</span><span id="nested_get-487"><a href="#nested_get-487"><span class="linenos">487</span></a>
|
||||||
</span><span id="nested_get-487"><a href="#nested_get-487"><span class="linenos">487</span></a><span class="sd"> Returns:</span>
|
</span><span id="nested_get-488"><a href="#nested_get-488"><span class="linenos">488</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="nested_get-488"><a href="#nested_get-488"><span class="linenos">488</span></a><span class="sd"> The value or None if it doesn't exist.</span>
|
</span><span id="nested_get-489"><a href="#nested_get-489"><span class="linenos">489</span></a><span class="sd"> The value or None if it doesn't exist.</span>
|
||||||
</span><span id="nested_get-489"><a href="#nested_get-489"><span class="linenos">489</span></a><span class="sd"> """</span>
|
</span><span id="nested_get-490"><a href="#nested_get-490"><span class="linenos">490</span></a><span class="sd"> """</span>
|
||||||
</span><span id="nested_get-490"><a href="#nested_get-490"><span class="linenos">490</span></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">path</span><span class="p">:</span>
|
</span><span id="nested_get-491"><a href="#nested_get-491"><span class="linenos">491</span></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">path</span><span class="p">:</span>
|
||||||
</span><span id="nested_get-491"><a href="#nested_get-491"><span class="linenos">491</span></a> <span class="n">d</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="c1"># type: ignore</span>
|
</span><span id="nested_get-492"><a href="#nested_get-492"><span class="linenos">492</span></a> <span class="n">d</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="c1"># type: ignore</span>
|
||||||
</span><span id="nested_get-492"><a href="#nested_get-492"><span class="linenos">492</span></a> <span class="k">if</span> <span class="n">d</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
</span><span id="nested_get-493"><a href="#nested_get-493"><span class="linenos">493</span></a> <span class="k">if</span> <span class="n">d</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
</span><span id="nested_get-493"><a href="#nested_get-493"><span class="linenos">493</span></a> <span class="k">if</span> <span class="n">raise_on_missing</span><span class="p">:</span>
|
</span><span id="nested_get-494"><a href="#nested_get-494"><span class="linenos">494</span></a> <span class="k">if</span> <span class="n">raise_on_missing</span><span class="p">:</span>
|
||||||
</span><span id="nested_get-494"><a href="#nested_get-494"><span class="linenos">494</span></a> <span class="n">name</span> <span class="o">=</span> <span class="s2">"table"</span> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">"this"</span> <span class="k">else</span> <span class="n">name</span>
|
</span><span id="nested_get-495"><a href="#nested_get-495"><span class="linenos">495</span></a> <span class="n">name</span> <span class="o">=</span> <span class="s2">"table"</span> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">"this"</span> <span class="k">else</span> <span class="n">name</span>
|
||||||
</span><span id="nested_get-495"><a href="#nested_get-495"><span class="linenos">495</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="n">key</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="nested_get-496"><a href="#nested_get-496"><span class="linenos">496</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="n">key</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span><span id="nested_get-496"><a href="#nested_get-496"><span class="linenos">496</span></a> <span class="k">return</span> <span class="kc">None</span>
|
</span><span id="nested_get-497"><a href="#nested_get-497"><span class="linenos">497</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||||
</span><span id="nested_get-497"><a href="#nested_get-497"><span class="linenos">497</span></a>
|
</span><span id="nested_get-498"><a href="#nested_get-498"><span class="linenos">498</span></a>
|
||||||
</span><span id="nested_get-498"><a href="#nested_get-498"><span class="linenos">498</span></a> <span class="k">return</span> <span class="n">d</span>
|
</span><span id="nested_get-499"><a href="#nested_get-499"><span class="linenos">499</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1893,41 +1895,41 @@ are assumed to be visible. The nesting should mirror that of the schema:
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#nested_set"></a>
|
<a class="headerlink" href="#nested_set"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="nested_set-501"><a href="#nested_set-501"><span class="linenos">501</span></a><span class="k">def</span> <span class="nf">nested_set</span><span class="p">(</span><span class="n">d</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="n">keys</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">value</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="nested_set-502"><a href="#nested_set-502"><span class="linenos">502</span></a><span class="k">def</span> <span class="nf">nested_set</span><span class="p">(</span><span class="n">d</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="n">keys</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">value</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Any</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
||||||
</span><span id="nested_set-502"><a href="#nested_set-502"><span class="linenos">502</span></a><span class="w"> </span><span class="sd">"""</span>
|
</span><span id="nested_set-503"><a href="#nested_set-503"><span class="linenos">503</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||||
</span><span id="nested_set-503"><a href="#nested_set-503"><span class="linenos">503</span></a><span class="sd"> In-place set a value for a nested dictionary</span>
|
</span><span id="nested_set-504"><a href="#nested_set-504"><span class="linenos">504</span></a><span class="sd"> In-place set a value for a nested dictionary</span>
|
||||||
</span><span id="nested_set-504"><a href="#nested_set-504"><span class="linenos">504</span></a>
|
</span><span id="nested_set-505"><a href="#nested_set-505"><span class="linenos">505</span></a>
|
||||||
</span><span id="nested_set-505"><a href="#nested_set-505"><span class="linenos">505</span></a><span class="sd"> Example:</span>
|
</span><span id="nested_set-506"><a href="#nested_set-506"><span class="linenos">506</span></a><span class="sd"> Example:</span>
|
||||||
</span><span id="nested_set-506"><a href="#nested_set-506"><span class="linenos">506</span></a><span class="sd"> >>> nested_set({}, ["top_key", "second_key"], "value")</span>
|
</span><span id="nested_set-507"><a href="#nested_set-507"><span class="linenos">507</span></a><span class="sd"> >>> nested_set({}, ["top_key", "second_key"], "value")</span>
|
||||||
</span><span id="nested_set-507"><a href="#nested_set-507"><span class="linenos">507</span></a><span class="sd"> {'top_key': {'second_key': 'value'}}</span>
|
</span><span id="nested_set-508"><a href="#nested_set-508"><span class="linenos">508</span></a><span class="sd"> {'top_key': {'second_key': 'value'}}</span>
|
||||||
</span><span id="nested_set-508"><a href="#nested_set-508"><span class="linenos">508</span></a>
|
</span><span id="nested_set-509"><a href="#nested_set-509"><span class="linenos">509</span></a>
|
||||||
</span><span id="nested_set-509"><a href="#nested_set-509"><span class="linenos">509</span></a><span class="sd"> >>> nested_set({"top_key": {"third_key": "third_value"}}, ["top_key", "second_key"], "value")</span>
|
</span><span id="nested_set-510"><a href="#nested_set-510"><span class="linenos">510</span></a><span class="sd"> >>> nested_set({"top_key": {"third_key": "third_value"}}, ["top_key", "second_key"], "value")</span>
|
||||||
</span><span id="nested_set-510"><a href="#nested_set-510"><span class="linenos">510</span></a><span class="sd"> {'top_key': {'third_key': 'third_value', 'second_key': 'value'}}</span>
|
</span><span id="nested_set-511"><a href="#nested_set-511"><span class="linenos">511</span></a><span class="sd"> {'top_key': {'third_key': 'third_value', 'second_key': 'value'}}</span>
|
||||||
</span><span id="nested_set-511"><a href="#nested_set-511"><span class="linenos">511</span></a>
|
</span><span id="nested_set-512"><a href="#nested_set-512"><span class="linenos">512</span></a>
|
||||||
</span><span id="nested_set-512"><a href="#nested_set-512"><span class="linenos">512</span></a><span class="sd"> Args:</span>
|
</span><span id="nested_set-513"><a href="#nested_set-513"><span class="linenos">513</span></a><span class="sd"> Args:</span>
|
||||||
</span><span id="nested_set-513"><a href="#nested_set-513"><span class="linenos">513</span></a><span class="sd"> d: dictionary to update.</span>
|
</span><span id="nested_set-514"><a href="#nested_set-514"><span class="linenos">514</span></a><span class="sd"> d: dictionary to update.</span>
|
||||||
</span><span id="nested_set-514"><a href="#nested_set-514"><span class="linenos">514</span></a><span class="sd"> keys: the keys that makeup the path to `value`.</span>
|
</span><span id="nested_set-515"><a href="#nested_set-515"><span class="linenos">515</span></a><span class="sd"> keys: the keys that makeup the path to `value`.</span>
|
||||||
</span><span id="nested_set-515"><a href="#nested_set-515"><span class="linenos">515</span></a><span class="sd"> value: the value to set in the dictionary for the given key path.</span>
|
</span><span id="nested_set-516"><a href="#nested_set-516"><span class="linenos">516</span></a><span class="sd"> value: the value to set in the dictionary for the given key path.</span>
|
||||||
</span><span id="nested_set-516"><a href="#nested_set-516"><span class="linenos">516</span></a>
|
</span><span id="nested_set-517"><a href="#nested_set-517"><span class="linenos">517</span></a>
|
||||||
</span><span id="nested_set-517"><a href="#nested_set-517"><span class="linenos">517</span></a><span class="sd"> Returns:</span>
|
</span><span id="nested_set-518"><a href="#nested_set-518"><span class="linenos">518</span></a><span class="sd"> Returns:</span>
|
||||||
</span><span id="nested_set-518"><a href="#nested_set-518"><span class="linenos">518</span></a><span class="sd"> The (possibly) updated dictionary.</span>
|
</span><span id="nested_set-519"><a href="#nested_set-519"><span class="linenos">519</span></a><span class="sd"> The (possibly) updated dictionary.</span>
|
||||||
</span><span id="nested_set-519"><a href="#nested_set-519"><span class="linenos">519</span></a><span class="sd"> """</span>
|
</span><span id="nested_set-520"><a href="#nested_set-520"><span class="linenos">520</span></a><span class="sd"> """</span>
|
||||||
</span><span id="nested_set-520"><a href="#nested_set-520"><span class="linenos">520</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">keys</span><span class="p">:</span>
|
</span><span id="nested_set-521"><a href="#nested_set-521"><span class="linenos">521</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">keys</span><span class="p">:</span>
|
||||||
</span><span id="nested_set-521"><a href="#nested_set-521"><span class="linenos">521</span></a> <span class="k">return</span> <span class="n">d</span>
|
</span><span id="nested_set-522"><a href="#nested_set-522"><span class="linenos">522</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||||
</span><span id="nested_set-522"><a href="#nested_set-522"><span class="linenos">522</span></a>
|
</span><span id="nested_set-523"><a href="#nested_set-523"><span class="linenos">523</span></a>
|
||||||
</span><span id="nested_set-523"><a href="#nested_set-523"><span class="linenos">523</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">keys</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
</span><span id="nested_set-524"><a href="#nested_set-524"><span class="linenos">524</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">keys</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||||
</span><span id="nested_set-524"><a href="#nested_set-524"><span class="linenos">524</span></a> <span class="n">d</span><span class="p">[</span><span class="n">keys</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">value</span>
|
</span><span id="nested_set-525"><a href="#nested_set-525"><span class="linenos">525</span></a> <span class="n">d</span><span class="p">[</span><span class="n">keys</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">value</span>
|
||||||
</span><span id="nested_set-525"><a href="#nested_set-525"><span class="linenos">525</span></a> <span class="k">return</span> <span class="n">d</span>
|
</span><span id="nested_set-526"><a href="#nested_set-526"><span class="linenos">526</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||||
</span><span id="nested_set-526"><a href="#nested_set-526"><span class="linenos">526</span></a>
|
</span><span id="nested_set-527"><a href="#nested_set-527"><span class="linenos">527</span></a>
|
||||||
</span><span id="nested_set-527"><a href="#nested_set-527"><span class="linenos">527</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">d</span>
|
</span><span id="nested_set-528"><a href="#nested_set-528"><span class="linenos">528</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">d</span>
|
||||||
</span><span id="nested_set-528"><a href="#nested_set-528"><span class="linenos">528</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
</span><span id="nested_set-529"><a href="#nested_set-529"><span class="linenos">529</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keys</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span>
|
||||||
</span><span id="nested_set-529"><a href="#nested_set-529"><span class="linenos">529</span></a> <span class="k">if</span> <span class="n">key</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">subd</span><span class="p">:</span>
|
</span><span id="nested_set-530"><a href="#nested_set-530"><span class="linenos">530</span></a> <span class="k">if</span> <span class="n">key</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">subd</span><span class="p">:</span>
|
||||||
</span><span id="nested_set-530"><a href="#nested_set-530"><span class="linenos">530</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">subd</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">{})</span>
|
</span><span id="nested_set-531"><a href="#nested_set-531"><span class="linenos">531</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">subd</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">{})</span>
|
||||||
</span><span id="nested_set-531"><a href="#nested_set-531"><span class="linenos">531</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="nested_set-532"><a href="#nested_set-532"><span class="linenos">532</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="nested_set-532"><a href="#nested_set-532"><span class="linenos">532</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">subd</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
|
</span><span id="nested_set-533"><a href="#nested_set-533"><span class="linenos">533</span></a> <span class="n">subd</span> <span class="o">=</span> <span class="n">subd</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
|
||||||
</span><span id="nested_set-533"><a href="#nested_set-533"><span class="linenos">533</span></a>
|
</span><span id="nested_set-534"><a href="#nested_set-534"><span class="linenos">534</span></a>
|
||||||
</span><span id="nested_set-534"><a href="#nested_set-534"><span class="linenos">534</span></a> <span class="n">subd</span><span class="p">[</span><span class="n">keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">value</span>
|
</span><span id="nested_set-535"><a href="#nested_set-535"><span class="linenos">535</span></a> <span class="n">subd</span><span class="p">[</span><span class="n">keys</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">value</span>
|
||||||
</span><span id="nested_set-535"><a href="#nested_set-535"><span class="linenos">535</span></a> <span class="k">return</span> <span class="n">d</span>
|
</span><span id="nested_set-536"><a href="#nested_set-536"><span class="linenos">536</span></a> <span class="k">return</span> <span class="n">d</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2294,30 +2294,34 @@
|
||||||
</span><span id="L-1168"><a href="#L-1168"><span class="linenos">1168</span></a> <span class="n">escapes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="k">if</span> <span class="n">escapes</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">escapes</span>
|
</span><span id="L-1168"><a href="#L-1168"><span class="linenos">1168</span></a> <span class="n">escapes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="k">if</span> <span class="n">escapes</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">escapes</span>
|
||||||
</span><span id="L-1169"><a href="#L-1169"><span class="linenos">1169</span></a>
|
</span><span id="L-1169"><a href="#L-1169"><span class="linenos">1169</span></a>
|
||||||
</span><span id="L-1170"><a href="#L-1170"><span class="linenos">1170</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="L-1170"><a href="#L-1170"><span class="linenos">1170</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="L-1171"><a href="#L-1171"><span class="linenos">1171</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="n">escapes</span> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="n">escapes</span><span class="p">):</span>
|
</span><span id="L-1171"><a href="#L-1171"><span class="linenos">1171</span></a> <span class="k">if</span> <span class="p">(</span>
|
||||||
</span><span id="L-1172"><a href="#L-1172"><span class="linenos">1172</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
|
</span><span id="L-1172"><a href="#L-1172"><span class="linenos">1172</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="n">escapes</span>
|
||||||
</span><span id="L-1173"><a href="#L-1173"><span class="linenos">1173</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
|
</span><span id="L-1173"><a href="#L-1173"><span class="linenos">1173</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="n">escapes</span><span class="p">)</span>
|
||||||
</span><span id="L-1174"><a href="#L-1174"><span class="linenos">1174</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-1174"><a href="#L-1174"><span class="linenos">1174</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
|
||||||
</span><span id="L-1175"><a href="#L-1175"><span class="linenos">1175</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
|
</span><span id="L-1175"><a href="#L-1175"><span class="linenos">1175</span></a> <span class="p">):</span>
|
||||||
</span><span id="L-1176"><a href="#L-1176"><span class="linenos">1176</span></a>
|
</span><span id="L-1176"><a href="#L-1176"><span class="linenos">1176</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
|
||||||
</span><span id="L-1177"><a href="#L-1177"><span class="linenos">1177</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">1</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
|
</span><span id="L-1177"><a href="#L-1177"><span class="linenos">1177</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
|
||||||
</span><span id="L-1178"><a href="#L-1178"><span class="linenos">1178</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
</span><span id="L-1178"><a href="#L-1178"><span class="linenos">1178</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-1179"><a href="#L-1179"><span class="linenos">1179</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-1179"><a href="#L-1179"><span class="linenos">1179</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
|
||||||
</span><span id="L-1180"><a href="#L-1180"><span class="linenos">1180</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="L-1180"><a href="#L-1180"><span class="linenos">1180</span></a>
|
||||||
</span><span id="L-1181"><a href="#L-1181"><span class="linenos">1181</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="L-1181"><a href="#L-1181"><span class="linenos">1181</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">1</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
|
||||||
</span><span id="L-1182"><a href="#L-1182"><span class="linenos">1182</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">delim_size</span><span class="p">)</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
|
</span><span id="L-1182"><a href="#L-1182"><span class="linenos">1182</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
||||||
</span><span id="L-1183"><a href="#L-1183"><span class="linenos">1183</span></a> <span class="k">if</span> <span class="n">delim_size</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
</span><span id="L-1183"><a href="#L-1183"><span class="linenos">1183</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-1184"><a href="#L-1184"><span class="linenos">1184</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">delim_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
</span><span id="L-1184"><a href="#L-1184"><span class="linenos">1184</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span><span id="L-1185"><a href="#L-1185"><span class="linenos">1185</span></a> <span class="k">break</span>
|
</span><span id="L-1185"><a href="#L-1185"><span class="linenos">1185</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="L-1186"><a href="#L-1186"><span class="linenos">1186</span></a>
|
</span><span id="L-1186"><a href="#L-1186"><span class="linenos">1186</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">delim_size</span><span class="p">)</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
|
||||||
</span><span id="L-1187"><a href="#L-1187"><span class="linenos">1187</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
|
</span><span id="L-1187"><a href="#L-1187"><span class="linenos">1187</span></a> <span class="k">if</span> <span class="n">delim_size</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||||
</span><span id="L-1188"><a href="#L-1188"><span class="linenos">1188</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="L-1188"><a href="#L-1188"><span class="linenos">1188</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">delim_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||||
</span><span id="L-1189"><a href="#L-1189"><span class="linenos">1189</span></a>
|
</span><span id="L-1189"><a href="#L-1189"><span class="linenos">1189</span></a> <span class="k">break</span>
|
||||||
</span><span id="L-1190"><a href="#L-1190"><span class="linenos">1190</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
|
</span><span id="L-1190"><a href="#L-1190"><span class="linenos">1190</span></a>
|
||||||
</span><span id="L-1191"><a href="#L-1191"><span class="linenos">1191</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
</span><span id="L-1191"><a href="#L-1191"><span class="linenos">1191</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
|
||||||
</span><span id="L-1192"><a href="#L-1192"><span class="linenos">1192</span></a> <span class="n">text</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">current</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
|
</span><span id="L-1192"><a href="#L-1192"><span class="linenos">1192</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span><span id="L-1193"><a href="#L-1193"><span class="linenos">1193</span></a>
|
</span><span id="L-1193"><a href="#L-1193"><span class="linenos">1193</span></a>
|
||||||
</span><span id="L-1194"><a href="#L-1194"><span class="linenos">1194</span></a> <span class="k">return</span> <span class="n">text</span>
|
</span><span id="L-1194"><a href="#L-1194"><span class="linenos">1194</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
|
||||||
|
</span><span id="L-1195"><a href="#L-1195"><span class="linenos">1195</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||||
|
</span><span id="L-1196"><a href="#L-1196"><span class="linenos">1196</span></a> <span class="n">text</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">current</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
|
||||||
|
</span><span id="L-1197"><a href="#L-1197"><span class="linenos">1197</span></a>
|
||||||
|
</span><span id="L-1198"><a href="#L-1198"><span class="linenos">1198</span></a> <span class="k">return</span> <span class="n">text</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -7493,30 +7497,34 @@
|
||||||
</span><span id="Tokenizer-1169"><a href="#Tokenizer-1169"><span class="linenos">1169</span></a> <span class="n">escapes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="k">if</span> <span class="n">escapes</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">escapes</span>
|
</span><span id="Tokenizer-1169"><a href="#Tokenizer-1169"><span class="linenos">1169</span></a> <span class="n">escapes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_STRING_ESCAPES</span> <span class="k">if</span> <span class="n">escapes</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">escapes</span>
|
||||||
</span><span id="Tokenizer-1170"><a href="#Tokenizer-1170"><span class="linenos">1170</span></a>
|
</span><span id="Tokenizer-1170"><a href="#Tokenizer-1170"><span class="linenos">1170</span></a>
|
||||||
</span><span id="Tokenizer-1171"><a href="#Tokenizer-1171"><span class="linenos">1171</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
</span><span id="Tokenizer-1171"><a href="#Tokenizer-1171"><span class="linenos">1171</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1172"><a href="#Tokenizer-1172"><span class="linenos">1172</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="n">escapes</span> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="n">escapes</span><span class="p">):</span>
|
</span><span id="Tokenizer-1172"><a href="#Tokenizer-1172"><span class="linenos">1172</span></a> <span class="k">if</span> <span class="p">(</span>
|
||||||
</span><span id="Tokenizer-1173"><a href="#Tokenizer-1173"><span class="linenos">1173</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
|
</span><span id="Tokenizer-1173"><a href="#Tokenizer-1173"><span class="linenos">1173</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">in</span> <span class="n">escapes</span>
|
||||||
</span><span id="Tokenizer-1174"><a href="#Tokenizer-1174"><span class="linenos">1174</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
|
</span><span id="Tokenizer-1174"><a href="#Tokenizer-1174"><span class="linenos">1174</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="ow">in</span> <span class="n">escapes</span><span class="p">)</span>
|
||||||
</span><span id="Tokenizer-1175"><a href="#Tokenizer-1175"><span class="linenos">1175</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="Tokenizer-1175"><a href="#Tokenizer-1175"><span class="linenos">1175</span></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_QUOTES</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span><span class="p">)</span>
|
||||||
</span><span id="Tokenizer-1176"><a href="#Tokenizer-1176"><span class="linenos">1176</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
|
</span><span id="Tokenizer-1176"><a href="#Tokenizer-1176"><span class="linenos">1176</span></a> <span class="p">):</span>
|
||||||
</span><span id="Tokenizer-1177"><a href="#Tokenizer-1177"><span class="linenos">1177</span></a>
|
</span><span id="Tokenizer-1177"><a href="#Tokenizer-1177"><span class="linenos">1177</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1178"><a href="#Tokenizer-1178"><span class="linenos">1178</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">1</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
|
</span><span id="Tokenizer-1178"><a href="#Tokenizer-1178"><span class="linenos">1178</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
|
||||||
</span><span id="Tokenizer-1179"><a href="#Tokenizer-1179"><span class="linenos">1179</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
</span><span id="Tokenizer-1179"><a href="#Tokenizer-1179"><span class="linenos">1179</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1180"><a href="#Tokenizer-1180"><span class="linenos">1180</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="Tokenizer-1180"><a href="#Tokenizer-1180"><span class="linenos">1180</span></a> <span class="n">text</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_char</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_peek</span>
|
||||||
</span><span id="Tokenizer-1181"><a href="#Tokenizer-1181"><span class="linenos">1181</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="Tokenizer-1181"><a href="#Tokenizer-1181"><span class="linenos">1181</span></a>
|
||||||
</span><span id="Tokenizer-1182"><a href="#Tokenizer-1182"><span class="linenos">1182</span></a> <span class="k">else</span><span class="p">:</span>
|
</span><span id="Tokenizer-1182"><a href="#Tokenizer-1182"><span class="linenos">1182</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">+</span> <span class="mi">1</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1183"><a href="#Tokenizer-1183"><span class="linenos">1183</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">delim_size</span><span class="p">)</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
|
</span><span id="Tokenizer-1183"><a href="#Tokenizer-1183"><span class="linenos">1183</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
||||||
</span><span id="Tokenizer-1184"><a href="#Tokenizer-1184"><span class="linenos">1184</span></a> <span class="k">if</span> <span class="n">delim_size</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
</span><span id="Tokenizer-1184"><a href="#Tokenizer-1184"><span class="linenos">1184</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1185"><a href="#Tokenizer-1185"><span class="linenos">1185</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">delim_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
</span><span id="Tokenizer-1185"><a href="#Tokenizer-1185"><span class="linenos">1185</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_current</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span><span id="Tokenizer-1186"><a href="#Tokenizer-1186"><span class="linenos">1186</span></a> <span class="k">break</span>
|
</span><span id="Tokenizer-1186"><a href="#Tokenizer-1186"><span class="linenos">1186</span></a> <span class="k">else</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1187"><a href="#Tokenizer-1187"><span class="linenos">1187</span></a>
|
</span><span id="Tokenizer-1187"><a href="#Tokenizer-1187"><span class="linenos">1187</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_chars</span><span class="p">(</span><span class="n">delim_size</span><span class="p">)</span> <span class="o">==</span> <span class="n">delimiter</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1188"><a href="#Tokenizer-1188"><span class="linenos">1188</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
|
</span><span id="Tokenizer-1188"><a href="#Tokenizer-1188"><span class="linenos">1188</span></a> <span class="k">if</span> <span class="n">delim_size</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1189"><a href="#Tokenizer-1189"><span class="linenos">1189</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="Tokenizer-1189"><a href="#Tokenizer-1189"><span class="linenos">1189</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">delim_size</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||||
</span><span id="Tokenizer-1190"><a href="#Tokenizer-1190"><span class="linenos">1190</span></a>
|
</span><span id="Tokenizer-1190"><a href="#Tokenizer-1190"><span class="linenos">1190</span></a> <span class="k">break</span>
|
||||||
</span><span id="Tokenizer-1191"><a href="#Tokenizer-1191"><span class="linenos">1191</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
|
</span><span id="Tokenizer-1191"><a href="#Tokenizer-1191"><span class="linenos">1191</span></a>
|
||||||
</span><span id="Tokenizer-1192"><a href="#Tokenizer-1192"><span class="linenos">1192</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
</span><span id="Tokenizer-1192"><a href="#Tokenizer-1192"><span class="linenos">1192</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_end</span><span class="p">:</span>
|
||||||
</span><span id="Tokenizer-1193"><a href="#Tokenizer-1193"><span class="linenos">1193</span></a> <span class="n">text</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">current</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
|
</span><span id="Tokenizer-1193"><a href="#Tokenizer-1193"><span class="linenos">1193</span></a> <span class="k">raise</span> <span class="n">TokenError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Missing </span><span class="si">{</span><span class="n">delimiter</span><span class="si">}</span><span class="s2"> from </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_line</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_start</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||||
</span><span id="Tokenizer-1194"><a href="#Tokenizer-1194"><span class="linenos">1194</span></a>
|
</span><span id="Tokenizer-1194"><a href="#Tokenizer-1194"><span class="linenos">1194</span></a>
|
||||||
</span><span id="Tokenizer-1195"><a href="#Tokenizer-1195"><span class="linenos">1195</span></a> <span class="k">return</span> <span class="n">text</span>
|
</span><span id="Tokenizer-1195"><a href="#Tokenizer-1195"><span class="linenos">1195</span></a> <span class="n">current</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span>
|
||||||
|
</span><span id="Tokenizer-1196"><a href="#Tokenizer-1196"><span class="linenos">1196</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_advance</span><span class="p">(</span><span class="n">alnum</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
||||||
|
</span><span id="Tokenizer-1197"><a href="#Tokenizer-1197"><span class="linenos">1197</span></a> <span class="n">text</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">current</span> <span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_current</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
|
||||||
|
</span><span id="Tokenizer-1198"><a href="#Tokenizer-1198"><span class="linenos">1198</span></a>
|
||||||
|
</span><span id="Tokenizer-1199"><a href="#Tokenizer-1199"><span class="linenos">1199</span></a> <span class="k">return</span> <span class="n">text</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -7685,7 +7693,7 @@
|
||||||
<div class="attr variable">
|
<div class="attr variable">
|
||||||
<span class="name">COMMANDS</span> =
|
<span class="name">COMMANDS</span> =
|
||||||
<input id="Tokenizer.COMMANDS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
<input id="Tokenizer.COMMANDS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||||
<label class="view-value-button pdoc-button" for="Tokenizer.COMMANDS-view-value"></label><span class="default_value">{<<a href="#TokenType.FETCH">TokenType.FETCH</a>: 'FETCH'>, <<a href="#TokenType.SHOW">TokenType.SHOW</a>: 'SHOW'>, <<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: 'COMMAND'>, <<a href="#TokenType.EXECUTE">TokenType.EXECUTE</a>: 'EXECUTE'>}</span>
|
<label class="view-value-button pdoc-button" for="Tokenizer.COMMANDS-view-value"></label><span class="default_value">{<<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: 'COMMAND'>, <<a href="#TokenType.FETCH">TokenType.FETCH</a>: 'FETCH'>, <<a href="#TokenType.EXECUTE">TokenType.EXECUTE</a>: 'EXECUTE'>, <<a href="#TokenType.SHOW">TokenType.SHOW</a>: 'SHOW'>}</span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,6 +9,7 @@ from sqlglot._typing import E
|
||||||
from sqlglot.dialects.dialect import (
|
from sqlglot.dialects.dialect import (
|
||||||
Dialect,
|
Dialect,
|
||||||
binary_from_function,
|
binary_from_function,
|
||||||
|
date_add_interval_sql,
|
||||||
datestrtodate_sql,
|
datestrtodate_sql,
|
||||||
format_time_lambda,
|
format_time_lambda,
|
||||||
inline_array_sql,
|
inline_array_sql,
|
||||||
|
@ -28,19 +29,6 @@ from sqlglot.tokens import TokenType
|
||||||
logger = logging.getLogger("sqlglot")
|
logger = logging.getLogger("sqlglot")
|
||||||
|
|
||||||
|
|
||||||
def _date_add_sql(
|
|
||||||
data_type: str, kind: str
|
|
||||||
) -> t.Callable[[BigQuery.Generator, exp.Expression], str]:
|
|
||||||
def func(self: BigQuery.Generator, expression: exp.Expression) -> str:
|
|
||||||
this = self.sql(expression, "this")
|
|
||||||
unit = expression.args.get("unit")
|
|
||||||
unit = exp.var(unit.name.upper() if unit else "DAY")
|
|
||||||
interval = exp.Interval(this=expression.expression.copy(), unit=unit)
|
|
||||||
return f"{data_type}_{kind}({this}, {self.sql(interval)})"
|
|
||||||
|
|
||||||
return func
|
|
||||||
|
|
||||||
|
|
||||||
def _derived_table_values_to_unnest(self: BigQuery.Generator, expression: exp.Values) -> str:
|
def _derived_table_values_to_unnest(self: BigQuery.Generator, expression: exp.Values) -> str:
|
||||||
if not expression.find_ancestor(exp.From, exp.Join):
|
if not expression.find_ancestor(exp.From, exp.Join):
|
||||||
return self.values_sql(expression)
|
return self.values_sql(expression)
|
||||||
|
@ -187,6 +175,7 @@ def _parse_to_hex(args: t.List) -> exp.Hex | exp.MD5:
|
||||||
|
|
||||||
class BigQuery(Dialect):
|
class BigQuery(Dialect):
|
||||||
UNNEST_COLUMN_ONLY = True
|
UNNEST_COLUMN_ONLY = True
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
# https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#case_sensitivity
|
# https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#case_sensitivity
|
||||||
RESOLVES_IDENTIFIERS_AS_UPPERCASE = None
|
RESOLVES_IDENTIFIERS_AS_UPPERCASE = None
|
||||||
|
@ -278,8 +267,6 @@ class BigQuery(Dialect):
|
||||||
LOG_BASE_FIRST = False
|
LOG_BASE_FIRST = False
|
||||||
LOG_DEFAULTS_TO_LN = True
|
LOG_DEFAULTS_TO_LN = True
|
||||||
|
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
||||||
FUNCTIONS = {
|
FUNCTIONS = {
|
||||||
**parser.Parser.FUNCTIONS,
|
**parser.Parser.FUNCTIONS,
|
||||||
"DATE": _parse_date,
|
"DATE": _parse_date,
|
||||||
|
@ -436,13 +423,13 @@ class BigQuery(Dialect):
|
||||||
exp.Cast: transforms.preprocess([transforms.remove_precision_parameterized_types]),
|
exp.Cast: transforms.preprocess([transforms.remove_precision_parameterized_types]),
|
||||||
exp.Create: _create_sql,
|
exp.Create: _create_sql,
|
||||||
exp.CTE: transforms.preprocess([_pushdown_cte_column_names]),
|
exp.CTE: transforms.preprocess([_pushdown_cte_column_names]),
|
||||||
exp.DateAdd: _date_add_sql("DATE", "ADD"),
|
exp.DateAdd: date_add_interval_sql("DATE", "ADD"),
|
||||||
exp.DateDiff: lambda self, e: f"DATE_DIFF({self.sql(e, 'this')}, {self.sql(e, 'expression')}, {self.sql(e.args.get('unit', 'DAY'))})",
|
exp.DateDiff: lambda self, e: f"DATE_DIFF({self.sql(e, 'this')}, {self.sql(e, 'expression')}, {self.sql(e.args.get('unit', 'DAY'))})",
|
||||||
exp.DateFromParts: rename_func("DATE"),
|
exp.DateFromParts: rename_func("DATE"),
|
||||||
exp.DateStrToDate: datestrtodate_sql,
|
exp.DateStrToDate: datestrtodate_sql,
|
||||||
exp.DateSub: _date_add_sql("DATE", "SUB"),
|
exp.DateSub: date_add_interval_sql("DATE", "SUB"),
|
||||||
exp.DatetimeAdd: _date_add_sql("DATETIME", "ADD"),
|
exp.DatetimeAdd: date_add_interval_sql("DATETIME", "ADD"),
|
||||||
exp.DatetimeSub: _date_add_sql("DATETIME", "SUB"),
|
exp.DatetimeSub: date_add_interval_sql("DATETIME", "SUB"),
|
||||||
exp.DateTrunc: lambda self, e: self.func("DATE_TRUNC", e.this, e.text("unit")),
|
exp.DateTrunc: lambda self, e: self.func("DATE_TRUNC", e.this, e.text("unit")),
|
||||||
exp.GenerateSeries: rename_func("GENERATE_ARRAY"),
|
exp.GenerateSeries: rename_func("GENERATE_ARRAY"),
|
||||||
exp.GroupConcat: rename_func("STRING_AGG"),
|
exp.GroupConcat: rename_func("STRING_AGG"),
|
||||||
|
@ -484,13 +471,13 @@ class BigQuery(Dialect):
|
||||||
exp.StrToTime: lambda self, e: self.func(
|
exp.StrToTime: lambda self, e: self.func(
|
||||||
"PARSE_TIMESTAMP", self.format_time(e), e.this, e.args.get("zone")
|
"PARSE_TIMESTAMP", self.format_time(e), e.this, e.args.get("zone")
|
||||||
),
|
),
|
||||||
exp.TimeAdd: _date_add_sql("TIME", "ADD"),
|
exp.TimeAdd: date_add_interval_sql("TIME", "ADD"),
|
||||||
exp.TimeSub: _date_add_sql("TIME", "SUB"),
|
exp.TimeSub: date_add_interval_sql("TIME", "SUB"),
|
||||||
exp.TimestampAdd: _date_add_sql("TIMESTAMP", "ADD"),
|
exp.TimestampAdd: date_add_interval_sql("TIMESTAMP", "ADD"),
|
||||||
exp.TimestampSub: _date_add_sql("TIMESTAMP", "SUB"),
|
exp.TimestampSub: date_add_interval_sql("TIMESTAMP", "SUB"),
|
||||||
exp.TimeStrToTime: timestrtotime_sql,
|
exp.TimeStrToTime: timestrtotime_sql,
|
||||||
exp.Trim: lambda self, e: self.func(f"TRIM", e.this, e.expression),
|
exp.Trim: lambda self, e: self.func(f"TRIM", e.this, e.expression),
|
||||||
exp.TsOrDsAdd: _date_add_sql("DATE", "ADD"),
|
exp.TsOrDsAdd: date_add_interval_sql("DATE", "ADD"),
|
||||||
exp.TsOrDsToDate: ts_or_ds_to_date_sql("bigquery"),
|
exp.TsOrDsToDate: ts_or_ds_to_date_sql("bigquery"),
|
||||||
exp.Unhex: rename_func("FROM_HEX"),
|
exp.Unhex: rename_func("FROM_HEX"),
|
||||||
exp.Values: _derived_table_values_to_unnest,
|
exp.Values: _derived_table_values_to_unnest,
|
||||||
|
@ -640,13 +627,6 @@ class BigQuery(Dialect):
|
||||||
|
|
||||||
return super().attimezone_sql(expression)
|
return super().attimezone_sql(expression)
|
||||||
|
|
||||||
def cast_sql(self, expression: exp.Cast, safe_prefix: t.Optional[str] = None) -> str:
|
|
||||||
# https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#json_literals
|
|
||||||
if expression.is_type("json"):
|
|
||||||
return f"JSON {self.sql(expression, 'this')}"
|
|
||||||
|
|
||||||
return super().cast_sql(expression, safe_prefix=safe_prefix)
|
|
||||||
|
|
||||||
def trycast_sql(self, expression: exp.TryCast) -> str:
|
def trycast_sql(self, expression: exp.TryCast) -> str:
|
||||||
return self.cast_sql(expression, safe_prefix="SAFE_")
|
return self.cast_sql(expression, safe_prefix="SAFE_")
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ class ClickHouse(Dialect):
|
||||||
NORMALIZE_FUNCTIONS: bool | str = False
|
NORMALIZE_FUNCTIONS: bool | str = False
|
||||||
NULL_ORDERING = "nulls_are_last"
|
NULL_ORDERING = "nulls_are_last"
|
||||||
STRICT_STRING_CONCAT = True
|
STRICT_STRING_CONCAT = True
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
class Tokenizer(tokens.Tokenizer):
|
class Tokenizer(tokens.Tokenizer):
|
||||||
COMMENTS = ["--", "#", "#!", ("/*", "*/")]
|
COMMENTS = ["--", "#", "#!", ("/*", "*/")]
|
||||||
|
@ -64,8 +65,6 @@ class ClickHouse(Dialect):
|
||||||
}
|
}
|
||||||
|
|
||||||
class Parser(parser.Parser):
|
class Parser(parser.Parser):
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
||||||
FUNCTIONS = {
|
FUNCTIONS = {
|
||||||
**parser.Parser.FUNCTIONS,
|
**parser.Parser.FUNCTIONS,
|
||||||
"ANY": exp.AnyValue.from_arg_list,
|
"ANY": exp.AnyValue.from_arg_list,
|
||||||
|
|
|
@ -153,6 +153,9 @@ class Dialect(metaclass=_Dialect):
|
||||||
# Determines whether or not CONCAT's arguments must be strings
|
# Determines whether or not CONCAT's arguments must be strings
|
||||||
STRICT_STRING_CONCAT = False
|
STRICT_STRING_CONCAT = False
|
||||||
|
|
||||||
|
# Determines whether or not user-defined data types are supported
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = True
|
||||||
|
|
||||||
# Determines how function names are going to be normalized
|
# Determines how function names are going to be normalized
|
||||||
NORMALIZE_FUNCTIONS: bool | str = "upper"
|
NORMALIZE_FUNCTIONS: bool | str = "upper"
|
||||||
|
|
||||||
|
@ -546,6 +549,19 @@ def date_trunc_to_time(args: t.List) -> exp.DateTrunc | exp.TimestampTrunc:
|
||||||
return exp.TimestampTrunc(this=this, unit=unit)
|
return exp.TimestampTrunc(this=this, unit=unit)
|
||||||
|
|
||||||
|
|
||||||
|
def date_add_interval_sql(
|
||||||
|
data_type: str, kind: str
|
||||||
|
) -> t.Callable[[Generator, exp.Expression], str]:
|
||||||
|
def func(self: Generator, expression: exp.Expression) -> str:
|
||||||
|
this = self.sql(expression, "this")
|
||||||
|
unit = expression.args.get("unit")
|
||||||
|
unit = exp.var(unit.name.upper() if unit else "DAY")
|
||||||
|
interval = exp.Interval(this=expression.expression.copy(), unit=unit)
|
||||||
|
return f"{data_type}_{kind}({this}, {self.sql(interval)})"
|
||||||
|
|
||||||
|
return func
|
||||||
|
|
||||||
|
|
||||||
def timestamptrunc_sql(self: Generator, expression: exp.TimestampTrunc) -> str:
|
def timestamptrunc_sql(self: Generator, expression: exp.TimestampTrunc) -> str:
|
||||||
return self.func(
|
return self.func(
|
||||||
"DATE_TRUNC", exp.Literal.string(expression.text("unit") or "day"), expression.this
|
"DATE_TRUNC", exp.Literal.string(expression.text("unit") or "day"), expression.this
|
||||||
|
@ -736,5 +752,15 @@ def any_value_to_max_sql(self: Generator, expression: exp.AnyValue) -> str:
|
||||||
|
|
||||||
|
|
||||||
# Used to generate JSON_OBJECT with a comma in BigQuery and MySQL instead of colon
|
# Used to generate JSON_OBJECT with a comma in BigQuery and MySQL instead of colon
|
||||||
def json_keyvalue_comma_sql(self, expression: exp.JSONKeyValue) -> str:
|
def json_keyvalue_comma_sql(self: Generator, expression: exp.JSONKeyValue) -> str:
|
||||||
return f"{self.sql(expression, 'this')}, {self.sql(expression, 'expression')}"
|
return f"{self.sql(expression, 'this')}, {self.sql(expression, 'expression')}"
|
||||||
|
|
||||||
|
|
||||||
|
def is_parse_json(expression: exp.Expression) -> bool:
|
||||||
|
return isinstance(expression, exp.ParseJSON) or (
|
||||||
|
isinstance(expression, exp.Cast) and expression.is_type("json")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def isnull_to_is_null(args: t.List) -> exp.Expression:
|
||||||
|
return exp.Paren(this=exp.Is(this=seq_get(args, 0), expression=exp.null()))
|
||||||
|
|
|
@ -39,6 +39,7 @@ class Drill(Dialect):
|
||||||
DATE_FORMAT = "'yyyy-MM-dd'"
|
DATE_FORMAT = "'yyyy-MM-dd'"
|
||||||
DATEINT_FORMAT = "'yyyyMMdd'"
|
DATEINT_FORMAT = "'yyyyMMdd'"
|
||||||
TIME_FORMAT = "'yyyy-MM-dd HH:mm:ss'"
|
TIME_FORMAT = "'yyyy-MM-dd HH:mm:ss'"
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
TIME_MAPPING = {
|
TIME_MAPPING = {
|
||||||
"y": "%Y",
|
"y": "%Y",
|
||||||
|
@ -80,7 +81,6 @@ class Drill(Dialect):
|
||||||
class Parser(parser.Parser):
|
class Parser(parser.Parser):
|
||||||
STRICT_CAST = False
|
STRICT_CAST = False
|
||||||
CONCAT_NULL_OUTPUTS_STRING = True
|
CONCAT_NULL_OUTPUTS_STRING = True
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
||||||
FUNCTIONS = {
|
FUNCTIONS = {
|
||||||
**parser.Parser.FUNCTIONS,
|
**parser.Parser.FUNCTIONS,
|
||||||
|
|
|
@ -105,6 +105,7 @@ def _json_format_sql(self: DuckDB.Generator, expression: exp.JSONFormat) -> str:
|
||||||
|
|
||||||
class DuckDB(Dialect):
|
class DuckDB(Dialect):
|
||||||
NULL_ORDERING = "nulls_are_last"
|
NULL_ORDERING = "nulls_are_last"
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
# https://duckdb.org/docs/sql/introduction.html#creating-a-new-table
|
# https://duckdb.org/docs/sql/introduction.html#creating-a-new-table
|
||||||
RESOLVES_IDENTIFIERS_AS_UPPERCASE = None
|
RESOLVES_IDENTIFIERS_AS_UPPERCASE = None
|
||||||
|
@ -135,7 +136,6 @@ class DuckDB(Dialect):
|
||||||
|
|
||||||
class Parser(parser.Parser):
|
class Parser(parser.Parser):
|
||||||
CONCAT_NULL_OUTPUTS_STRING = True
|
CONCAT_NULL_OUTPUTS_STRING = True
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
||||||
BITWISE = {
|
BITWISE = {
|
||||||
**parser.Parser.BITWISE,
|
**parser.Parser.BITWISE,
|
||||||
|
@ -158,6 +158,11 @@ class DuckDB(Dialect):
|
||||||
"LIST_REVERSE_SORT": _sort_array_reverse,
|
"LIST_REVERSE_SORT": _sort_array_reverse,
|
||||||
"LIST_SORT": exp.SortArray.from_arg_list,
|
"LIST_SORT": exp.SortArray.from_arg_list,
|
||||||
"LIST_VALUE": exp.Array.from_arg_list,
|
"LIST_VALUE": exp.Array.from_arg_list,
|
||||||
|
"MEDIAN": lambda args: exp.PercentileCont(
|
||||||
|
this=seq_get(args, 0), expression=exp.Literal.number(0.5)
|
||||||
|
),
|
||||||
|
"QUANTILE_CONT": exp.PercentileCont.from_arg_list,
|
||||||
|
"QUANTILE_DISC": exp.PercentileDisc.from_arg_list,
|
||||||
"REGEXP_EXTRACT": lambda args: exp.RegexpExtract(
|
"REGEXP_EXTRACT": lambda args: exp.RegexpExtract(
|
||||||
this=seq_get(args, 0), expression=seq_get(args, 1), group=seq_get(args, 2)
|
this=seq_get(args, 0), expression=seq_get(args, 1), group=seq_get(args, 2)
|
||||||
),
|
),
|
||||||
|
@ -266,6 +271,9 @@ class DuckDB(Dialect):
|
||||||
exp.cast(e.expression, "timestamp", copy=True),
|
exp.cast(e.expression, "timestamp", copy=True),
|
||||||
exp.cast(e.this, "timestamp", copy=True),
|
exp.cast(e.this, "timestamp", copy=True),
|
||||||
),
|
),
|
||||||
|
exp.ParseJSON: rename_func("JSON"),
|
||||||
|
exp.PercentileCont: rename_func("QUANTILE_CONT"),
|
||||||
|
exp.PercentileDisc: rename_func("QUANTILE_DISC"),
|
||||||
exp.Properties: no_properties_sql,
|
exp.Properties: no_properties_sql,
|
||||||
exp.RegexpExtract: regexp_extract_sql,
|
exp.RegexpExtract: regexp_extract_sql,
|
||||||
exp.RegexpReplace: regexp_replace_sql,
|
exp.RegexpReplace: regexp_replace_sql,
|
||||||
|
|
|
@ -9,6 +9,7 @@ from sqlglot.dialects.dialect import (
|
||||||
create_with_partitions_sql,
|
create_with_partitions_sql,
|
||||||
format_time_lambda,
|
format_time_lambda,
|
||||||
if_sql,
|
if_sql,
|
||||||
|
is_parse_json,
|
||||||
left_to_substring_sql,
|
left_to_substring_sql,
|
||||||
locate_to_strposition,
|
locate_to_strposition,
|
||||||
max_or_greatest,
|
max_or_greatest,
|
||||||
|
@ -89,7 +90,7 @@ def _date_diff_sql(self: Hive.Generator, expression: exp.DateDiff) -> str:
|
||||||
|
|
||||||
def _json_format_sql(self: Hive.Generator, expression: exp.JSONFormat) -> str:
|
def _json_format_sql(self: Hive.Generator, expression: exp.JSONFormat) -> str:
|
||||||
this = expression.this
|
this = expression.this
|
||||||
if isinstance(this, exp.Cast) and this.is_type("json") and this.this.is_string:
|
if is_parse_json(this) and this.this.is_string:
|
||||||
# Since FROM_JSON requires a nested type, we always wrap the json string with
|
# Since FROM_JSON requires a nested type, we always wrap the json string with
|
||||||
# an array to ensure that "naked" strings like "'a'" will be handled correctly
|
# an array to ensure that "naked" strings like "'a'" will be handled correctly
|
||||||
wrapped_json = exp.Literal.string(f"[{this.this.name}]")
|
wrapped_json = exp.Literal.string(f"[{this.this.name}]")
|
||||||
|
@ -150,6 +151,7 @@ def _to_date_sql(self: Hive.Generator, expression: exp.TsOrDsToDate) -> str:
|
||||||
class Hive(Dialect):
|
class Hive(Dialect):
|
||||||
ALIAS_POST_TABLESAMPLE = True
|
ALIAS_POST_TABLESAMPLE = True
|
||||||
IDENTIFIERS_CAN_START_WITH_DIGIT = True
|
IDENTIFIERS_CAN_START_WITH_DIGIT = True
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
# https://spark.apache.org/docs/latest/sql-ref-identifier.html#description
|
# https://spark.apache.org/docs/latest/sql-ref-identifier.html#description
|
||||||
RESOLVES_IDENTIFIERS_AS_UPPERCASE = None
|
RESOLVES_IDENTIFIERS_AS_UPPERCASE = None
|
||||||
|
@ -222,7 +224,6 @@ class Hive(Dialect):
|
||||||
class Parser(parser.Parser):
|
class Parser(parser.Parser):
|
||||||
LOG_DEFAULTS_TO_LN = True
|
LOG_DEFAULTS_TO_LN = True
|
||||||
STRICT_CAST = False
|
STRICT_CAST = False
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
||||||
FUNCTIONS = {
|
FUNCTIONS = {
|
||||||
**parser.Parser.FUNCTIONS,
|
**parser.Parser.FUNCTIONS,
|
||||||
|
|
|
@ -6,8 +6,10 @@ from sqlglot import exp, generator, parser, tokens, transforms
|
||||||
from sqlglot.dialects.dialect import (
|
from sqlglot.dialects.dialect import (
|
||||||
Dialect,
|
Dialect,
|
||||||
arrow_json_extract_scalar_sql,
|
arrow_json_extract_scalar_sql,
|
||||||
|
date_add_interval_sql,
|
||||||
datestrtodate_sql,
|
datestrtodate_sql,
|
||||||
format_time_lambda,
|
format_time_lambda,
|
||||||
|
isnull_to_is_null,
|
||||||
json_keyvalue_comma_sql,
|
json_keyvalue_comma_sql,
|
||||||
locate_to_strposition,
|
locate_to_strposition,
|
||||||
max_or_greatest,
|
max_or_greatest,
|
||||||
|
@ -99,6 +101,7 @@ class MySQL(Dialect):
|
||||||
|
|
||||||
TIME_FORMAT = "'%Y-%m-%d %T'"
|
TIME_FORMAT = "'%Y-%m-%d %T'"
|
||||||
DPIPE_IS_STRING_CONCAT = False
|
DPIPE_IS_STRING_CONCAT = False
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
# https://prestodb.io/docs/current/functions/datetime.html#mysql-date-functions
|
# https://prestodb.io/docs/current/functions/datetime.html#mysql-date-functions
|
||||||
TIME_MAPPING = {
|
TIME_MAPPING = {
|
||||||
|
@ -129,6 +132,7 @@ class MySQL(Dialect):
|
||||||
"ENUM": TokenType.ENUM,
|
"ENUM": TokenType.ENUM,
|
||||||
"FORCE": TokenType.FORCE,
|
"FORCE": TokenType.FORCE,
|
||||||
"IGNORE": TokenType.IGNORE,
|
"IGNORE": TokenType.IGNORE,
|
||||||
|
"LOCK TABLES": TokenType.COMMAND,
|
||||||
"LONGBLOB": TokenType.LONGBLOB,
|
"LONGBLOB": TokenType.LONGBLOB,
|
||||||
"LONGTEXT": TokenType.LONGTEXT,
|
"LONGTEXT": TokenType.LONGTEXT,
|
||||||
"MEDIUMBLOB": TokenType.MEDIUMBLOB,
|
"MEDIUMBLOB": TokenType.MEDIUMBLOB,
|
||||||
|
@ -141,6 +145,7 @@ class MySQL(Dialect):
|
||||||
"START": TokenType.BEGIN,
|
"START": TokenType.BEGIN,
|
||||||
"SIGNED": TokenType.BIGINT,
|
"SIGNED": TokenType.BIGINT,
|
||||||
"SIGNED INTEGER": TokenType.BIGINT,
|
"SIGNED INTEGER": TokenType.BIGINT,
|
||||||
|
"UNLOCK TABLES": TokenType.COMMAND,
|
||||||
"UNSIGNED": TokenType.UBIGINT,
|
"UNSIGNED": TokenType.UBIGINT,
|
||||||
"UNSIGNED INTEGER": TokenType.UBIGINT,
|
"UNSIGNED INTEGER": TokenType.UBIGINT,
|
||||||
"YEAR": TokenType.YEAR,
|
"YEAR": TokenType.YEAR,
|
||||||
|
@ -193,8 +198,6 @@ class MySQL(Dialect):
|
||||||
COMMANDS = tokens.Tokenizer.COMMANDS - {TokenType.SHOW}
|
COMMANDS = tokens.Tokenizer.COMMANDS - {TokenType.SHOW}
|
||||||
|
|
||||||
class Parser(parser.Parser):
|
class Parser(parser.Parser):
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
||||||
FUNC_TOKENS = {
|
FUNC_TOKENS = {
|
||||||
*parser.Parser.FUNC_TOKENS,
|
*parser.Parser.FUNC_TOKENS,
|
||||||
TokenType.DATABASE,
|
TokenType.DATABASE,
|
||||||
|
@ -233,7 +236,12 @@ class MySQL(Dialect):
|
||||||
"DATE_FORMAT": format_time_lambda(exp.TimeToStr, "mysql"),
|
"DATE_FORMAT": format_time_lambda(exp.TimeToStr, "mysql"),
|
||||||
"DATE_SUB": parse_date_delta_with_interval(exp.DateSub),
|
"DATE_SUB": parse_date_delta_with_interval(exp.DateSub),
|
||||||
"INSTR": lambda args: exp.StrPosition(substr=seq_get(args, 1), this=seq_get(args, 0)),
|
"INSTR": lambda args: exp.StrPosition(substr=seq_get(args, 1), this=seq_get(args, 0)),
|
||||||
|
"ISNULL": isnull_to_is_null,
|
||||||
"LOCATE": locate_to_strposition,
|
"LOCATE": locate_to_strposition,
|
||||||
|
"MONTHNAME": lambda args: exp.TimeToStr(
|
||||||
|
this=seq_get(args, 0),
|
||||||
|
format=exp.Literal.string("%B"),
|
||||||
|
),
|
||||||
"STR_TO_DATE": _str_to_date,
|
"STR_TO_DATE": _str_to_date,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,7 +382,7 @@ class MySQL(Dialect):
|
||||||
self._match_texts({"INDEX", "KEY"})
|
self._match_texts({"INDEX", "KEY"})
|
||||||
|
|
||||||
this = self._parse_id_var(any_token=False)
|
this = self._parse_id_var(any_token=False)
|
||||||
type_ = self._match(TokenType.USING) and self._advance_any() and self._prev.text
|
index_type = self._match(TokenType.USING) and self._advance_any() and self._prev.text
|
||||||
schema = self._parse_schema()
|
schema = self._parse_schema()
|
||||||
|
|
||||||
options = []
|
options = []
|
||||||
|
@ -414,7 +422,7 @@ class MySQL(Dialect):
|
||||||
this=this,
|
this=this,
|
||||||
schema=schema,
|
schema=schema,
|
||||||
kind=kind,
|
kind=kind,
|
||||||
type=type_,
|
index_type=index_type,
|
||||||
options=options,
|
options=options,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -558,6 +566,8 @@ class MySQL(Dialect):
|
||||||
exp.StrToTime: _str_to_date_sql,
|
exp.StrToTime: _str_to_date_sql,
|
||||||
exp.Stuff: rename_func("INSERT"),
|
exp.Stuff: rename_func("INSERT"),
|
||||||
exp.TableSample: no_tablesample_sql,
|
exp.TableSample: no_tablesample_sql,
|
||||||
|
exp.TimestampAdd: date_add_interval_sql("DATE", "ADD"),
|
||||||
|
exp.TimestampSub: date_add_interval_sql("DATE", "SUB"),
|
||||||
exp.TimeStrToUnix: rename_func("UNIX_TIMESTAMP"),
|
exp.TimeStrToUnix: rename_func("UNIX_TIMESTAMP"),
|
||||||
exp.TimeStrToTime: lambda self, e: self.sql(exp.cast(e.this, "datetime", copy=True)),
|
exp.TimeStrToTime: lambda self, e: self.sql(exp.cast(e.this, "datetime", copy=True)),
|
||||||
exp.TimeToStr: lambda self, e: self.func("DATE_FORMAT", e.this, self.format_time(e)),
|
exp.TimeToStr: lambda self, e: self.func("DATE_FORMAT", e.this, self.format_time(e)),
|
||||||
|
|
|
@ -32,6 +32,7 @@ def _parse_xml_table(self: Oracle.Parser) -> exp.XMLTable:
|
||||||
|
|
||||||
class Oracle(Dialect):
|
class Oracle(Dialect):
|
||||||
ALIAS_POST_TABLESAMPLE = True
|
ALIAS_POST_TABLESAMPLE = True
|
||||||
|
LOCKING_READS_SUPPORTED = True
|
||||||
|
|
||||||
# See section 8: https://docs.oracle.com/cd/A97630_01/server.920/a96540/sql_elements9a.htm
|
# See section 8: https://docs.oracle.com/cd/A97630_01/server.920/a96540/sql_elements9a.htm
|
||||||
RESOLVES_IDENTIFIERS_AS_UPPERCASE = True
|
RESOLVES_IDENTIFIERS_AS_UPPERCASE = True
|
||||||
|
|
|
@ -381,6 +381,9 @@ class Postgres(Dialect):
|
||||||
**generator.Generator.TRANSFORMS,
|
**generator.Generator.TRANSFORMS,
|
||||||
exp.AnyValue: any_value_to_max_sql,
|
exp.AnyValue: any_value_to_max_sql,
|
||||||
exp.ArrayConcat: rename_func("ARRAY_CAT"),
|
exp.ArrayConcat: rename_func("ARRAY_CAT"),
|
||||||
|
exp.ArrayContained: lambda self, e: self.binary(e, "<@"),
|
||||||
|
exp.ArrayContains: lambda self, e: self.binary(e, "@>"),
|
||||||
|
exp.ArrayOverlaps: lambda self, e: self.binary(e, "&&"),
|
||||||
exp.BitwiseXor: lambda self, e: self.binary(e, "#"),
|
exp.BitwiseXor: lambda self, e: self.binary(e, "#"),
|
||||||
exp.ColumnDef: transforms.preprocess([_auto_increment_to_serial, _serial_to_generated]),
|
exp.ColumnDef: transforms.preprocess([_auto_increment_to_serial, _serial_to_generated]),
|
||||||
exp.Explode: rename_func("UNNEST"),
|
exp.Explode: rename_func("UNNEST"),
|
||||||
|
@ -401,10 +404,13 @@ class Postgres(Dialect):
|
||||||
exp.Max: max_or_greatest,
|
exp.Max: max_or_greatest,
|
||||||
exp.MapFromEntries: no_map_from_entries_sql,
|
exp.MapFromEntries: no_map_from_entries_sql,
|
||||||
exp.Min: min_or_least,
|
exp.Min: min_or_least,
|
||||||
exp.ArrayOverlaps: lambda self, e: self.binary(e, "&&"),
|
|
||||||
exp.ArrayContains: lambda self, e: self.binary(e, "@>"),
|
|
||||||
exp.ArrayContained: lambda self, e: self.binary(e, "<@"),
|
|
||||||
exp.Merge: transforms.preprocess([_remove_target_from_merge]),
|
exp.Merge: transforms.preprocess([_remove_target_from_merge]),
|
||||||
|
exp.PercentileCont: transforms.preprocess(
|
||||||
|
[transforms.add_within_group_for_percentiles]
|
||||||
|
),
|
||||||
|
exp.PercentileDisc: transforms.preprocess(
|
||||||
|
[transforms.add_within_group_for_percentiles]
|
||||||
|
),
|
||||||
exp.Pivot: no_pivot_sql,
|
exp.Pivot: no_pivot_sql,
|
||||||
exp.RegexpLike: lambda self, e: self.binary(e, "~"),
|
exp.RegexpLike: lambda self, e: self.binary(e, "~"),
|
||||||
exp.RegexpILike: lambda self, e: self.binary(e, "~*"),
|
exp.RegexpILike: lambda self, e: self.binary(e, "~*"),
|
||||||
|
|
|
@ -237,6 +237,7 @@ class Presto(Dialect):
|
||||||
this=seq_get(args, 0), charset=exp.Literal.string("utf-8")
|
this=seq_get(args, 0), charset=exp.Literal.string("utf-8")
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
FUNCTION_PARSERS = parser.Parser.FUNCTION_PARSERS.copy()
|
FUNCTION_PARSERS = parser.Parser.FUNCTION_PARSERS.copy()
|
||||||
FUNCTION_PARSERS.pop("TRIM")
|
FUNCTION_PARSERS.pop("TRIM")
|
||||||
|
|
||||||
|
@ -310,6 +311,7 @@ class Presto(Dialect):
|
||||||
exp.If: if_sql,
|
exp.If: if_sql,
|
||||||
exp.ILike: no_ilike_sql,
|
exp.ILike: no_ilike_sql,
|
||||||
exp.Initcap: _initcap_sql,
|
exp.Initcap: _initcap_sql,
|
||||||
|
exp.ParseJSON: rename_func("JSON_PARSE"),
|
||||||
exp.Last: _first_last_sql,
|
exp.Last: _first_last_sql,
|
||||||
exp.Lateral: _explode_to_unnest_sql,
|
exp.Lateral: _explode_to_unnest_sql,
|
||||||
exp.Left: left_to_substring_sql,
|
exp.Left: left_to_substring_sql,
|
||||||
|
@ -360,6 +362,7 @@ class Presto(Dialect):
|
||||||
exp.WithinGroup: transforms.preprocess(
|
exp.WithinGroup: transforms.preprocess(
|
||||||
[transforms.remove_within_group_for_percentiles]
|
[transforms.remove_within_group_for_percentiles]
|
||||||
),
|
),
|
||||||
|
exp.Timestamp: transforms.preprocess([transforms.timestamp_to_cast]),
|
||||||
}
|
}
|
||||||
|
|
||||||
def interval_sql(self, expression: exp.Interval) -> str:
|
def interval_sql(self, expression: exp.Interval) -> str:
|
||||||
|
|
|
@ -30,6 +30,8 @@ class Redshift(Postgres):
|
||||||
# https://docs.aws.amazon.com/redshift/latest/dg/r_names.html
|
# https://docs.aws.amazon.com/redshift/latest/dg/r_names.html
|
||||||
RESOLVES_IDENTIFIERS_AS_UPPERCASE = None
|
RESOLVES_IDENTIFIERS_AS_UPPERCASE = None
|
||||||
|
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
TIME_FORMAT = "'YYYY-MM-DD HH:MI:SS'"
|
TIME_FORMAT = "'YYYY-MM-DD HH:MI:SS'"
|
||||||
TIME_MAPPING = {
|
TIME_MAPPING = {
|
||||||
**Postgres.TIME_MAPPING,
|
**Postgres.TIME_MAPPING,
|
||||||
|
@ -38,8 +40,6 @@ class Redshift(Postgres):
|
||||||
}
|
}
|
||||||
|
|
||||||
class Parser(Postgres.Parser):
|
class Parser(Postgres.Parser):
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
||||||
FUNCTIONS = {
|
FUNCTIONS = {
|
||||||
**Postgres.Parser.FUNCTIONS,
|
**Postgres.Parser.FUNCTIONS,
|
||||||
"ADD_MONTHS": lambda args: exp.DateAdd(
|
"ADD_MONTHS": lambda args: exp.DateAdd(
|
||||||
|
|
|
@ -202,6 +202,7 @@ class Snowflake(Dialect):
|
||||||
RESOLVES_IDENTIFIERS_AS_UPPERCASE = True
|
RESOLVES_IDENTIFIERS_AS_UPPERCASE = True
|
||||||
NULL_ORDERING = "nulls_are_large"
|
NULL_ORDERING = "nulls_are_large"
|
||||||
TIME_FORMAT = "'YYYY-MM-DD HH24:MI:SS'"
|
TIME_FORMAT = "'YYYY-MM-DD HH24:MI:SS'"
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
TIME_MAPPING = {
|
TIME_MAPPING = {
|
||||||
"YYYY": "%Y",
|
"YYYY": "%Y",
|
||||||
|
@ -234,7 +235,6 @@ class Snowflake(Dialect):
|
||||||
|
|
||||||
class Parser(parser.Parser):
|
class Parser(parser.Parser):
|
||||||
IDENTIFY_PIVOT_STRINGS = True
|
IDENTIFY_PIVOT_STRINGS = True
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
||||||
FUNCTIONS = {
|
FUNCTIONS = {
|
||||||
**parser.Parser.FUNCTIONS,
|
**parser.Parser.FUNCTIONS,
|
||||||
|
|
|
@ -7,6 +7,7 @@ from sqlglot.dialects.dialect import (
|
||||||
binary_from_function,
|
binary_from_function,
|
||||||
create_with_partitions_sql,
|
create_with_partitions_sql,
|
||||||
format_time_lambda,
|
format_time_lambda,
|
||||||
|
is_parse_json,
|
||||||
pivot_column_names,
|
pivot_column_names,
|
||||||
rename_func,
|
rename_func,
|
||||||
trim_sql,
|
trim_sql,
|
||||||
|
@ -242,10 +243,11 @@ class Spark2(Hive):
|
||||||
CREATE_FUNCTION_RETURN_AS = False
|
CREATE_FUNCTION_RETURN_AS = False
|
||||||
|
|
||||||
def cast_sql(self, expression: exp.Cast, safe_prefix: t.Optional[str] = None) -> str:
|
def cast_sql(self, expression: exp.Cast, safe_prefix: t.Optional[str] = None) -> str:
|
||||||
if isinstance(expression.this, exp.Cast) and expression.this.is_type("json"):
|
if is_parse_json(expression.this):
|
||||||
schema = f"'{self.sql(expression, 'to')}'"
|
schema = f"'{self.sql(expression, 'to')}'"
|
||||||
return self.func("FROM_JSON", expression.this.this, schema)
|
return self.func("FROM_JSON", expression.this.this, schema)
|
||||||
if expression.is_type("json"):
|
|
||||||
|
if is_parse_json(expression):
|
||||||
return self.func("TO_JSON", expression.this)
|
return self.func("TO_JSON", expression.this)
|
||||||
|
|
||||||
return super(Hive.Generator, self).cast_sql(expression, safe_prefix=safe_prefix)
|
return super(Hive.Generator, self).cast_sql(expression, safe_prefix=safe_prefix)
|
||||||
|
|
|
@ -5,6 +5,8 @@ from sqlglot.dialects.presto import Presto
|
||||||
|
|
||||||
|
|
||||||
class Trino(Presto):
|
class Trino(Presto):
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = False
|
||||||
|
|
||||||
class Generator(Presto.Generator):
|
class Generator(Presto.Generator):
|
||||||
TRANSFORMS = {
|
TRANSFORMS = {
|
||||||
**Presto.Generator.TRANSFORMS,
|
**Presto.Generator.TRANSFORMS,
|
||||||
|
@ -13,6 +15,3 @@ class Trino(Presto):
|
||||||
|
|
||||||
class Tokenizer(Presto.Tokenizer):
|
class Tokenizer(Presto.Tokenizer):
|
||||||
HEX_STRINGS = [("X'", "'")]
|
HEX_STRINGS = [("X'", "'")]
|
||||||
|
|
||||||
class Parser(Presto.Parser):
|
|
||||||
SUPPORTS_USER_DEFINED_TYPES = False
|
|
||||||
|
|
|
@ -580,7 +580,6 @@ class TSQL(Dialect):
|
||||||
)
|
)
|
||||||
|
|
||||||
class Generator(generator.Generator):
|
class Generator(generator.Generator):
|
||||||
LOCKING_READS_SUPPORTED = True
|
|
||||||
LIMIT_IS_TOP = True
|
LIMIT_IS_TOP = True
|
||||||
QUERY_HINTS = False
|
QUERY_HINTS = False
|
||||||
RETURNING_END = False
|
RETURNING_END = False
|
||||||
|
|
|
@ -1321,7 +1321,13 @@ class GeneratedAsIdentityColumnConstraint(ColumnConstraintKind):
|
||||||
|
|
||||||
# https://dev.mysql.com/doc/refman/8.0/en/create-table.html
|
# https://dev.mysql.com/doc/refman/8.0/en/create-table.html
|
||||||
class IndexColumnConstraint(ColumnConstraintKind):
|
class IndexColumnConstraint(ColumnConstraintKind):
|
||||||
arg_types = {"this": False, "schema": True, "kind": False, "type": False, "options": False}
|
arg_types = {
|
||||||
|
"this": False,
|
||||||
|
"schema": True,
|
||||||
|
"kind": False,
|
||||||
|
"index_type": False,
|
||||||
|
"options": False,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class InlineLengthColumnConstraint(ColumnConstraintKind):
|
class InlineLengthColumnConstraint(ColumnConstraintKind):
|
||||||
|
@ -1354,7 +1360,7 @@ class TitleColumnConstraint(ColumnConstraintKind):
|
||||||
|
|
||||||
|
|
||||||
class UniqueColumnConstraint(ColumnConstraintKind):
|
class UniqueColumnConstraint(ColumnConstraintKind):
|
||||||
arg_types = {"this": False}
|
arg_types = {"this": False, "index_type": False}
|
||||||
|
|
||||||
|
|
||||||
class UppercaseColumnConstraint(ColumnConstraintKind):
|
class UppercaseColumnConstraint(ColumnConstraintKind):
|
||||||
|
@ -4366,6 +4372,10 @@ class Extract(Func):
|
||||||
arg_types = {"this": True, "expression": True}
|
arg_types = {"this": True, "expression": True}
|
||||||
|
|
||||||
|
|
||||||
|
class Timestamp(Func):
|
||||||
|
arg_types = {"this": False, "expression": False}
|
||||||
|
|
||||||
|
|
||||||
class TimestampAdd(Func, TimeUnit):
|
class TimestampAdd(Func, TimeUnit):
|
||||||
arg_types = {"this": True, "expression": True, "unit": False}
|
arg_types = {"this": True, "expression": True, "unit": False}
|
||||||
|
|
||||||
|
@ -4579,6 +4589,11 @@ class JSONArrayContains(Binary, Predicate, Func):
|
||||||
_sql_names = ["JSON_ARRAY_CONTAINS"]
|
_sql_names = ["JSON_ARRAY_CONTAINS"]
|
||||||
|
|
||||||
|
|
||||||
|
class ParseJSON(Func):
|
||||||
|
# BigQuery, Snowflake have PARSE_JSON, Presto has JSON_PARSE
|
||||||
|
_sql_names = ["PARSE_JSON", "JSON_PARSE"]
|
||||||
|
|
||||||
|
|
||||||
class Least(Func):
|
class Least(Func):
|
||||||
arg_types = {"this": True, "expressions": False}
|
arg_types = {"this": True, "expressions": False}
|
||||||
is_var_len_args = True
|
is_var_len_args = True
|
||||||
|
|
|
@ -705,7 +705,9 @@ class Generator:
|
||||||
def uniquecolumnconstraint_sql(self, expression: exp.UniqueColumnConstraint) -> str:
|
def uniquecolumnconstraint_sql(self, expression: exp.UniqueColumnConstraint) -> str:
|
||||||
this = self.sql(expression, "this")
|
this = self.sql(expression, "this")
|
||||||
this = f" {this}" if this else ""
|
this = f" {this}" if this else ""
|
||||||
return f"UNIQUE{this}"
|
index_type = expression.args.get("index_type")
|
||||||
|
index_type = f" USING {index_type}" if index_type else ""
|
||||||
|
return f"UNIQUE{this}{index_type}"
|
||||||
|
|
||||||
def createable_sql(self, expression: exp.Create, locations: t.DefaultDict) -> str:
|
def createable_sql(self, expression: exp.Create, locations: t.DefaultDict) -> str:
|
||||||
return self.sql(expression, "this")
|
return self.sql(expression, "this")
|
||||||
|
@ -2740,13 +2742,13 @@ class Generator:
|
||||||
kind = f"{kind} INDEX" if kind else "INDEX"
|
kind = f"{kind} INDEX" if kind else "INDEX"
|
||||||
this = self.sql(expression, "this")
|
this = self.sql(expression, "this")
|
||||||
this = f" {this}" if this else ""
|
this = f" {this}" if this else ""
|
||||||
type_ = self.sql(expression, "type")
|
index_type = self.sql(expression, "index_type")
|
||||||
type_ = f" USING {type_}" if type_ else ""
|
index_type = f" USING {index_type}" if index_type else ""
|
||||||
schema = self.sql(expression, "schema")
|
schema = self.sql(expression, "schema")
|
||||||
schema = f" {schema}" if schema else ""
|
schema = f" {schema}" if schema else ""
|
||||||
options = self.expressions(expression, key="options", sep=" ")
|
options = self.expressions(expression, key="options", sep=" ")
|
||||||
options = f" {options}" if options else ""
|
options = f" {options}" if options else ""
|
||||||
return f"{kind}{this}{type_}{schema}{options}"
|
return f"{kind}{this}{index_type}{schema}{options}"
|
||||||
|
|
||||||
def nvl2_sql(self, expression: exp.Nvl2) -> str:
|
def nvl2_sql(self, expression: exp.Nvl2) -> str:
|
||||||
if self.NVL2_SUPPORTED:
|
if self.NVL2_SUPPORTED:
|
||||||
|
|
|
@ -60,8 +60,8 @@ def qualify(
|
||||||
The qualified expression.
|
The qualified expression.
|
||||||
"""
|
"""
|
||||||
schema = ensure_schema(schema, dialect=dialect)
|
schema = ensure_schema(schema, dialect=dialect)
|
||||||
expression = qualify_tables(expression, db=db, catalog=catalog, schema=schema)
|
|
||||||
expression = normalize_identifiers(expression, dialect=dialect)
|
expression = normalize_identifiers(expression, dialect=dialect)
|
||||||
|
expression = qualify_tables(expression, db=db, catalog=catalog, schema=schema)
|
||||||
|
|
||||||
if isolate_tables:
|
if isolate_tables:
|
||||||
expression = isolate_table_selects(expression, schema=schema)
|
expression = isolate_table_selects(expression, schema=schema)
|
||||||
|
|
|
@ -820,7 +820,9 @@ class Parser(metaclass=_Parser):
|
||||||
|
|
||||||
SHOW_PARSERS: t.Dict[str, t.Callable] = {}
|
SHOW_PARSERS: t.Dict[str, t.Callable] = {}
|
||||||
|
|
||||||
TYPE_LITERAL_PARSERS: t.Dict[exp.DataType.Type, t.Callable] = {}
|
TYPE_LITERAL_PARSERS = {
|
||||||
|
exp.DataType.Type.JSON: lambda self, this, _: self.expression(exp.ParseJSON, this=this),
|
||||||
|
}
|
||||||
|
|
||||||
MODIFIABLES = (exp.Subquery, exp.Subqueryable, exp.Table)
|
MODIFIABLES = (exp.Subquery, exp.Subqueryable, exp.Table)
|
||||||
|
|
||||||
|
@ -848,6 +850,8 @@ class Parser(metaclass=_Parser):
|
||||||
WINDOW_BEFORE_PAREN_TOKENS = {TokenType.OVER}
|
WINDOW_BEFORE_PAREN_TOKENS = {TokenType.OVER}
|
||||||
WINDOW_SIDES = {"FOLLOWING", "PRECEDING"}
|
WINDOW_SIDES = {"FOLLOWING", "PRECEDING"}
|
||||||
|
|
||||||
|
FETCH_TOKENS = ID_VAR_TOKENS - {TokenType.ROW, TokenType.ROWS, TokenType.PERCENT}
|
||||||
|
|
||||||
ADD_CONSTRAINT_TOKENS = {TokenType.CONSTRAINT, TokenType.PRIMARY_KEY, TokenType.FOREIGN_KEY}
|
ADD_CONSTRAINT_TOKENS = {TokenType.CONSTRAINT, TokenType.PRIMARY_KEY, TokenType.FOREIGN_KEY}
|
||||||
|
|
||||||
DISTINCT_TOKENS = {TokenType.DISTINCT}
|
DISTINCT_TOKENS = {TokenType.DISTINCT}
|
||||||
|
@ -863,8 +867,6 @@ class Parser(metaclass=_Parser):
|
||||||
LOG_BASE_FIRST = True
|
LOG_BASE_FIRST = True
|
||||||
LOG_DEFAULTS_TO_LN = False
|
LOG_DEFAULTS_TO_LN = False
|
||||||
|
|
||||||
SUPPORTS_USER_DEFINED_TYPES = True
|
|
||||||
|
|
||||||
# Whether or not ADD is present for each column added by ALTER TABLE
|
# Whether or not ADD is present for each column added by ALTER TABLE
|
||||||
ALTER_TABLE_ADD_COLUMN_KEYWORD = True
|
ALTER_TABLE_ADD_COLUMN_KEYWORD = True
|
||||||
|
|
||||||
|
@ -892,6 +894,7 @@ class Parser(metaclass=_Parser):
|
||||||
UNNEST_COLUMN_ONLY: bool = False
|
UNNEST_COLUMN_ONLY: bool = False
|
||||||
ALIAS_POST_TABLESAMPLE: bool = False
|
ALIAS_POST_TABLESAMPLE: bool = False
|
||||||
STRICT_STRING_CONCAT = False
|
STRICT_STRING_CONCAT = False
|
||||||
|
SUPPORTS_USER_DEFINED_TYPES = True
|
||||||
NORMALIZE_FUNCTIONS = "upper"
|
NORMALIZE_FUNCTIONS = "upper"
|
||||||
NULL_ORDERING: str = "nulls_are_small"
|
NULL_ORDERING: str = "nulls_are_small"
|
||||||
SHOW_TRIE: t.Dict = {}
|
SHOW_TRIE: t.Dict = {}
|
||||||
|
@ -2692,7 +2695,7 @@ class Parser(metaclass=_Parser):
|
||||||
expressions = self._parse_csv(self._parse_primary)
|
expressions = self._parse_csv(self._parse_primary)
|
||||||
else:
|
else:
|
||||||
expressions = None
|
expressions = None
|
||||||
num = self._parse_number()
|
num = self._parse_primary()
|
||||||
|
|
||||||
if self._match_text_seq("BUCKET"):
|
if self._match_text_seq("BUCKET"):
|
||||||
bucket_numerator = self._parse_number()
|
bucket_numerator = self._parse_number()
|
||||||
|
@ -2914,6 +2917,10 @@ class Parser(metaclass=_Parser):
|
||||||
)
|
)
|
||||||
connect = self._parse_conjunction()
|
connect = self._parse_conjunction()
|
||||||
self.NO_PAREN_FUNCTION_PARSERS.pop("PRIOR")
|
self.NO_PAREN_FUNCTION_PARSERS.pop("PRIOR")
|
||||||
|
|
||||||
|
if not start and self._match(TokenType.START_WITH):
|
||||||
|
start = self._parse_conjunction()
|
||||||
|
|
||||||
return self.expression(exp.Connect, start=start, connect=connect)
|
return self.expression(exp.Connect, start=start, connect=connect)
|
||||||
|
|
||||||
def _parse_order(
|
def _parse_order(
|
||||||
|
@ -2985,7 +2992,7 @@ class Parser(metaclass=_Parser):
|
||||||
direction = self._match_set((TokenType.FIRST, TokenType.NEXT))
|
direction = self._match_set((TokenType.FIRST, TokenType.NEXT))
|
||||||
direction = self._prev.text if direction else "FIRST"
|
direction = self._prev.text if direction else "FIRST"
|
||||||
|
|
||||||
count = self._parse_number()
|
count = self._parse_field(tokens=self.FETCH_TOKENS)
|
||||||
percent = self._match(TokenType.PERCENT)
|
percent = self._match(TokenType.PERCENT)
|
||||||
|
|
||||||
self._match_set((TokenType.ROW, TokenType.ROWS))
|
self._match_set((TokenType.ROW, TokenType.ROWS))
|
||||||
|
@ -3272,7 +3279,12 @@ class Parser(metaclass=_Parser):
|
||||||
if tokens[0].token_type in self.TYPE_TOKENS:
|
if tokens[0].token_type in self.TYPE_TOKENS:
|
||||||
self._prev = tokens[0]
|
self._prev = tokens[0]
|
||||||
elif self.SUPPORTS_USER_DEFINED_TYPES:
|
elif self.SUPPORTS_USER_DEFINED_TYPES:
|
||||||
return exp.DataType.build(identifier.name, udt=True)
|
type_name = identifier.name
|
||||||
|
|
||||||
|
while self._match(TokenType.DOT):
|
||||||
|
type_name = f"{type_name}.{self._advance_any() and self._prev.text}"
|
||||||
|
|
||||||
|
return exp.DataType.build(type_name, udt=True)
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
|
@ -3816,7 +3828,9 @@ class Parser(metaclass=_Parser):
|
||||||
def _parse_unique(self) -> exp.UniqueColumnConstraint:
|
def _parse_unique(self) -> exp.UniqueColumnConstraint:
|
||||||
self._match_text_seq("KEY")
|
self._match_text_seq("KEY")
|
||||||
return self.expression(
|
return self.expression(
|
||||||
exp.UniqueColumnConstraint, this=self._parse_schema(self._parse_id_var(any_token=False))
|
exp.UniqueColumnConstraint,
|
||||||
|
this=self._parse_schema(self._parse_id_var(any_token=False)),
|
||||||
|
index_type=self._match(TokenType.USING) and self._advance_any() and self._prev.text,
|
||||||
)
|
)
|
||||||
|
|
||||||
def _parse_key_constraint_options(self) -> t.List[str]:
|
def _parse_key_constraint_options(self) -> t.List[str]:
|
||||||
|
|
|
@ -398,9 +398,10 @@ class MappingSchema(AbstractMappingSchema[t.Dict[str, str]], Schema):
|
||||||
"""
|
"""
|
||||||
if schema_type not in self._type_mapping_cache:
|
if schema_type not in self._type_mapping_cache:
|
||||||
dialect = dialect or self.dialect
|
dialect = dialect or self.dialect
|
||||||
|
udt = Dialect.get_or_raise(dialect).SUPPORTS_USER_DEFINED_TYPES
|
||||||
|
|
||||||
try:
|
try:
|
||||||
expression = exp.DataType.build(schema_type, dialect=dialect)
|
expression = exp.DataType.build(schema_type, dialect=dialect, udt=udt)
|
||||||
self._type_mapping_cache[schema_type] = expression
|
self._type_mapping_cache[schema_type] = expression
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
in_dialect = f" in dialect {dialect}" if dialect else ""
|
in_dialect = f" in dialect {dialect}" if dialect else ""
|
||||||
|
|
|
@ -224,10 +224,27 @@ def explode_to_unnest(expression: exp.Expression) -> exp.Expression:
|
||||||
return expression
|
return expression
|
||||||
|
|
||||||
|
|
||||||
|
PERCENTILES = (exp.PercentileCont, exp.PercentileDisc)
|
||||||
|
|
||||||
|
|
||||||
|
def add_within_group_for_percentiles(expression: exp.Expression) -> exp.Expression:
|
||||||
|
if (
|
||||||
|
isinstance(expression, PERCENTILES)
|
||||||
|
and not isinstance(expression.parent, exp.WithinGroup)
|
||||||
|
and expression.expression
|
||||||
|
):
|
||||||
|
column = expression.this.pop()
|
||||||
|
expression.set("this", expression.expression.pop())
|
||||||
|
order = exp.Order(expressions=[exp.Ordered(this=column)])
|
||||||
|
expression = exp.WithinGroup(this=expression, expression=order)
|
||||||
|
|
||||||
|
return expression
|
||||||
|
|
||||||
|
|
||||||
def remove_within_group_for_percentiles(expression: exp.Expression) -> exp.Expression:
|
def remove_within_group_for_percentiles(expression: exp.Expression) -> exp.Expression:
|
||||||
if (
|
if (
|
||||||
isinstance(expression, exp.WithinGroup)
|
isinstance(expression, exp.WithinGroup)
|
||||||
and isinstance(expression.this, (exp.PercentileCont, exp.PercentileDisc))
|
and isinstance(expression.this, PERCENTILES)
|
||||||
and isinstance(expression.expression, exp.Order)
|
and isinstance(expression.expression, exp.Order)
|
||||||
):
|
):
|
||||||
quantile = expression.this.this
|
quantile = expression.this.this
|
||||||
|
@ -294,10 +311,13 @@ def preprocess(
|
||||||
|
|
||||||
transforms_handler = self.TRANSFORMS.get(type(expression))
|
transforms_handler = self.TRANSFORMS.get(type(expression))
|
||||||
if transforms_handler:
|
if transforms_handler:
|
||||||
|
if expression_type is type(expression):
|
||||||
|
if isinstance(expression, exp.Func):
|
||||||
|
return self.function_fallback_sql(expression)
|
||||||
|
|
||||||
# Ensures we don't enter an infinite loop. This can happen when the original expression
|
# Ensures we don't enter an infinite loop. This can happen when the original expression
|
||||||
# has the same type as the final expression and there's no _sql method available for it,
|
# has the same type as the final expression and there's no _sql method available for it,
|
||||||
# because then it'd re-enter _to_sql.
|
# because then it'd re-enter _to_sql.
|
||||||
if expression_type is type(expression):
|
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"Expression type {expression.__class__.__name__} requires a _sql method in order to be transformed."
|
f"Expression type {expression.__class__.__name__} requires a _sql method in order to be transformed."
|
||||||
)
|
)
|
||||||
|
@ -307,3 +327,12 @@ def preprocess(
|
||||||
raise ValueError(f"Unsupported expression type {expression.__class__.__name__}.")
|
raise ValueError(f"Unsupported expression type {expression.__class__.__name__}.")
|
||||||
|
|
||||||
return _to_sql
|
return _to_sql
|
||||||
|
|
||||||
|
|
||||||
|
def timestamp_to_cast(expression: exp.Expression) -> exp.Expression:
|
||||||
|
if isinstance(expression, exp.Timestamp) and not expression.expression:
|
||||||
|
return exp.cast(
|
||||||
|
expression.this,
|
||||||
|
to=exp.DataType.Type.TIMESTAMP,
|
||||||
|
)
|
||||||
|
return expression
|
||||||
|
|
|
@ -25,7 +25,7 @@ class TestSessionCaseSensitivity(DataFrameTestBase):
|
||||||
'"Test"',
|
'"Test"',
|
||||||
{"name": "VARCHAR"},
|
{"name": "VARCHAR"},
|
||||||
"name",
|
"name",
|
||||||
'''SELECT "TEST"."NAME" AS "NAME" FROM "Test" AS "TEST"''',
|
'''SELECT "Test"."NAME" AS "NAME" FROM "Test" AS "Test"''',
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"Column has CS while table does not",
|
"Column has CS while table does not",
|
||||||
|
@ -41,7 +41,7 @@ class TestSessionCaseSensitivity(DataFrameTestBase):
|
||||||
'"Test"',
|
'"Test"',
|
||||||
{'"Name"': "VARCHAR"},
|
{'"Name"': "VARCHAR"},
|
||||||
'"Name"',
|
'"Name"',
|
||||||
'''SELECT "TEST"."Name" AS "Name" FROM "Test" AS "TEST"''',
|
'''SELECT "Test"."Name" AS "Name" FROM "Test" AS "Test"''',
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"Lowercase CS table and column",
|
"Lowercase CS table and column",
|
||||||
|
@ -49,7 +49,7 @@ class TestSessionCaseSensitivity(DataFrameTestBase):
|
||||||
'"test"',
|
'"test"',
|
||||||
{'"name"': "VARCHAR"},
|
{'"name"': "VARCHAR"},
|
||||||
'"name"',
|
'"name"',
|
||||||
'''SELECT "TEST"."name" AS "name" FROM "test" AS "TEST"''',
|
'''SELECT "test"."name" AS "name" FROM "test" AS "test"''',
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"CS table and column and query table but no CS in query column",
|
"CS table and column and query table but no CS in query column",
|
||||||
|
|
|
@ -9,8 +9,11 @@ class TestBigQuery(Validator):
|
||||||
maxDiff = None
|
maxDiff = None
|
||||||
|
|
||||||
def test_bigquery(self):
|
def test_bigquery(self):
|
||||||
self.validate_identity("""SELECT JSON '"foo"' AS json_data""")
|
|
||||||
self.validate_identity("SELECT * FROM tbl FOR SYSTEM_TIME AS OF z")
|
self.validate_identity("SELECT * FROM tbl FOR SYSTEM_TIME AS OF z")
|
||||||
|
self.validate_identity(
|
||||||
|
"""SELECT JSON '"foo"' AS json_data""",
|
||||||
|
"""SELECT PARSE_JSON('"foo"') AS json_data""",
|
||||||
|
)
|
||||||
|
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
"""SELECT
|
"""SELECT
|
||||||
|
@ -176,9 +179,17 @@ WHERE
|
||||||
write={
|
write={
|
||||||
"bigquery": "SELECT TIMESTAMP_ADD(CAST('2008-12-25 15:30:00+00' AS TIMESTAMP), INTERVAL 10 MINUTE)",
|
"bigquery": "SELECT TIMESTAMP_ADD(CAST('2008-12-25 15:30:00+00' AS TIMESTAMP), INTERVAL 10 MINUTE)",
|
||||||
"databricks": "SELECT DATEADD(MINUTE, 10, CAST('2008-12-25 15:30:00+00' AS TIMESTAMP))",
|
"databricks": "SELECT DATEADD(MINUTE, 10, CAST('2008-12-25 15:30:00+00' AS TIMESTAMP))",
|
||||||
|
"mysql": "SELECT DATE_ADD(TIMESTAMP('2008-12-25 15:30:00+00'), INTERVAL 10 MINUTE)",
|
||||||
"spark": "SELECT DATEADD(MINUTE, 10, CAST('2008-12-25 15:30:00+00' AS TIMESTAMP))",
|
"spark": "SELECT DATEADD(MINUTE, 10, CAST('2008-12-25 15:30:00+00' AS TIMESTAMP))",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
self.validate_all(
|
||||||
|
'SELECT TIMESTAMP_SUB(TIMESTAMP "2008-12-25 15:30:00+00", INTERVAL 10 MINUTE)',
|
||||||
|
write={
|
||||||
|
"bigquery": "SELECT TIMESTAMP_SUB(CAST('2008-12-25 15:30:00+00' AS TIMESTAMP), INTERVAL 10 MINUTE)",
|
||||||
|
"mysql": "SELECT DATE_SUB(TIMESTAMP('2008-12-25 15:30:00+00'), INTERVAL 10 MINUTE)",
|
||||||
|
},
|
||||||
|
)
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
"MD5(x)",
|
"MD5(x)",
|
||||||
write={
|
write={
|
||||||
|
@ -796,7 +807,7 @@ WHERE
|
||||||
)
|
)
|
||||||
self.validate_identity(
|
self.validate_identity(
|
||||||
"""SELECT JSON_OBJECT(['a', 'b'], [JSON '10', JSON '"foo"']) AS json_data""",
|
"""SELECT JSON_OBJECT(['a', 'b'], [JSON '10', JSON '"foo"']) AS json_data""",
|
||||||
"""SELECT JSON_OBJECT('a', JSON '10', 'b', JSON '"foo"') AS json_data""",
|
"""SELECT JSON_OBJECT('a', PARSE_JSON('10'), 'b', PARSE_JSON('"foo"')) AS json_data""",
|
||||||
)
|
)
|
||||||
self.validate_identity(
|
self.validate_identity(
|
||||||
"SELECT JSON_OBJECT(['a', 'b'], [STRUCT(10 AS id, 'Red' AS color), STRUCT(20 AS id, 'Blue' AS color)]) AS json_data",
|
"SELECT JSON_OBJECT(['a', 'b'], [STRUCT(10 AS id, 'Red' AS color), STRUCT(20 AS id, 'Blue' AS color)]) AS json_data",
|
||||||
|
|
|
@ -348,6 +348,27 @@ class TestDuckDB(Validator):
|
||||||
"SELECT CAST('2020-05-06' AS DATE) + INTERVAL 5 DAY",
|
"SELECT CAST('2020-05-06' AS DATE) + INTERVAL 5 DAY",
|
||||||
read={"bigquery": "SELECT DATE_ADD(CAST('2020-05-06' AS DATE), INTERVAL 5 DAY)"},
|
read={"bigquery": "SELECT DATE_ADD(CAST('2020-05-06' AS DATE), INTERVAL 5 DAY)"},
|
||||||
)
|
)
|
||||||
|
self.validate_all(
|
||||||
|
"SELECT QUANTILE_CONT(x, q) FROM t",
|
||||||
|
write={
|
||||||
|
"duckdb": "SELECT QUANTILE_CONT(x, q) FROM t",
|
||||||
|
"postgres": "SELECT PERCENTILE_CONT(q) WITHIN GROUP (ORDER BY x) FROM t",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
self.validate_all(
|
||||||
|
"SELECT QUANTILE_DISC(x, q) FROM t",
|
||||||
|
write={
|
||||||
|
"duckdb": "SELECT QUANTILE_DISC(x, q) FROM t",
|
||||||
|
"postgres": "SELECT PERCENTILE_DISC(q) WITHIN GROUP (ORDER BY x) FROM t",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
self.validate_all(
|
||||||
|
"SELECT MEDIAN(x) FROM t",
|
||||||
|
write={
|
||||||
|
"duckdb": "SELECT QUANTILE_CONT(x, 0.5) FROM t",
|
||||||
|
"postgres": "SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY x) FROM t",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
with self.assertRaises(UnsupportedError):
|
with self.assertRaises(UnsupportedError):
|
||||||
transpile(
|
transpile(
|
||||||
|
|
|
@ -19,6 +19,7 @@ class TestMySQL(Validator):
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.validate_identity("CREATE TABLE foo (a BIGINT, UNIQUE (b) USING BTREE)")
|
||||||
self.validate_identity("CREATE TABLE foo (id BIGINT)")
|
self.validate_identity("CREATE TABLE foo (id BIGINT)")
|
||||||
self.validate_identity("CREATE TABLE 00f (1d BIGINT)")
|
self.validate_identity("CREATE TABLE 00f (1d BIGINT)")
|
||||||
self.validate_identity("UPDATE items SET items.price = 0 WHERE items.id >= 5 LIMIT 10")
|
self.validate_identity("UPDATE items SET items.price = 0 WHERE items.id >= 5 LIMIT 10")
|
||||||
|
@ -107,9 +108,8 @@ class TestMySQL(Validator):
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_identity(self):
|
def test_identity(self):
|
||||||
self.validate_identity(
|
self.validate_identity("UNLOCK TABLES")
|
||||||
"SELECT * FROM x ORDER BY BINARY a", "SELECT * FROM x ORDER BY CAST(a AS BINARY)"
|
self.validate_identity("LOCK TABLES `app_fields` WRITE")
|
||||||
)
|
|
||||||
self.validate_identity("SELECT 1 XOR 0")
|
self.validate_identity("SELECT 1 XOR 0")
|
||||||
self.validate_identity("SELECT 1 && 0", "SELECT 1 AND 0")
|
self.validate_identity("SELECT 1 && 0", "SELECT 1 AND 0")
|
||||||
self.validate_identity("SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2")
|
self.validate_identity("SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2")
|
||||||
|
@ -133,6 +133,9 @@ class TestMySQL(Validator):
|
||||||
self.validate_identity("CREATE TABLE A LIKE B")
|
self.validate_identity("CREATE TABLE A LIKE B")
|
||||||
self.validate_identity("SELECT * FROM t1, t2 FOR SHARE OF t1, t2 SKIP LOCKED")
|
self.validate_identity("SELECT * FROM t1, t2 FOR SHARE OF t1, t2 SKIP LOCKED")
|
||||||
self.validate_identity("SELECT a || b", "SELECT a OR b")
|
self.validate_identity("SELECT a || b", "SELECT a OR b")
|
||||||
|
self.validate_identity(
|
||||||
|
"SELECT * FROM x ORDER BY BINARY a", "SELECT * FROM x ORDER BY CAST(a AS BINARY)"
|
||||||
|
)
|
||||||
self.validate_identity(
|
self.validate_identity(
|
||||||
"""SELECT * FROM foo WHERE 3 MEMBER OF(JSON_EXTRACT(info, '$.value'))"""
|
"""SELECT * FROM foo WHERE 3 MEMBER OF(JSON_EXTRACT(info, '$.value'))"""
|
||||||
)
|
)
|
||||||
|
@ -546,7 +549,7 @@ class TestMySQL(Validator):
|
||||||
"oracle": "SELECT a FROM tbl FOR UPDATE",
|
"oracle": "SELECT a FROM tbl FOR UPDATE",
|
||||||
"postgres": "SELECT a FROM tbl FOR UPDATE",
|
"postgres": "SELECT a FROM tbl FOR UPDATE",
|
||||||
"redshift": "SELECT a FROM tbl",
|
"redshift": "SELECT a FROM tbl",
|
||||||
"tsql": "SELECT a FROM tbl FOR UPDATE",
|
"tsql": "SELECT a FROM tbl",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
|
@ -556,7 +559,7 @@ class TestMySQL(Validator):
|
||||||
"mysql": "SELECT a FROM tbl FOR SHARE",
|
"mysql": "SELECT a FROM tbl FOR SHARE",
|
||||||
"oracle": "SELECT a FROM tbl FOR SHARE",
|
"oracle": "SELECT a FROM tbl FOR SHARE",
|
||||||
"postgres": "SELECT a FROM tbl FOR SHARE",
|
"postgres": "SELECT a FROM tbl FOR SHARE",
|
||||||
"tsql": "SELECT a FROM tbl FOR SHARE",
|
"tsql": "SELECT a FROM tbl",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
|
@ -868,3 +871,17 @@ COMMENT='客户账户表'"""
|
||||||
|
|
||||||
def test_json_object(self):
|
def test_json_object(self):
|
||||||
self.validate_identity("SELECT JSON_OBJECT('id', 87, 'name', 'carrot')")
|
self.validate_identity("SELECT JSON_OBJECT('id', 87, 'name', 'carrot')")
|
||||||
|
|
||||||
|
def test_is_null(self):
|
||||||
|
self.validate_all(
|
||||||
|
"SELECT ISNULL(x)", write={"": "SELECT (x IS NULL)", "mysql": "SELECT (x IS NULL)"}
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_monthname(self):
|
||||||
|
self.validate_all(
|
||||||
|
"MONTHNAME(x)",
|
||||||
|
write={
|
||||||
|
"": "TIME_TO_STR(x, '%B')",
|
||||||
|
"mysql": "DATE_FORMAT(x, '%M')",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
|
@ -6,6 +6,7 @@ class TestOracle(Validator):
|
||||||
dialect = "oracle"
|
dialect = "oracle"
|
||||||
|
|
||||||
def test_oracle(self):
|
def test_oracle(self):
|
||||||
|
self.validate_identity("SELECT x FROM t WHERE cond FOR UPDATE")
|
||||||
self.validate_identity("SELECT JSON_OBJECT(k1: v1 FORMAT JSON, k2: v2 FORMAT JSON)")
|
self.validate_identity("SELECT JSON_OBJECT(k1: v1 FORMAT JSON, k2: v2 FORMAT JSON)")
|
||||||
self.validate_identity("SELECT JSON_OBJECT('name': first_name || ' ' || last_name) FROM t")
|
self.validate_identity("SELECT JSON_OBJECT('name': first_name || ' ' || last_name) FROM t")
|
||||||
self.validate_identity("COALESCE(c1, c2, c3)")
|
self.validate_identity("COALESCE(c1, c2, c3)")
|
||||||
|
@ -50,6 +51,14 @@ class TestOracle(Validator):
|
||||||
"SELECT UNIQUE col1, col2 FROM table",
|
"SELECT UNIQUE col1, col2 FROM table",
|
||||||
"SELECT DISTINCT col1, col2 FROM table",
|
"SELECT DISTINCT col1, col2 FROM table",
|
||||||
)
|
)
|
||||||
|
self.validate_identity(
|
||||||
|
"SELECT * FROM T ORDER BY I OFFSET nvl(:variable1, 10) ROWS FETCH NEXT nvl(:variable2, 10) ROWS ONLY",
|
||||||
|
"SELECT * FROM T ORDER BY I OFFSET COALESCE(:variable1, 10) ROWS FETCH NEXT COALESCE(:variable2, 10) ROWS ONLY",
|
||||||
|
)
|
||||||
|
self.validate_identity(
|
||||||
|
"SELECT * FROM t SAMPLE (.25)",
|
||||||
|
"SELECT * FROM t SAMPLE (0.25)",
|
||||||
|
)
|
||||||
|
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
"NVL(NULL, 1)",
|
"NVL(NULL, 1)",
|
||||||
|
@ -82,6 +91,16 @@ class TestOracle(Validator):
|
||||||
"": "CAST(x AS FLOAT)",
|
"": "CAST(x AS FLOAT)",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
self.validate_all(
|
||||||
|
"CAST(x AS sch.udt)",
|
||||||
|
read={
|
||||||
|
"postgres": "CAST(x AS sch.udt)",
|
||||||
|
},
|
||||||
|
write={
|
||||||
|
"oracle": "CAST(x AS sch.udt)",
|
||||||
|
"postgres": "CAST(x AS sch.udt)",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
def test_join_marker(self):
|
def test_join_marker(self):
|
||||||
self.validate_identity("SELECT e1.x, e2.x FROM e e1, e e2 WHERE e1.y (+) = e2.y")
|
self.validate_identity("SELECT e1.x, e2.x FROM e e1, e e2 WHERE e1.y (+) = e2.y")
|
||||||
|
@ -218,3 +237,25 @@ INNER JOIN JSON_TABLE(:emps, '$[*]' COLUMNS (empno NUMBER PATH '$')) jt
|
||||||
ON ar.empno = jt.empno""",
|
ON ar.empno = jt.empno""",
|
||||||
pretty=True,
|
pretty=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_connect_by(self):
|
||||||
|
start = "START WITH last_name = 'King'"
|
||||||
|
connect = "CONNECT BY PRIOR employee_id = manager_id AND LEVEL <= 4"
|
||||||
|
body = """
|
||||||
|
SELECT last_name "Employee",
|
||||||
|
LEVEL, SYS_CONNECT_BY_PATH(last_name, '/') "Path"
|
||||||
|
FROM employees
|
||||||
|
WHERE level <= 3 AND department_id = 80
|
||||||
|
"""
|
||||||
|
pretty = """SELECT
|
||||||
|
last_name AS "Employee",
|
||||||
|
LEVEL,
|
||||||
|
SYS_CONNECT_BY_PATH(last_name, '/') AS "Path"
|
||||||
|
FROM employees
|
||||||
|
START WITH last_name = 'King'
|
||||||
|
CONNECT BY PRIOR employee_id = manager_id AND LEVEL <= 4
|
||||||
|
WHERE
|
||||||
|
level <= 3 AND department_id = 80"""
|
||||||
|
|
||||||
|
for query in (f"{body}{start}{connect}", f"{body}{connect}{start}"):
|
||||||
|
self.validate_identity(query, pretty, pretty=True)
|
||||||
|
|
|
@ -207,6 +207,7 @@ class TestPostgres(Validator):
|
||||||
"SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY amount)",
|
"SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY amount)",
|
||||||
write={
|
write={
|
||||||
"databricks": "SELECT PERCENTILE_APPROX(amount, 0.5)",
|
"databricks": "SELECT PERCENTILE_APPROX(amount, 0.5)",
|
||||||
|
"postgres": "SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY amount)",
|
||||||
"presto": "SELECT APPROX_PERCENTILE(amount, 0.5)",
|
"presto": "SELECT APPROX_PERCENTILE(amount, 0.5)",
|
||||||
"spark": "SELECT PERCENTILE_APPROX(amount, 0.5)",
|
"spark": "SELECT PERCENTILE_APPROX(amount, 0.5)",
|
||||||
"trino": "SELECT APPROX_PERCENTILE(amount, 0.5)",
|
"trino": "SELECT APPROX_PERCENTILE(amount, 0.5)",
|
||||||
|
|
|
@ -358,6 +358,10 @@ class TestPresto(Validator):
|
||||||
write={"presto": "CAST(x AS TIMESTAMP)"},
|
write={"presto": "CAST(x AS TIMESTAMP)"},
|
||||||
read={"mysql": "CAST(x AS DATETIME)", "clickhouse": "CAST(x AS DATETIME64)"},
|
read={"mysql": "CAST(x AS DATETIME)", "clickhouse": "CAST(x AS DATETIME64)"},
|
||||||
)
|
)
|
||||||
|
self.validate_all(
|
||||||
|
"CAST(x AS TIMESTAMP)",
|
||||||
|
read={"mysql": "TIMESTAMP(x)"},
|
||||||
|
)
|
||||||
|
|
||||||
def test_ddl(self):
|
def test_ddl(self):
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
|
@ -517,6 +521,14 @@ class TestPresto(Validator):
|
||||||
"SELECT SPLIT_TO_MAP('a:1;b:2;a:3', ';', ':', (k, v1, v2) -> CONCAT(v1, v2))"
|
"SELECT SPLIT_TO_MAP('a:1;b:2;a:3', ';', ':', (k, v1, v2) -> CONCAT(v1, v2))"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.validate_all(
|
||||||
|
"""JSON '"foo"'""",
|
||||||
|
write={
|
||||||
|
"bigquery": """PARSE_JSON('"foo"')""",
|
||||||
|
"presto": """JSON_PARSE('"foo"')""",
|
||||||
|
"snowflake": """PARSE_JSON('"foo"')""",
|
||||||
|
},
|
||||||
|
)
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
"SELECT ROW(1, 2)",
|
"SELECT ROW(1, 2)",
|
||||||
read={
|
read={
|
||||||
|
@ -824,9 +836,9 @@ class TestPresto(Validator):
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
"""JSON_FORMAT(JSON '"x"')""",
|
"""JSON_FORMAT(JSON '"x"')""",
|
||||||
write={
|
write={
|
||||||
"bigquery": """TO_JSON_STRING(JSON '"x"')""",
|
"bigquery": """TO_JSON_STRING(PARSE_JSON('"x"'))""",
|
||||||
"duckdb": """CAST(TO_JSON(CAST('"x"' AS JSON)) AS TEXT)""",
|
"duckdb": """CAST(TO_JSON(JSON('"x"')) AS TEXT)""",
|
||||||
"presto": """JSON_FORMAT(CAST('"x"' AS JSON))""",
|
"presto": """JSON_FORMAT(JSON_PARSE('"x"'))""",
|
||||||
"spark": """REGEXP_EXTRACT(TO_JSON(FROM_JSON('["x"]', SCHEMA_OF_JSON('["x"]'))), '^.(.*).$', 1)""",
|
"spark": """REGEXP_EXTRACT(TO_JSON(FROM_JSON('["x"]', SCHEMA_OF_JSON('["x"]'))), '^.(.*).$', 1)""",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
@ -916,14 +928,14 @@ class TestPresto(Validator):
|
||||||
"SELECT CAST(JSON '[1,23,456]' AS ARRAY(INTEGER))",
|
"SELECT CAST(JSON '[1,23,456]' AS ARRAY(INTEGER))",
|
||||||
write={
|
write={
|
||||||
"spark": "SELECT FROM_JSON('[1,23,456]', 'ARRAY<INT>')",
|
"spark": "SELECT FROM_JSON('[1,23,456]', 'ARRAY<INT>')",
|
||||||
"presto": "SELECT CAST(CAST('[1,23,456]' AS JSON) AS ARRAY(INTEGER))",
|
"presto": "SELECT CAST(JSON_PARSE('[1,23,456]') AS ARRAY(INTEGER))",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
self.validate_all(
|
self.validate_all(
|
||||||
"""SELECT CAST(JSON '{"k1":1,"k2":23,"k3":456}' AS MAP(VARCHAR, INTEGER))""",
|
"""SELECT CAST(JSON '{"k1":1,"k2":23,"k3":456}' AS MAP(VARCHAR, INTEGER))""",
|
||||||
write={
|
write={
|
||||||
"spark": 'SELECT FROM_JSON(\'{"k1":1,"k2":23,"k3":456}\', \'MAP<STRING, INT>\')',
|
"spark": 'SELECT FROM_JSON(\'{"k1":1,"k2":23,"k3":456}\', \'MAP<STRING, INT>\')',
|
||||||
"presto": 'SELECT CAST(CAST(\'{"k1":1,"k2":23,"k3":456}\' AS JSON) AS MAP(VARCHAR, INTEGER))',
|
"presto": 'SELECT CAST(JSON_PARSE(\'{"k1":1,"k2":23,"k3":456}\') AS MAP(VARCHAR, INTEGER))',
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
20
tests/fixtures/optimizer/optimizer.sql
vendored
20
tests/fixtures/optimizer/optimizer.sql
vendored
|
@ -577,10 +577,10 @@ FROM `u_cte` AS `u_cte` PIVOT(SUM(`u_cte`.`f`) AS `sum` FOR `u_cte`.`h` IN ('x',
|
||||||
# dialect: snowflake
|
# dialect: snowflake
|
||||||
SELECT * FROM u PIVOT (SUM(f) FOR h IN ('x', 'y'));
|
SELECT * FROM u PIVOT (SUM(f) FOR h IN ('x', 'y'));
|
||||||
SELECT
|
SELECT
|
||||||
"_Q_0"."G" AS "G",
|
"_q_0"."G" AS "G",
|
||||||
"_Q_0"."'x'" AS "'x'",
|
"_q_0"."'x'" AS "'x'",
|
||||||
"_Q_0"."'y'" AS "'y'"
|
"_q_0"."'y'" AS "'y'"
|
||||||
FROM "U" AS "U" PIVOT(SUM("U"."F") FOR "U"."H" IN ('x', 'y')) AS "_Q_0"
|
FROM "U" AS "U" PIVOT(SUM("U"."F") FOR "U"."H" IN ('x', 'y')) AS "_q_0"
|
||||||
;
|
;
|
||||||
|
|
||||||
# title: selecting all columns from a pivoted source and generating spark
|
# title: selecting all columns from a pivoted source and generating spark
|
||||||
|
@ -668,13 +668,13 @@ WHERE
|
||||||
GROUP BY `dAy`, `top_term`, rank
|
GROUP BY `dAy`, `top_term`, rank
|
||||||
ORDER BY `DaY` DESC;
|
ORDER BY `DaY` DESC;
|
||||||
SELECT
|
SELECT
|
||||||
`top_terms`.`refresh_date` AS `day`,
|
`TOp_TeRmS`.`refresh_date` AS `day`,
|
||||||
`top_terms`.`term` AS `top_term`,
|
`TOp_TeRmS`.`term` AS `top_term`,
|
||||||
`top_terms`.`rank` AS `rank`
|
`TOp_TeRmS`.`rank` AS `rank`
|
||||||
FROM `bigquery-public-data`.`GooGle_tReNDs`.`TOp_TeRmS` AS `top_terms`
|
FROM `bigquery-public-data`.`GooGle_tReNDs`.`TOp_TeRmS` AS `TOp_TeRmS`
|
||||||
WHERE
|
WHERE
|
||||||
`top_terms`.`rank` = 1
|
`TOp_TeRmS`.`rank` = 1
|
||||||
AND CAST(`top_terms`.`refresh_date` AS DATE) >= DATE_SUB(CURRENT_DATE, INTERVAL 2 WEEK)
|
AND CAST(`TOp_TeRmS`.`refresh_date` AS DATE) >= DATE_SUB(CURRENT_DATE, INTERVAL 2 WEEK)
|
||||||
GROUP BY
|
GROUP BY
|
||||||
`day`,
|
`day`,
|
||||||
`top_term`,
|
`top_term`,
|
||||||
|
|
|
@ -934,5 +934,8 @@ FROM foo""",
|
||||||
assert dtype.is_type("foo")
|
assert dtype.is_type("foo")
|
||||||
assert not dtype.is_type("bar")
|
assert not dtype.is_type("bar")
|
||||||
|
|
||||||
|
dtype = exp.DataType.build("a.b.c", udt=True)
|
||||||
|
assert dtype.is_type("a.b.c")
|
||||||
|
|
||||||
with self.assertRaises(ParseError):
|
with self.assertRaises(ParseError):
|
||||||
exp.DataType.build("foo")
|
exp.DataType.build("foo")
|
||||||
|
|
|
@ -223,12 +223,12 @@ class TestOptimizer(unittest.TestCase):
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
optimizer.qualify.qualify(
|
optimizer.qualify.qualify(
|
||||||
parse_one(
|
parse_one(
|
||||||
"WITH X AS (SELECT Y.A FROM DB.Y CROSS JOIN a.b.INFORMATION_SCHEMA.COLUMNS) SELECT `A` FROM X",
|
"WITH X AS (SELECT Y.A FROM DB.y CROSS JOIN a.b.INFORMATION_SCHEMA.COLUMNS) SELECT `A` FROM X",
|
||||||
read="bigquery",
|
read="bigquery",
|
||||||
),
|
),
|
||||||
dialect="bigquery",
|
dialect="bigquery",
|
||||||
).sql(),
|
).sql(),
|
||||||
'WITH "x" AS (SELECT "y"."a" AS "a" FROM "DB"."Y" AS "y" CROSS JOIN "a"."b"."INFORMATION_SCHEMA"."COLUMNS" AS "columns") SELECT "x"."a" AS "a" FROM "x"',
|
'WITH "x" AS (SELECT "y"."a" AS "a" FROM "DB"."y" AS "y" CROSS JOIN "a"."b"."INFORMATION_SCHEMA"."COLUMNS" AS "COLUMNS") SELECT "x"."a" AS "a" FROM "x"',
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
@ -776,6 +776,13 @@ FROM READ_CSV('tests/fixtures/optimizer/tpc-h/nation.csv.gz', 'delimiter', '|')
|
||||||
self.assertEqual(exp.DataType.Type.ARRAY, expression.selects[0].type.this)
|
self.assertEqual(exp.DataType.Type.ARRAY, expression.selects[0].type.this)
|
||||||
self.assertEqual(expression.selects[0].type.sql(), "ARRAY<INT>")
|
self.assertEqual(expression.selects[0].type.sql(), "ARRAY<INT>")
|
||||||
|
|
||||||
|
def test_user_defined_type_annotation(self):
|
||||||
|
schema = MappingSchema({"t": {"x": "int"}}, dialect="postgres")
|
||||||
|
expression = annotate_types(parse_one("SELECT CAST(x AS IPADDRESS) FROM t"), schema=schema)
|
||||||
|
|
||||||
|
self.assertEqual(exp.DataType.Type.USERDEFINED, expression.selects[0].type.this)
|
||||||
|
self.assertEqual(expression.selects[0].type.sql(dialect="postgres"), "IPADDRESS")
|
||||||
|
|
||||||
def test_recursive_cte(self):
|
def test_recursive_cte(self):
|
||||||
query = parse_one(
|
query = parse_one(
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -433,7 +433,7 @@ class TestParser(unittest.TestCase):
|
||||||
self.assertEqual(parse_one("TIMESTAMP(1) WITH TIME ZONE").sql(), "TIMESTAMPTZ(1)")
|
self.assertEqual(parse_one("TIMESTAMP(1) WITH TIME ZONE").sql(), "TIMESTAMPTZ(1)")
|
||||||
self.assertEqual(parse_one("TIMESTAMP(1) WITH LOCAL TIME ZONE").sql(), "TIMESTAMPLTZ(1)")
|
self.assertEqual(parse_one("TIMESTAMP(1) WITH LOCAL TIME ZONE").sql(), "TIMESTAMPLTZ(1)")
|
||||||
self.assertEqual(parse_one("TIMESTAMP(1) WITHOUT TIME ZONE").sql(), "TIMESTAMP(1)")
|
self.assertEqual(parse_one("TIMESTAMP(1) WITHOUT TIME ZONE").sql(), "TIMESTAMP(1)")
|
||||||
self.assertEqual(parse_one("""JSON '{"x":"y"}'""").sql(), """CAST('{"x":"y"}' AS JSON)""")
|
self.assertEqual(parse_one("""JSON '{"x":"y"}'""").sql(), """PARSE_JSON('{"x":"y"}')""")
|
||||||
self.assertIsInstance(parse_one("TIMESTAMP(1)"), exp.Func)
|
self.assertIsInstance(parse_one("TIMESTAMP(1)"), exp.Func)
|
||||||
self.assertIsInstance(parse_one("TIMESTAMP('2022-01-01')"), exp.Func)
|
self.assertIsInstance(parse_one("TIMESTAMP('2022-01-01')"), exp.Func)
|
||||||
self.assertIsInstance(parse_one("TIMESTAMP()"), exp.Func)
|
self.assertIsInstance(parse_one("TIMESTAMP()"), exp.Func)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue