Adding upstream version 21.1.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
92ffd7746f
commit
b01402dc30
103 changed files with 18237 additions and 17794 deletions
File diff suppressed because one or more lines are too long
|
@ -76,8 +76,8 @@
|
|||
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a><span class="n">__version_tuple__</span><span class="p">:</span> <span class="n">VERSION_TUPLE</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="n">version_tuple</span><span class="p">:</span> <span class="n">VERSION_TUPLE</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="n">__version__</span> <span class="o">=</span> <span class="n">version</span> <span class="o">=</span> <span class="s1">'21.1.0'</span>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</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">21</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="n">__version__</span> <span class="o">=</span> <span class="n">version</span> <span class="o">=</span> <span class="s1">'21.1.1'</span>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</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">21</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -97,7 +97,7 @@
|
|||
<section id="version">
|
||||
<div class="attr variable">
|
||||
<span class="name">version</span><span class="annotation">: str</span> =
|
||||
<span class="default_value">'21.1.0'</span>
|
||||
<span class="default_value">'21.1.1'</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -109,7 +109,7 @@
|
|||
<section id="version_tuple">
|
||||
<div class="attr variable">
|
||||
<span class="name">version_tuple</span><span class="annotation">: object</span> =
|
||||
<span class="default_value">(21, 1, 0)</span>
|
||||
<span class="default_value">(21, 1, 1)</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
|
@ -784,7 +784,7 @@
|
|||
<div class="attr function">
|
||||
|
||||
<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">'139981980193248'</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">'139981980193248'</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">'139981978717392'</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">'139663034964704'</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">'139663034964704'</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">'139663034977728'</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>
|
||||
|
||||
|
@ -1840,7 +1840,7 @@
|
|||
<input id="DataFrame.__init__-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<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">'139981983176912'</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">'139981983444528'</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">'139663038364112'</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">'139663039727648'</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>
|
||||
|
||||
|
@ -2088,7 +2088,7 @@
|
|||
<div class="attr function">
|
||||
|
||||
<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="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139981979212416'</span><span class="o">></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="o"><</span><span class="n">MagicMock</span> <span class="nb">id</span><span class="o">=</span><span class="s1">'139663035688096'</span><span class="o">></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>
|
||||
|
||||
|
@ -2837,7 +2837,7 @@ is unlikely to come up.</p>
|
|||
<div class="decorator">@operation(Operation.FROM)</div>
|
||||
|
||||
<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">'139981977951568'</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">'139663035617568'</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>
|
||||
|
||||
|
@ -2906,7 +2906,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>
|
||||
|
||||
<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">'139981977374288'</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">'139981977374288'</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">'139663033686128'</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">'139663033686128'</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>
|
||||
|
||||
|
@ -3111,7 +3111,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>
|
||||
|
||||
<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">'139981977374288'</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">'139981977374288'</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">'139663033686128'</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">'139663033686128'</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>
|
||||
|
||||
|
@ -3831,7 +3831,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">
|
||||
<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">'139981981343056'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -3875,7 +3875,7 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
<div class="decorator">@classmethod</div>
|
||||
|
||||
<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">'139981981343056'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -3896,7 +3896,7 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
<div class="decorator">@classmethod</div>
|
||||
|
||||
<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">'139981981343056'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -3917,7 +3917,7 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
<div class="decorator">@classmethod</div>
|
||||
|
||||
<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">'139981981343056'</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">'139981981343056'</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">'139663036908736'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -3944,7 +3944,7 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
<div class="decorator">@classmethod</div>
|
||||
|
||||
<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">'139981981343056'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -3983,7 +3983,7 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
<div class="attr function">
|
||||
|
||||
<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">'139981981343056'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -4004,7 +4004,7 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
<div class="attr function">
|
||||
|
||||
<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">'139981981343056'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -4598,7 +4598,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
<div class="attr function">
|
||||
|
||||
<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">'139981981343056'</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">'139981981343056'</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">'139663036908736'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -4619,7 +4619,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
<div class="attr function">
|
||||
|
||||
<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">'139981981343056'</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">'139981981343056'</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">'139663036908736'</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">'139663036908736'</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>
|
||||
|
||||
|
@ -4654,7 +4654,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
<div class="attr function">
|
||||
|
||||
<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">'139981977905056'</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">'139663034172272'</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>
|
||||
|
||||
|
@ -4899,7 +4899,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
<div class="decorator">@classmethod</div>
|
||||
|
||||
<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">'139981978118480'</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">'139981978118480'</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">'139663034577728'</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">'139663034577728'</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>
|
||||
|
||||
|
@ -4920,7 +4920,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
<div class="decorator">@classmethod</div>
|
||||
|
||||
<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">'139981978118480'</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">'139981978118480'</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">'139663034577728'</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">'139663034577728'</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>
|
||||
|
||||
|
@ -5162,7 +5162,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
<div class="attr function">
|
||||
|
||||
<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">'139981978118480'</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">'139981978118480'</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">'139663034577728'</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">'139663034577728'</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>
|
||||
|
||||
|
@ -5189,7 +5189,7 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
<div class="attr function">
|
||||
|
||||
<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">'139981978118480'</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">'139981978118480'</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">'139663034577728'</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">'139663034577728'</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>
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -892,7 +892,8 @@ Default: 3</li>
|
|||
|
||||
</div>
|
||||
<div><dt><a href="hive.html#Hive.Parser">sqlglot.dialects.hive.Hive.Parser</a></dt>
|
||||
<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.VALUES_FOLLOWED_BY_PAREN" class="variable"><a href="hive.html#Hive.Parser.VALUES_FOLLOWED_BY_PAREN">VALUES_FOLLOWED_BY_PAREN</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>
|
||||
|
||||
</div>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
|
@ -2026,6 +2026,7 @@ Default: 3</li>
|
|||
<dd id="Postgres.Parser.MODIFIERS_ATTACHED_TO_UNION" class="variable"><a href="../parser.html#Parser.MODIFIERS_ATTACHED_TO_UNION">MODIFIERS_ATTACHED_TO_UNION</a></dd>
|
||||
<dd id="Postgres.Parser.UNION_MODIFIERS" class="variable"><a href="../parser.html#Parser.UNION_MODIFIERS">UNION_MODIFIERS</a></dd>
|
||||
<dd id="Postgres.Parser.NO_PAREN_IF_COMMANDS" class="variable"><a href="../parser.html#Parser.NO_PAREN_IF_COMMANDS">NO_PAREN_IF_COMMANDS</a></dd>
|
||||
<dd id="Postgres.Parser.VALUES_FOLLOWED_BY_PAREN" class="variable"><a href="../parser.html#Parser.VALUES_FOLLOWED_BY_PAREN">VALUES_FOLLOWED_BY_PAREN</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_message_context" class="variable"><a href="../parser.html#Parser.error_message_context">error_message_context</a></dd>
|
||||
<dd id="Postgres.Parser.max_errors" class="variable"><a href="../parser.html#Parser.max_errors">max_errors</a></dd>
|
||||
|
@ -2411,7 +2412,7 @@ Default: True</li>
|
|||
<div class="attr variable">
|
||||
<span class="name">SUPPORTED_JSON_PATH_PARTS</span> =
|
||||
<input id="Postgres.Generator.SUPPORTED_JSON_PATH_PARTS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<label class="view-value-button pdoc-button" for="Postgres.Generator.SUPPORTED_JSON_PATH_PARTS-view-value"></label><span class="default_value">{<class '<a href="../expressions.html#JSONPathSubscript">sqlglot.expressions.JSONPathSubscript</a>'>, <class '<a href="../expressions.html#JSONPathRoot">sqlglot.expressions.JSONPathRoot</a>'>, <class '<a href="../expressions.html#JSONPathKey">sqlglot.expressions.JSONPathKey</a>'>}</span>
|
||||
<label class="view-value-button pdoc-button" for="Postgres.Generator.SUPPORTED_JSON_PATH_PARTS-view-value"></label><span class="default_value">{<class '<a href="../expressions.html#JSONPathSubscript">sqlglot.expressions.JSONPathSubscript</a>'>, <class '<a href="../expressions.html#JSONPathKey">sqlglot.expressions.JSONPathKey</a>'>, <class '<a href="../expressions.html#JSONPathRoot">sqlglot.expressions.JSONPathRoot</a>'>}</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -955,6 +955,7 @@ Default: 3</li>
|
|||
<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.STRICT_CAST" class="variable"><a href="hive.html#Hive.Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||
<dd id="Spark.Parser.VALUES_FOLLOWED_BY_PAREN" class="variable"><a href="hive.html#Hive.Parser.VALUES_FOLLOWED_BY_PAREN">VALUES_FOLLOWED_BY_PAREN</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>
|
||||
|
||||
|
|
|
@ -1279,6 +1279,7 @@ Default: 3</li>
|
|||
<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.STRICT_CAST" class="variable"><a href="hive.html#Hive.Parser.STRICT_CAST">STRICT_CAST</a></dd>
|
||||
<dd id="Spark2.Parser.VALUES_FOLLOWED_BY_PAREN" class="variable"><a href="hive.html#Hive.Parser.VALUES_FOLLOWED_BY_PAREN">VALUES_FOLLOWED_BY_PAREN</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>
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1410,6 +1410,7 @@ Default: 3</li>
|
|||
<dd id="Tableau.Parser.STRING_ALIASES" class="variable"><a href="../parser.html#Parser.STRING_ALIASES">STRING_ALIASES</a></dd>
|
||||
<dd id="Tableau.Parser.MODIFIERS_ATTACHED_TO_UNION" class="variable"><a href="../parser.html#Parser.MODIFIERS_ATTACHED_TO_UNION">MODIFIERS_ATTACHED_TO_UNION</a></dd>
|
||||
<dd id="Tableau.Parser.UNION_MODIFIERS" class="variable"><a href="../parser.html#Parser.UNION_MODIFIERS">UNION_MODIFIERS</a></dd>
|
||||
<dd id="Tableau.Parser.VALUES_FOLLOWED_BY_PAREN" class="variable"><a href="../parser.html#Parser.VALUES_FOLLOWED_BY_PAREN">VALUES_FOLLOWED_BY_PAREN</a></dd>
|
||||
<dd id="Tableau.Parser.error_level" class="variable"><a href="../parser.html#Parser.error_level">error_level</a></dd>
|
||||
<dd id="Tableau.Parser.error_message_context" class="variable"><a href="../parser.html#Parser.error_message_context">error_message_context</a></dd>
|
||||
<dd id="Tableau.Parser.max_errors" class="variable"><a href="../parser.html#Parser.max_errors">max_errors</a></dd>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -605,7 +605,7 @@ Default: True</li>
|
|||
<div class="attr variable">
|
||||
<span class="name">SUPPORTED_JSON_PATH_PARTS</span> =
|
||||
<input id="Trino.Generator.SUPPORTED_JSON_PATH_PARTS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<label class="view-value-button pdoc-button" for="Trino.Generator.SUPPORTED_JSON_PATH_PARTS-view-value"></label><span class="default_value">{<class '<a href="../expressions.html#JSONPathSubscript">sqlglot.expressions.JSONPathSubscript</a>'>, <class '<a href="../expressions.html#JSONPathRoot">sqlglot.expressions.JSONPathRoot</a>'>, <class '<a href="../expressions.html#JSONPathKey">sqlglot.expressions.JSONPathKey</a>'>}</span>
|
||||
<label class="view-value-button pdoc-button" for="Trino.Generator.SUPPORTED_JSON_PATH_PARTS-view-value"></label><span class="default_value">{<class '<a href="../expressions.html#JSONPathSubscript">sqlglot.expressions.JSONPathSubscript</a>'>, <class '<a href="../expressions.html#JSONPathKey">sqlglot.expressions.JSONPathKey</a>'>, <class '<a href="../expressions.html#JSONPathRoot">sqlglot.expressions.JSONPathRoot</a>'>}</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
|
@ -126,6 +126,15 @@
|
|||
<li>
|
||||
<a class="function" href="#is_date_unit">is_date_unit</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="class" href="#SingleValuedMapping">SingleValuedMapping</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="function" href="#SingleValuedMapping.__init__">SingleValuedMapping</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -157,7 +166,7 @@
|
|||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">import</span> <span class="nn">re</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">import</span> <span class="nn">sys</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">import</span> <span class="nn">typing</span> <span class="k">as</span> <span class="nn">t</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">collections.abc</span> <span class="kn">import</span> <span class="n">Collection</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">collections.abc</span> <span class="kn">import</span> <span class="n">Collection</span><span class="p">,</span> <span class="n">Set</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span> <span class="nn">contextlib</span> <span class="kn">import</span> <span class="n">contextmanager</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="kn">from</span> <span class="nn">copy</span> <span class="kn">import</span> <span class="n">copy</span>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">Enum</span>
|
||||
|
@ -647,6 +656,34 @@
|
|||
</span><span id="L-496"><a href="#L-496"><span class="linenos">496</span></a>
|
||||
</span><span id="L-497"><a href="#L-497"><span class="linenos">497</span></a><span class="k">def</span> <span class="nf">is_date_unit</span><span class="p">(</span><span class="n">expression</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">exp</span><span class="o">.</span><span class="n">Expression</span><span class="p">])</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||
</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a> <span class="k">return</span> <span class="n">expression</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">expression</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="ow">in</span> <span class="n">DATE_UNITS</span>
|
||||
</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><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a><span class="n">K</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="n">TypeVar</span><span class="p">(</span><span class="s2">"K"</span><span class="p">)</span>
|
||||
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a><span class="n">V</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="n">TypeVar</span><span class="p">(</span><span class="s2">"V"</span><span class="p">)</span>
|
||||
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a>
|
||||
</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="k">class</span> <span class="nc">SingleValuedMapping</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">Mapping</span><span class="p">[</span><span class="n">K</span><span class="p">,</span> <span class="n">V</span><span class="p">]):</span>
|
||||
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a><span class="sd"> Mapping where all keys return the same 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"> This rigamarole is meant to avoid copying keys, which was originally intended</span>
|
||||
</span><span id="L-510"><a href="#L-510"><span class="linenos">510</span></a><span class="sd"> as an optimization while qualifying columns for tables with lots of columns.</span>
|
||||
</span><span id="L-511"><a href="#L-511"><span class="linenos">511</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-512"><a href="#L-512"><span class="linenos">512</span></a>
|
||||
</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</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">Collection</span><span class="p">[</span><span class="n">K</span><span class="p">],</span> <span class="n">value</span><span class="p">:</span> <span class="n">V</span><span class="p">):</span>
|
||||
</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_keys</span> <span class="o">=</span> <span class="n">keys</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">keys</span><span class="p">,</span> <span class="n">Set</span><span class="p">)</span> <span class="k">else</span> <span class="nb">set</span><span class="p">(</span><span class="n">keys</span><span class="p">)</span>
|
||||
</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">value</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="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">:</span> <span class="n">K</span><span class="p">)</span> <span class="o">-></span> <span class="n">V</span><span class="p">:</span>
|
||||
</span><span id="L-518"><a href="#L-518"><span class="linenos">518</span></a> <span class="k">if</span> <span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</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="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_value</span>
|
||||
</span><span id="L-520"><a href="#L-520"><span class="linenos">520</span></a> <span class="k">raise</span> <span class="ne">KeyError</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="L-521"><a href="#L-521"><span class="linenos">521</span></a>
|
||||
</span><span id="L-522"><a href="#L-522"><span class="linenos">522</span></a> <span class="k">def</span> <span class="fm">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span>
|
||||
</span><span id="L-523"><a href="#L-523"><span class="linenos">523</span></a> <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_keys</span><span class="p">)</span>
|
||||
</span><span id="L-524"><a href="#L-524"><span class="linenos">524</span></a>
|
||||
</span><span id="L-525"><a href="#L-525"><span class="linenos">525</span></a> <span class="k">def</span> <span class="fm">__iter__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Iterator</span><span class="p">[</span><span class="n">K</span><span class="p">]:</span>
|
||||
</span><span id="L-526"><a href="#L-526"><span class="linenos">526</span></a> <span class="k">return</span> <span class="nb">iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_keys</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1808,7 +1845,7 @@ belong to some totally-ordered set.</p>
|
|||
<section id="DATE_UNITS">
|
||||
<div class="attr variable">
|
||||
<span class="name">DATE_UNITS</span> =
|
||||
<span class="default_value">{'quarter', 'month', 'day', 'year', 'week', 'year_month'}</span>
|
||||
<span class="default_value">{'month', 'day', 'year_month', 'quarter', 'week', 'year'}</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -1835,6 +1872,81 @@ belong to some totally-ordered set.</p>
|
|||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="SingleValuedMapping">
|
||||
<input id="SingleValuedMapping-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">SingleValuedMapping</span><wbr>(<span class="base">typing.Mapping[~K, ~V]</span>):
|
||||
|
||||
<label class="view-source-button" for="SingleValuedMapping-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SingleValuedMapping"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="SingleValuedMapping-506"><a href="#SingleValuedMapping-506"><span class="linenos">506</span></a><span class="k">class</span> <span class="nc">SingleValuedMapping</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">Mapping</span><span class="p">[</span><span class="n">K</span><span class="p">,</span> <span class="n">V</span><span class="p">]):</span>
|
||||
</span><span id="SingleValuedMapping-507"><a href="#SingleValuedMapping-507"><span class="linenos">507</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="SingleValuedMapping-508"><a href="#SingleValuedMapping-508"><span class="linenos">508</span></a><span class="sd"> Mapping where all keys return the same value.</span>
|
||||
</span><span id="SingleValuedMapping-509"><a href="#SingleValuedMapping-509"><span class="linenos">509</span></a>
|
||||
</span><span id="SingleValuedMapping-510"><a href="#SingleValuedMapping-510"><span class="linenos">510</span></a><span class="sd"> This rigamarole is meant to avoid copying keys, which was originally intended</span>
|
||||
</span><span id="SingleValuedMapping-511"><a href="#SingleValuedMapping-511"><span class="linenos">511</span></a><span class="sd"> as an optimization while qualifying columns for tables with lots of columns.</span>
|
||||
</span><span id="SingleValuedMapping-512"><a href="#SingleValuedMapping-512"><span class="linenos">512</span></a><span class="sd"> """</span>
|
||||
</span><span id="SingleValuedMapping-513"><a href="#SingleValuedMapping-513"><span class="linenos">513</span></a>
|
||||
</span><span id="SingleValuedMapping-514"><a href="#SingleValuedMapping-514"><span class="linenos">514</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</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">Collection</span><span class="p">[</span><span class="n">K</span><span class="p">],</span> <span class="n">value</span><span class="p">:</span> <span class="n">V</span><span class="p">):</span>
|
||||
</span><span id="SingleValuedMapping-515"><a href="#SingleValuedMapping-515"><span class="linenos">515</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_keys</span> <span class="o">=</span> <span class="n">keys</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">keys</span><span class="p">,</span> <span class="n">Set</span><span class="p">)</span> <span class="k">else</span> <span class="nb">set</span><span class="p">(</span><span class="n">keys</span><span class="p">)</span>
|
||||
</span><span id="SingleValuedMapping-516"><a href="#SingleValuedMapping-516"><span class="linenos">516</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">value</span>
|
||||
</span><span id="SingleValuedMapping-517"><a href="#SingleValuedMapping-517"><span class="linenos">517</span></a>
|
||||
</span><span id="SingleValuedMapping-518"><a href="#SingleValuedMapping-518"><span class="linenos">518</span></a> <span class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">:</span> <span class="n">K</span><span class="p">)</span> <span class="o">-></span> <span class="n">V</span><span class="p">:</span>
|
||||
</span><span id="SingleValuedMapping-519"><a href="#SingleValuedMapping-519"><span class="linenos">519</span></a> <span class="k">if</span> <span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_keys</span><span class="p">:</span>
|
||||
</span><span id="SingleValuedMapping-520"><a href="#SingleValuedMapping-520"><span class="linenos">520</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_value</span>
|
||||
</span><span id="SingleValuedMapping-521"><a href="#SingleValuedMapping-521"><span class="linenos">521</span></a> <span class="k">raise</span> <span class="ne">KeyError</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
</span><span id="SingleValuedMapping-522"><a href="#SingleValuedMapping-522"><span class="linenos">522</span></a>
|
||||
</span><span id="SingleValuedMapping-523"><a href="#SingleValuedMapping-523"><span class="linenos">523</span></a> <span class="k">def</span> <span class="fm">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span>
|
||||
</span><span id="SingleValuedMapping-524"><a href="#SingleValuedMapping-524"><span class="linenos">524</span></a> <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_keys</span><span class="p">)</span>
|
||||
</span><span id="SingleValuedMapping-525"><a href="#SingleValuedMapping-525"><span class="linenos">525</span></a>
|
||||
</span><span id="SingleValuedMapping-526"><a href="#SingleValuedMapping-526"><span class="linenos">526</span></a> <span class="k">def</span> <span class="fm">__iter__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Iterator</span><span class="p">[</span><span class="n">K</span><span class="p">]:</span>
|
||||
</span><span id="SingleValuedMapping-527"><a href="#SingleValuedMapping-527"><span class="linenos">527</span></a> <span class="k">return</span> <span class="nb">iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_keys</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
<div class="docstring"><p>Mapping where all keys return the same value.</p>
|
||||
|
||||
<p>This rigamarole is meant to avoid copying keys, which was originally intended
|
||||
as an optimization while qualifying columns for tables with lots of columns.</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="SingleValuedMapping.__init__" class="classattr">
|
||||
<input id="SingleValuedMapping.__init__-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
||||
<span class="name">SingleValuedMapping</span><span class="signature pdoc-code condensed">(<span class="param"><span class="n">keys</span><span class="p">:</span> <span class="n">Collection</span><span class="p">[</span><span class="o">~</span><span class="n">K</span><span class="p">]</span>, </span><span class="param"><span class="n">value</span><span class="p">:</span> <span class="o">~</span><span class="n">V</span></span>)</span>
|
||||
|
||||
<label class="view-source-button" for="SingleValuedMapping.__init__-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SingleValuedMapping.__init__"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="SingleValuedMapping.__init__-514"><a href="#SingleValuedMapping.__init__-514"><span class="linenos">514</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</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">Collection</span><span class="p">[</span><span class="n">K</span><span class="p">],</span> <span class="n">value</span><span class="p">:</span> <span class="n">V</span><span class="p">):</span>
|
||||
</span><span id="SingleValuedMapping.__init__-515"><a href="#SingleValuedMapping.__init__-515"><span class="linenos">515</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_keys</span> <span class="o">=</span> <span class="n">keys</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">keys</span><span class="p">,</span> <span class="n">Set</span><span class="p">)</span> <span class="k">else</span> <span class="nb">set</span><span class="p">(</span><span class="n">keys</span><span class="p">)</span>
|
||||
</span><span id="SingleValuedMapping.__init__-516"><a href="#SingleValuedMapping.__init__-516"><span class="linenos">516</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">value</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="inherited">
|
||||
<h5>Inherited Members</h5>
|
||||
<dl>
|
||||
<div><dt>collections.abc.Mapping</dt>
|
||||
<dd id="SingleValuedMapping.get" class="function">get</dd>
|
||||
<dd id="SingleValuedMapping.keys" class="function">keys</dd>
|
||||
<dd id="SingleValuedMapping.items" class="function">items</dd>
|
||||
<dd id="SingleValuedMapping.values" class="function">values</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
<script>
|
||||
|
|
|
@ -262,7 +262,7 @@
|
|||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Could not find </span><span class="si">{</span><span class="n">column</span><span class="si">}</span><span class="s2"> in </span><span class="si">{</span><span class="n">scope</span><span class="o">.</span><span class="n">expression</span><span class="si">}</span><span class="s2">"</span><span class="p">)</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="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">scope</span><span class="o">.</span><span class="n">union_scopes</span><span class="p">:</span>
|
||||
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a> <span class="n">to_node</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">scope</span><span class="o">=</span><span class="n">s</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="n">upstream</span><span class="p">)</span>
|
||||
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a> <span class="n">to_node</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">scope</span><span class="o">=</span><span class="n">s</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="n">upstream</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</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="k">return</span> <span class="n">upstream</span>
|
||||
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a>
|
||||
|
@ -318,96 +318,100 @@
|
|||
</span><span id="L-209"><a href="#L-209"><span class="linenos">209</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">Scope</span><span class="p">):</span>
|
||||
</span><span id="L-210"><a href="#L-210"><span class="linenos">210</span></a> <span class="c1"># The table itself came from a more specific scope. Recurse into that one using the unaliased column name.</span>
|
||||
</span><span id="L-211"><a href="#L-211"><span class="linenos">211</span></a> <span class="n">to_node</span><span class="p">(</span>
|
||||
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a> <span class="n">c</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">scope</span><span class="o">=</span><span class="n">source</span><span class="p">,</span> <span class="n">scope_name</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="n">node</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">aliases</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">table</span><span class="p">)</span>
|
||||
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a> <span class="p">)</span>
|
||||
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a> <span class="c1"># The source is not a scope - we've reached the end of the line. At this point, if a source is not found</span>
|
||||
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="c1"># it means this column's lineage is unknown. This can happen if the definition of a source used in a query</span>
|
||||
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="c1"># is not passed into the `sources` map.</span>
|
||||
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">source</span> <span class="ow">or</span> <span class="n">exp</span><span class="o">.</span><span class="n">Placeholder</span><span class="p">()</span>
|
||||
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a> <span class="n">node</span><span class="o">.</span><span class="n">downstream</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Node</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">c</span><span class="o">.</span><span class="n">sql</span><span class="p">(),</span> <span class="n">source</span><span class="o">=</span><span class="n">source</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">source</span><span class="p">))</span>
|
||||
</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a>
|
||||
</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a> <span class="k">return</span> <span class="n">node</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="k">return</span> <span class="n">to_node</span><span class="p">(</span><span class="n">column</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="n">column</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">scope</span><span class="p">)</span>
|
||||
</span><span id="L-212"><a href="#L-212"><span class="linenos">212</span></a> <span class="n">c</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
|
||||
</span><span id="L-213"><a href="#L-213"><span class="linenos">213</span></a> <span class="n">scope</span><span class="o">=</span><span class="n">source</span><span class="p">,</span>
|
||||
</span><span id="L-214"><a href="#L-214"><span class="linenos">214</span></a> <span class="n">scope_name</span><span class="o">=</span><span class="n">table</span><span class="p">,</span>
|
||||
</span><span id="L-215"><a href="#L-215"><span class="linenos">215</span></a> <span class="n">upstream</span><span class="o">=</span><span class="n">node</span><span class="p">,</span>
|
||||
</span><span id="L-216"><a href="#L-216"><span class="linenos">216</span></a> <span class="n">alias</span><span class="o">=</span><span class="n">aliases</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">table</span><span class="p">)</span> <span class="ow">or</span> <span class="n">alias</span><span class="p">,</span>
|
||||
</span><span id="L-217"><a href="#L-217"><span class="linenos">217</span></a> <span class="p">)</span>
|
||||
</span><span id="L-218"><a href="#L-218"><span class="linenos">218</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-219"><a href="#L-219"><span class="linenos">219</span></a> <span class="c1"># The source is not a scope - we've reached the end of the line. At this point, if a source is not found</span>
|
||||
</span><span id="L-220"><a href="#L-220"><span class="linenos">220</span></a> <span class="c1"># it means this column's lineage is unknown. This can happen if the definition of a source used in a query</span>
|
||||
</span><span id="L-221"><a href="#L-221"><span class="linenos">221</span></a> <span class="c1"># is not passed into the `sources` map.</span>
|
||||
</span><span id="L-222"><a href="#L-222"><span class="linenos">222</span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">source</span> <span class="ow">or</span> <span class="n">exp</span><span class="o">.</span><span class="n">Placeholder</span><span class="p">()</span>
|
||||
</span><span id="L-223"><a href="#L-223"><span class="linenos">223</span></a> <span class="n">node</span><span class="o">.</span><span class="n">downstream</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Node</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">c</span><span class="o">.</span><span class="n">sql</span><span class="p">(),</span> <span class="n">source</span><span class="o">=</span><span class="n">source</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">source</span><span class="p">))</span>
|
||||
</span><span id="L-224"><a href="#L-224"><span class="linenos">224</span></a>
|
||||
</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a>
|
||||
</span><span id="L-226"><a href="#L-226"><span class="linenos">226</span></a><span class="k">class</span> <span class="nc">GraphHTML</span><span class="p">:</span>
|
||||
</span><span id="L-227"><a href="#L-227"><span class="linenos">227</span></a><span class="w"> </span><span class="sd">"""Node to HTML generator using vis.js.</span>
|
||||
</span><span id="L-225"><a href="#L-225"><span class="linenos">225</span></a> <span class="k">return</span> <span class="n">node</span>
|
||||
</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="k">return</span> <span class="n">to_node</span><span class="p">(</span><span class="n">column</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="n">column</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">scope</span><span class="p">)</span>
|
||||
</span><span id="L-228"><a href="#L-228"><span class="linenos">228</span></a>
|
||||
</span><span id="L-229"><a href="#L-229"><span class="linenos">229</span></a><span class="sd"> https://visjs.github.io/vis-network/docs/network/</span>
|
||||
</span><span id="L-230"><a href="#L-230"><span class="linenos">230</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-231"><a href="#L-231"><span class="linenos">231</span></a>
|
||||
</span><span id="L-232"><a href="#L-232"><span class="linenos">232</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
|
||||
</span><span id="L-233"><a href="#L-233"><span class="linenos">233</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">nodes</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">edges</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="n">imports</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
</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="bp">self</span><span class="o">.</span><span class="n">imports</span> <span class="o">=</span> <span class="n">imports</span>
|
||||
</span><span id="L-236"><a href="#L-236"><span class="linenos">236</span></a>
|
||||
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a> <span class="s2">"height"</span><span class="p">:</span> <span class="s2">"500px"</span><span class="p">,</span>
|
||||
</span><span id="L-239"><a href="#L-239"><span class="linenos">239</span></a> <span class="s2">"width"</span><span class="p">:</span> <span class="s2">"100%"</span><span class="p">,</span>
|
||||
</span><span id="L-240"><a href="#L-240"><span class="linenos">240</span></a> <span class="s2">"layout"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-241"><a href="#L-241"><span class="linenos">241</span></a> <span class="s2">"hierarchical"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-242"><a href="#L-242"><span class="linenos">242</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
</span><span id="L-243"><a href="#L-243"><span class="linenos">243</span></a> <span class="s2">"nodeSpacing"</span><span class="p">:</span> <span class="mi">200</span><span class="p">,</span>
|
||||
</span><span id="L-244"><a href="#L-244"><span class="linenos">244</span></a> <span class="s2">"sortMethod"</span><span class="p">:</span> <span class="s2">"directed"</span><span class="p">,</span>
|
||||
</span><span id="L-245"><a href="#L-245"><span class="linenos">245</span></a> <span class="p">},</span>
|
||||
</span><span id="L-246"><a href="#L-246"><span class="linenos">246</span></a> <span class="p">},</span>
|
||||
</span><span id="L-247"><a href="#L-247"><span class="linenos">247</span></a> <span class="s2">"interaction"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-248"><a href="#L-248"><span class="linenos">248</span></a> <span class="s2">"dragNodes"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="L-249"><a href="#L-249"><span class="linenos">249</span></a> <span class="s2">"selectable"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="L-229"><a href="#L-229"><span class="linenos">229</span></a>
|
||||
</span><span id="L-230"><a href="#L-230"><span class="linenos">230</span></a><span class="k">class</span> <span class="nc">GraphHTML</span><span class="p">:</span>
|
||||
</span><span id="L-231"><a href="#L-231"><span class="linenos">231</span></a><span class="w"> </span><span class="sd">"""Node to HTML generator using vis.js.</span>
|
||||
</span><span id="L-232"><a href="#L-232"><span class="linenos">232</span></a>
|
||||
</span><span id="L-233"><a href="#L-233"><span class="linenos">233</span></a><span class="sd"> https://visjs.github.io/vis-network/docs/network/</span>
|
||||
</span><span id="L-234"><a href="#L-234"><span class="linenos">234</span></a><span class="sd"> """</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="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
|
||||
</span><span id="L-237"><a href="#L-237"><span class="linenos">237</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">nodes</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">edges</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="n">imports</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="L-238"><a href="#L-238"><span class="linenos">238</span></a> <span class="p">):</span>
|
||||
</span><span id="L-239"><a href="#L-239"><span class="linenos">239</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span> <span class="o">=</span> <span class="n">imports</span>
|
||||
</span><span id="L-240"><a href="#L-240"><span class="linenos">240</span></a>
|
||||
</span><span id="L-241"><a href="#L-241"><span class="linenos">241</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="L-242"><a href="#L-242"><span class="linenos">242</span></a> <span class="s2">"height"</span><span class="p">:</span> <span class="s2">"500px"</span><span class="p">,</span>
|
||||
</span><span id="L-243"><a href="#L-243"><span class="linenos">243</span></a> <span class="s2">"width"</span><span class="p">:</span> <span class="s2">"100%"</span><span class="p">,</span>
|
||||
</span><span id="L-244"><a href="#L-244"><span class="linenos">244</span></a> <span class="s2">"layout"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-245"><a href="#L-245"><span class="linenos">245</span></a> <span class="s2">"hierarchical"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-246"><a href="#L-246"><span class="linenos">246</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
</span><span id="L-247"><a href="#L-247"><span class="linenos">247</span></a> <span class="s2">"nodeSpacing"</span><span class="p">:</span> <span class="mi">200</span><span class="p">,</span>
|
||||
</span><span id="L-248"><a href="#L-248"><span class="linenos">248</span></a> <span class="s2">"sortMethod"</span><span class="p">:</span> <span class="s2">"directed"</span><span class="p">,</span>
|
||||
</span><span id="L-249"><a href="#L-249"><span class="linenos">249</span></a> <span class="p">},</span>
|
||||
</span><span id="L-250"><a href="#L-250"><span class="linenos">250</span></a> <span class="p">},</span>
|
||||
</span><span id="L-251"><a href="#L-251"><span class="linenos">251</span></a> <span class="s2">"physics"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-252"><a href="#L-252"><span class="linenos">252</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="L-253"><a href="#L-253"><span class="linenos">253</span></a> <span class="p">},</span>
|
||||
</span><span id="L-254"><a href="#L-254"><span class="linenos">254</span></a> <span class="s2">"edges"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-255"><a href="#L-255"><span class="linenos">255</span></a> <span class="s2">"arrows"</span><span class="p">:</span> <span class="s2">"to"</span><span class="p">,</span>
|
||||
</span><span id="L-256"><a href="#L-256"><span class="linenos">256</span></a> <span class="p">},</span>
|
||||
</span><span id="L-257"><a href="#L-257"><span class="linenos">257</span></a> <span class="s2">"nodes"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-258"><a href="#L-258"><span class="linenos">258</span></a> <span class="s2">"font"</span><span class="p">:</span> <span class="s2">"20px monaco"</span><span class="p">,</span>
|
||||
</span><span id="L-259"><a href="#L-259"><span class="linenos">259</span></a> <span class="s2">"shape"</span><span class="p">:</span> <span class="s2">"box"</span><span class="p">,</span>
|
||||
</span><span id="L-260"><a href="#L-260"><span class="linenos">260</span></a> <span class="s2">"widthConstraint"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a> <span class="s2">"maximum"</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span>
|
||||
</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a> <span class="p">},</span>
|
||||
</span><span id="L-263"><a href="#L-263"><span class="linenos">263</span></a> <span class="p">},</span>
|
||||
</span><span id="L-264"><a href="#L-264"><span class="linenos">264</span></a> <span class="o">**</span><span class="p">(</span><span class="n">options</span> <span class="ow">or</span> <span class="p">{}),</span>
|
||||
</span><span id="L-265"><a href="#L-265"><span class="linenos">265</span></a> <span class="p">}</span>
|
||||
</span><span id="L-266"><a href="#L-266"><span class="linenos">266</span></a>
|
||||
</span><span id="L-267"><a href="#L-267"><span class="linenos">267</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">nodes</span> <span class="o">=</span> <span class="n">nodes</span>
|
||||
</span><span id="L-268"><a href="#L-268"><span class="linenos">268</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">edges</span> <span class="o">=</span> <span class="n">edges</span>
|
||||
</span><span id="L-269"><a href="#L-269"><span class="linenos">269</span></a>
|
||||
</span><span id="L-270"><a href="#L-270"><span class="linenos">270</span></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-271"><a href="#L-271"><span class="linenos">271</span></a> <span class="n">nodes</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">nodes</span><span class="o">.</span><span class="n">values</span><span class="p">()))</span>
|
||||
</span><span id="L-272"><a href="#L-272"><span class="linenos">272</span></a> <span class="n">edges</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">edges</span><span class="p">)</span>
|
||||
</span><span id="L-273"><a href="#L-273"><span class="linenos">273</span></a> <span class="n">options</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">options</span><span class="p">)</span>
|
||||
</span><span id="L-274"><a href="#L-274"><span class="linenos">274</span></a> <span class="n">imports</span> <span class="o">=</span> <span class="p">(</span>
|
||||
</span><span id="L-275"><a href="#L-275"><span class="linenos">275</span></a><span class="w"> </span><span class="sd">"""<script type="text/javascript" src="https://unpkg.com/vis-data@latest/peer/umd/vis-data.min.js"></script></span>
|
||||
</span><span id="L-276"><a href="#L-276"><span class="linenos">276</span></a><span class="sd"> <script type="text/javascript" src="https://unpkg.com/vis-network@latest/peer/umd/vis-network.min.js"></script></span>
|
||||
</span><span id="L-277"><a href="#L-277"><span class="linenos">277</span></a><span class="sd"> <link rel="stylesheet" type="text/css" href="https://unpkg.com/vis-network/styles/vis-network.min.css" />"""</span>
|
||||
</span><span id="L-278"><a href="#L-278"><span class="linenos">278</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span>
|
||||
</span><span id="L-279"><a href="#L-279"><span class="linenos">279</span></a> <span class="k">else</span> <span class="s2">""</span>
|
||||
</span><span id="L-280"><a href="#L-280"><span class="linenos">280</span></a> <span class="p">)</span>
|
||||
</span><span id="L-281"><a href="#L-281"><span class="linenos">281</span></a>
|
||||
</span><span id="L-282"><a href="#L-282"><span class="linenos">282</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">"""<div></span>
|
||||
</span><span id="L-283"><a href="#L-283"><span class="linenos">283</span></a><span class="s2"> <div id="sqlglot-lineage"></div></span>
|
||||
</span><span id="L-284"><a href="#L-284"><span class="linenos">284</span></a><span class="s2"> </span><span class="si">{</span><span class="n">imports</span><span class="si">}</span>
|
||||
</span><span id="L-285"><a href="#L-285"><span class="linenos">285</span></a><span class="s2"> <script type="text/javascript"></span>
|
||||
</span><span id="L-286"><a href="#L-286"><span class="linenos">286</span></a><span class="s2"> var nodes = new vis.DataSet(</span><span class="si">{</span><span class="n">nodes</span><span class="si">}</span><span class="s2">)</span>
|
||||
</span><span id="L-287"><a href="#L-287"><span class="linenos">287</span></a><span class="s2"> nodes.forEach(row => row["title"] = new DOMParser().parseFromString(row["title"], "text/html").body.childNodes[0])</span>
|
||||
</span><span id="L-288"><a href="#L-288"><span class="linenos">288</span></a>
|
||||
</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a><span class="s2"> new vis.Network(</span>
|
||||
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a><span class="s2"> document.getElementById("sqlglot-lineage"),</span>
|
||||
</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a><span class="s2"> </span><span class="se">{{</span>
|
||||
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a><span class="s2"> nodes: nodes,</span>
|
||||
</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a><span class="s2"> edges: new vis.DataSet(</span><span class="si">{</span><span class="n">edges</span><span class="si">}</span><span class="s2">)</span>
|
||||
</span><span id="L-294"><a href="#L-294"><span class="linenos">294</span></a><span class="s2"> </span><span class="se">}}</span><span class="s2">,</span>
|
||||
</span><span id="L-295"><a href="#L-295"><span class="linenos">295</span></a><span class="s2"> </span><span class="si">{</span><span class="n">options</span><span class="si">}</span><span class="s2">,</span>
|
||||
</span><span id="L-296"><a href="#L-296"><span class="linenos">296</span></a><span class="s2"> )</span>
|
||||
</span><span id="L-297"><a href="#L-297"><span class="linenos">297</span></a><span class="s2"> </script></span>
|
||||
</span><span id="L-298"><a href="#L-298"><span class="linenos">298</span></a><span class="s2"></div>"""</span>
|
||||
</span><span id="L-299"><a href="#L-299"><span class="linenos">299</span></a>
|
||||
</span><span id="L-300"><a href="#L-300"><span class="linenos">300</span></a> <span class="k">def</span> <span class="nf">_repr_html_</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||
</span><span id="L-301"><a href="#L-301"><span class="linenos">301</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__str__</span><span class="p">()</span>
|
||||
</span><span id="L-251"><a href="#L-251"><span class="linenos">251</span></a> <span class="s2">"interaction"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-252"><a href="#L-252"><span class="linenos">252</span></a> <span class="s2">"dragNodes"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="L-253"><a href="#L-253"><span class="linenos">253</span></a> <span class="s2">"selectable"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="L-254"><a href="#L-254"><span class="linenos">254</span></a> <span class="p">},</span>
|
||||
</span><span id="L-255"><a href="#L-255"><span class="linenos">255</span></a> <span class="s2">"physics"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-256"><a href="#L-256"><span class="linenos">256</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="L-257"><a href="#L-257"><span class="linenos">257</span></a> <span class="p">},</span>
|
||||
</span><span id="L-258"><a href="#L-258"><span class="linenos">258</span></a> <span class="s2">"edges"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-259"><a href="#L-259"><span class="linenos">259</span></a> <span class="s2">"arrows"</span><span class="p">:</span> <span class="s2">"to"</span><span class="p">,</span>
|
||||
</span><span id="L-260"><a href="#L-260"><span class="linenos">260</span></a> <span class="p">},</span>
|
||||
</span><span id="L-261"><a href="#L-261"><span class="linenos">261</span></a> <span class="s2">"nodes"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-262"><a href="#L-262"><span class="linenos">262</span></a> <span class="s2">"font"</span><span class="p">:</span> <span class="s2">"20px monaco"</span><span class="p">,</span>
|
||||
</span><span id="L-263"><a href="#L-263"><span class="linenos">263</span></a> <span class="s2">"shape"</span><span class="p">:</span> <span class="s2">"box"</span><span class="p">,</span>
|
||||
</span><span id="L-264"><a href="#L-264"><span class="linenos">264</span></a> <span class="s2">"widthConstraint"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="L-265"><a href="#L-265"><span class="linenos">265</span></a> <span class="s2">"maximum"</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span>
|
||||
</span><span id="L-266"><a href="#L-266"><span class="linenos">266</span></a> <span class="p">},</span>
|
||||
</span><span id="L-267"><a href="#L-267"><span class="linenos">267</span></a> <span class="p">},</span>
|
||||
</span><span id="L-268"><a href="#L-268"><span class="linenos">268</span></a> <span class="o">**</span><span class="p">(</span><span class="n">options</span> <span class="ow">or</span> <span class="p">{}),</span>
|
||||
</span><span id="L-269"><a href="#L-269"><span class="linenos">269</span></a> <span class="p">}</span>
|
||||
</span><span id="L-270"><a href="#L-270"><span class="linenos">270</span></a>
|
||||
</span><span id="L-271"><a href="#L-271"><span class="linenos">271</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">nodes</span> <span class="o">=</span> <span class="n">nodes</span>
|
||||
</span><span id="L-272"><a href="#L-272"><span class="linenos">272</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">edges</span> <span class="o">=</span> <span class="n">edges</span>
|
||||
</span><span id="L-273"><a href="#L-273"><span class="linenos">273</span></a>
|
||||
</span><span id="L-274"><a href="#L-274"><span class="linenos">274</span></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="L-275"><a href="#L-275"><span class="linenos">275</span></a> <span class="n">nodes</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">nodes</span><span class="o">.</span><span class="n">values</span><span class="p">()))</span>
|
||||
</span><span id="L-276"><a href="#L-276"><span class="linenos">276</span></a> <span class="n">edges</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">edges</span><span class="p">)</span>
|
||||
</span><span id="L-277"><a href="#L-277"><span class="linenos">277</span></a> <span class="n">options</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">options</span><span class="p">)</span>
|
||||
</span><span id="L-278"><a href="#L-278"><span class="linenos">278</span></a> <span class="n">imports</span> <span class="o">=</span> <span class="p">(</span>
|
||||
</span><span id="L-279"><a href="#L-279"><span class="linenos">279</span></a><span class="w"> </span><span class="sd">"""<script type="text/javascript" src="https://unpkg.com/vis-data@latest/peer/umd/vis-data.min.js"></script></span>
|
||||
</span><span id="L-280"><a href="#L-280"><span class="linenos">280</span></a><span class="sd"> <script type="text/javascript" src="https://unpkg.com/vis-network@latest/peer/umd/vis-network.min.js"></script></span>
|
||||
</span><span id="L-281"><a href="#L-281"><span class="linenos">281</span></a><span class="sd"> <link rel="stylesheet" type="text/css" href="https://unpkg.com/vis-network/styles/vis-network.min.css" />"""</span>
|
||||
</span><span id="L-282"><a href="#L-282"><span class="linenos">282</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span>
|
||||
</span><span id="L-283"><a href="#L-283"><span class="linenos">283</span></a> <span class="k">else</span> <span class="s2">""</span>
|
||||
</span><span id="L-284"><a href="#L-284"><span class="linenos">284</span></a> <span class="p">)</span>
|
||||
</span><span id="L-285"><a href="#L-285"><span class="linenos">285</span></a>
|
||||
</span><span id="L-286"><a href="#L-286"><span class="linenos">286</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">"""<div></span>
|
||||
</span><span id="L-287"><a href="#L-287"><span class="linenos">287</span></a><span class="s2"> <div id="sqlglot-lineage"></div></span>
|
||||
</span><span id="L-288"><a href="#L-288"><span class="linenos">288</span></a><span class="s2"> </span><span class="si">{</span><span class="n">imports</span><span class="si">}</span>
|
||||
</span><span id="L-289"><a href="#L-289"><span class="linenos">289</span></a><span class="s2"> <script type="text/javascript"></span>
|
||||
</span><span id="L-290"><a href="#L-290"><span class="linenos">290</span></a><span class="s2"> var nodes = new vis.DataSet(</span><span class="si">{</span><span class="n">nodes</span><span class="si">}</span><span class="s2">)</span>
|
||||
</span><span id="L-291"><a href="#L-291"><span class="linenos">291</span></a><span class="s2"> nodes.forEach(row => row["title"] = new DOMParser().parseFromString(row["title"], "text/html").body.childNodes[0])</span>
|
||||
</span><span id="L-292"><a href="#L-292"><span class="linenos">292</span></a>
|
||||
</span><span id="L-293"><a href="#L-293"><span class="linenos">293</span></a><span class="s2"> new vis.Network(</span>
|
||||
</span><span id="L-294"><a href="#L-294"><span class="linenos">294</span></a><span class="s2"> document.getElementById("sqlglot-lineage"),</span>
|
||||
</span><span id="L-295"><a href="#L-295"><span class="linenos">295</span></a><span class="s2"> </span><span class="se">{{</span>
|
||||
</span><span id="L-296"><a href="#L-296"><span class="linenos">296</span></a><span class="s2"> nodes: nodes,</span>
|
||||
</span><span id="L-297"><a href="#L-297"><span class="linenos">297</span></a><span class="s2"> edges: new vis.DataSet(</span><span class="si">{</span><span class="n">edges</span><span class="si">}</span><span class="s2">)</span>
|
||||
</span><span id="L-298"><a href="#L-298"><span class="linenos">298</span></a><span class="s2"> </span><span class="se">}}</span><span class="s2">,</span>
|
||||
</span><span id="L-299"><a href="#L-299"><span class="linenos">299</span></a><span class="s2"> </span><span class="si">{</span><span class="n">options</span><span class="si">}</span><span class="s2">,</span>
|
||||
</span><span id="L-300"><a href="#L-300"><span class="linenos">300</span></a><span class="s2"> )</span>
|
||||
</span><span id="L-301"><a href="#L-301"><span class="linenos">301</span></a><span class="s2"> </script></span>
|
||||
</span><span id="L-302"><a href="#L-302"><span class="linenos">302</span></a><span class="s2"></div>"""</span>
|
||||
</span><span id="L-303"><a href="#L-303"><span class="linenos">303</span></a>
|
||||
</span><span id="L-304"><a href="#L-304"><span class="linenos">304</span></a> <span class="k">def</span> <span class="nf">_repr_html_</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||
</span><span id="L-305"><a href="#L-305"><span class="linenos">305</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__str__</span><span class="p">()</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -722,7 +726,7 @@
|
|||
</span><span id="lineage-154"><a href="#lineage-154"><span class="linenos">154</span></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Could not find </span><span class="si">{</span><span class="n">column</span><span class="si">}</span><span class="s2"> in </span><span class="si">{</span><span class="n">scope</span><span class="o">.</span><span class="n">expression</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
</span><span id="lineage-155"><a href="#lineage-155"><span class="linenos">155</span></a>
|
||||
</span><span id="lineage-156"><a href="#lineage-156"><span class="linenos">156</span></a> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">scope</span><span class="o">.</span><span class="n">union_scopes</span><span class="p">:</span>
|
||||
</span><span id="lineage-157"><a href="#lineage-157"><span class="linenos">157</span></a> <span class="n">to_node</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">scope</span><span class="o">=</span><span class="n">s</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="n">upstream</span><span class="p">)</span>
|
||||
</span><span id="lineage-157"><a href="#lineage-157"><span class="linenos">157</span></a> <span class="n">to_node</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">scope</span><span class="o">=</span><span class="n">s</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="n">upstream</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">alias</span><span class="p">)</span>
|
||||
</span><span id="lineage-158"><a href="#lineage-158"><span class="linenos">158</span></a>
|
||||
</span><span id="lineage-159"><a href="#lineage-159"><span class="linenos">159</span></a> <span class="k">return</span> <span class="n">upstream</span>
|
||||
</span><span id="lineage-160"><a href="#lineage-160"><span class="linenos">160</span></a>
|
||||
|
@ -778,18 +782,22 @@
|
|||
</span><span id="lineage-210"><a href="#lineage-210"><span class="linenos">210</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">Scope</span><span class="p">):</span>
|
||||
</span><span id="lineage-211"><a href="#lineage-211"><span class="linenos">211</span></a> <span class="c1"># The table itself came from a more specific scope. Recurse into that one using the unaliased column name.</span>
|
||||
</span><span id="lineage-212"><a href="#lineage-212"><span class="linenos">212</span></a> <span class="n">to_node</span><span class="p">(</span>
|
||||
</span><span id="lineage-213"><a href="#lineage-213"><span class="linenos">213</span></a> <span class="n">c</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">scope</span><span class="o">=</span><span class="n">source</span><span class="p">,</span> <span class="n">scope_name</span><span class="o">=</span><span class="n">table</span><span class="p">,</span> <span class="n">upstream</span><span class="o">=</span><span class="n">node</span><span class="p">,</span> <span class="n">alias</span><span class="o">=</span><span class="n">aliases</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">table</span><span class="p">)</span>
|
||||
</span><span id="lineage-214"><a href="#lineage-214"><span class="linenos">214</span></a> <span class="p">)</span>
|
||||
</span><span id="lineage-215"><a href="#lineage-215"><span class="linenos">215</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="lineage-216"><a href="#lineage-216"><span class="linenos">216</span></a> <span class="c1"># The source is not a scope - we've reached the end of the line. At this point, if a source is not found</span>
|
||||
</span><span id="lineage-217"><a href="#lineage-217"><span class="linenos">217</span></a> <span class="c1"># it means this column's lineage is unknown. This can happen if the definition of a source used in a query</span>
|
||||
</span><span id="lineage-218"><a href="#lineage-218"><span class="linenos">218</span></a> <span class="c1"># is not passed into the `sources` map.</span>
|
||||
</span><span id="lineage-219"><a href="#lineage-219"><span class="linenos">219</span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">source</span> <span class="ow">or</span> <span class="n">exp</span><span class="o">.</span><span class="n">Placeholder</span><span class="p">()</span>
|
||||
</span><span id="lineage-220"><a href="#lineage-220"><span class="linenos">220</span></a> <span class="n">node</span><span class="o">.</span><span class="n">downstream</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Node</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">c</span><span class="o">.</span><span class="n">sql</span><span class="p">(),</span> <span class="n">source</span><span class="o">=</span><span class="n">source</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">source</span><span class="p">))</span>
|
||||
</span><span id="lineage-221"><a href="#lineage-221"><span class="linenos">221</span></a>
|
||||
</span><span id="lineage-222"><a href="#lineage-222"><span class="linenos">222</span></a> <span class="k">return</span> <span class="n">node</span>
|
||||
</span><span id="lineage-223"><a href="#lineage-223"><span class="linenos">223</span></a>
|
||||
</span><span id="lineage-224"><a href="#lineage-224"><span class="linenos">224</span></a> <span class="k">return</span> <span class="n">to_node</span><span class="p">(</span><span class="n">column</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="n">column</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">scope</span><span class="p">)</span>
|
||||
</span><span id="lineage-213"><a href="#lineage-213"><span class="linenos">213</span></a> <span class="n">c</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
|
||||
</span><span id="lineage-214"><a href="#lineage-214"><span class="linenos">214</span></a> <span class="n">scope</span><span class="o">=</span><span class="n">source</span><span class="p">,</span>
|
||||
</span><span id="lineage-215"><a href="#lineage-215"><span class="linenos">215</span></a> <span class="n">scope_name</span><span class="o">=</span><span class="n">table</span><span class="p">,</span>
|
||||
</span><span id="lineage-216"><a href="#lineage-216"><span class="linenos">216</span></a> <span class="n">upstream</span><span class="o">=</span><span class="n">node</span><span class="p">,</span>
|
||||
</span><span id="lineage-217"><a href="#lineage-217"><span class="linenos">217</span></a> <span class="n">alias</span><span class="o">=</span><span class="n">aliases</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">table</span><span class="p">)</span> <span class="ow">or</span> <span class="n">alias</span><span class="p">,</span>
|
||||
</span><span id="lineage-218"><a href="#lineage-218"><span class="linenos">218</span></a> <span class="p">)</span>
|
||||
</span><span id="lineage-219"><a href="#lineage-219"><span class="linenos">219</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="lineage-220"><a href="#lineage-220"><span class="linenos">220</span></a> <span class="c1"># The source is not a scope - we've reached the end of the line. At this point, if a source is not found</span>
|
||||
</span><span id="lineage-221"><a href="#lineage-221"><span class="linenos">221</span></a> <span class="c1"># it means this column's lineage is unknown. This can happen if the definition of a source used in a query</span>
|
||||
</span><span id="lineage-222"><a href="#lineage-222"><span class="linenos">222</span></a> <span class="c1"># is not passed into the `sources` map.</span>
|
||||
</span><span id="lineage-223"><a href="#lineage-223"><span class="linenos">223</span></a> <span class="n">source</span> <span class="o">=</span> <span class="n">source</span> <span class="ow">or</span> <span class="n">exp</span><span class="o">.</span><span class="n">Placeholder</span><span class="p">()</span>
|
||||
</span><span id="lineage-224"><a href="#lineage-224"><span class="linenos">224</span></a> <span class="n">node</span><span class="o">.</span><span class="n">downstream</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Node</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">c</span><span class="o">.</span><span class="n">sql</span><span class="p">(),</span> <span class="n">source</span><span class="o">=</span><span class="n">source</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">source</span><span class="p">))</span>
|
||||
</span><span id="lineage-225"><a href="#lineage-225"><span class="linenos">225</span></a>
|
||||
</span><span id="lineage-226"><a href="#lineage-226"><span class="linenos">226</span></a> <span class="k">return</span> <span class="n">node</span>
|
||||
</span><span id="lineage-227"><a href="#lineage-227"><span class="linenos">227</span></a>
|
||||
</span><span id="lineage-228"><a href="#lineage-228"><span class="linenos">228</span></a> <span class="k">return</span> <span class="n">to_node</span><span class="p">(</span><span class="n">column</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="n">column</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">scope</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -826,82 +834,82 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#GraphHTML"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="GraphHTML-227"><a href="#GraphHTML-227"><span class="linenos">227</span></a><span class="k">class</span> <span class="nc">GraphHTML</span><span class="p">:</span>
|
||||
</span><span id="GraphHTML-228"><a href="#GraphHTML-228"><span class="linenos">228</span></a><span class="w"> </span><span class="sd">"""Node to HTML generator using vis.js.</span>
|
||||
</span><span id="GraphHTML-229"><a href="#GraphHTML-229"><span class="linenos">229</span></a>
|
||||
</span><span id="GraphHTML-230"><a href="#GraphHTML-230"><span class="linenos">230</span></a><span class="sd"> https://visjs.github.io/vis-network/docs/network/</span>
|
||||
</span><span id="GraphHTML-231"><a href="#GraphHTML-231"><span class="linenos">231</span></a><span class="sd"> """</span>
|
||||
</span><span id="GraphHTML-232"><a href="#GraphHTML-232"><span class="linenos">232</span></a>
|
||||
</span><span id="GraphHTML-233"><a href="#GraphHTML-233"><span class="linenos">233</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
|
||||
</span><span id="GraphHTML-234"><a href="#GraphHTML-234"><span class="linenos">234</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">nodes</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">edges</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="n">imports</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="GraphHTML-235"><a href="#GraphHTML-235"><span class="linenos">235</span></a> <span class="p">):</span>
|
||||
</span><span id="GraphHTML-236"><a href="#GraphHTML-236"><span class="linenos">236</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span> <span class="o">=</span> <span class="n">imports</span>
|
||||
</span><span id="GraphHTML-237"><a href="#GraphHTML-237"><span class="linenos">237</span></a>
|
||||
</span><span id="GraphHTML-238"><a href="#GraphHTML-238"><span class="linenos">238</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-239"><a href="#GraphHTML-239"><span class="linenos">239</span></a> <span class="s2">"height"</span><span class="p">:</span> <span class="s2">"500px"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-240"><a href="#GraphHTML-240"><span class="linenos">240</span></a> <span class="s2">"width"</span><span class="p">:</span> <span class="s2">"100%"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-241"><a href="#GraphHTML-241"><span class="linenos">241</span></a> <span class="s2">"layout"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-242"><a href="#GraphHTML-242"><span class="linenos">242</span></a> <span class="s2">"hierarchical"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-243"><a href="#GraphHTML-243"><span class="linenos">243</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-244"><a href="#GraphHTML-244"><span class="linenos">244</span></a> <span class="s2">"nodeSpacing"</span><span class="p">:</span> <span class="mi">200</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-245"><a href="#GraphHTML-245"><span class="linenos">245</span></a> <span class="s2">"sortMethod"</span><span class="p">:</span> <span class="s2">"directed"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-246"><a href="#GraphHTML-246"><span class="linenos">246</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-247"><a href="#GraphHTML-247"><span class="linenos">247</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-248"><a href="#GraphHTML-248"><span class="linenos">248</span></a> <span class="s2">"interaction"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-249"><a href="#GraphHTML-249"><span class="linenos">249</span></a> <span class="s2">"dragNodes"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-250"><a href="#GraphHTML-250"><span class="linenos">250</span></a> <span class="s2">"selectable"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="GraphHTML-231"><a href="#GraphHTML-231"><span class="linenos">231</span></a><span class="k">class</span> <span class="nc">GraphHTML</span><span class="p">:</span>
|
||||
</span><span id="GraphHTML-232"><a href="#GraphHTML-232"><span class="linenos">232</span></a><span class="w"> </span><span class="sd">"""Node to HTML generator using vis.js.</span>
|
||||
</span><span id="GraphHTML-233"><a href="#GraphHTML-233"><span class="linenos">233</span></a>
|
||||
</span><span id="GraphHTML-234"><a href="#GraphHTML-234"><span class="linenos">234</span></a><span class="sd"> https://visjs.github.io/vis-network/docs/network/</span>
|
||||
</span><span id="GraphHTML-235"><a href="#GraphHTML-235"><span class="linenos">235</span></a><span class="sd"> """</span>
|
||||
</span><span id="GraphHTML-236"><a href="#GraphHTML-236"><span class="linenos">236</span></a>
|
||||
</span><span id="GraphHTML-237"><a href="#GraphHTML-237"><span class="linenos">237</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
|
||||
</span><span id="GraphHTML-238"><a href="#GraphHTML-238"><span class="linenos">238</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">nodes</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">edges</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="n">imports</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="GraphHTML-239"><a href="#GraphHTML-239"><span class="linenos">239</span></a> <span class="p">):</span>
|
||||
</span><span id="GraphHTML-240"><a href="#GraphHTML-240"><span class="linenos">240</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span> <span class="o">=</span> <span class="n">imports</span>
|
||||
</span><span id="GraphHTML-241"><a href="#GraphHTML-241"><span class="linenos">241</span></a>
|
||||
</span><span id="GraphHTML-242"><a href="#GraphHTML-242"><span class="linenos">242</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-243"><a href="#GraphHTML-243"><span class="linenos">243</span></a> <span class="s2">"height"</span><span class="p">:</span> <span class="s2">"500px"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-244"><a href="#GraphHTML-244"><span class="linenos">244</span></a> <span class="s2">"width"</span><span class="p">:</span> <span class="s2">"100%"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-245"><a href="#GraphHTML-245"><span class="linenos">245</span></a> <span class="s2">"layout"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-246"><a href="#GraphHTML-246"><span class="linenos">246</span></a> <span class="s2">"hierarchical"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-247"><a href="#GraphHTML-247"><span class="linenos">247</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-248"><a href="#GraphHTML-248"><span class="linenos">248</span></a> <span class="s2">"nodeSpacing"</span><span class="p">:</span> <span class="mi">200</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-249"><a href="#GraphHTML-249"><span class="linenos">249</span></a> <span class="s2">"sortMethod"</span><span class="p">:</span> <span class="s2">"directed"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-250"><a href="#GraphHTML-250"><span class="linenos">250</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-251"><a href="#GraphHTML-251"><span class="linenos">251</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-252"><a href="#GraphHTML-252"><span class="linenos">252</span></a> <span class="s2">"physics"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-253"><a href="#GraphHTML-253"><span class="linenos">253</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-254"><a href="#GraphHTML-254"><span class="linenos">254</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-255"><a href="#GraphHTML-255"><span class="linenos">255</span></a> <span class="s2">"edges"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-256"><a href="#GraphHTML-256"><span class="linenos">256</span></a> <span class="s2">"arrows"</span><span class="p">:</span> <span class="s2">"to"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-257"><a href="#GraphHTML-257"><span class="linenos">257</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-258"><a href="#GraphHTML-258"><span class="linenos">258</span></a> <span class="s2">"nodes"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-259"><a href="#GraphHTML-259"><span class="linenos">259</span></a> <span class="s2">"font"</span><span class="p">:</span> <span class="s2">"20px monaco"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-260"><a href="#GraphHTML-260"><span class="linenos">260</span></a> <span class="s2">"shape"</span><span class="p">:</span> <span class="s2">"box"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-261"><a href="#GraphHTML-261"><span class="linenos">261</span></a> <span class="s2">"widthConstraint"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-262"><a href="#GraphHTML-262"><span class="linenos">262</span></a> <span class="s2">"maximum"</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-263"><a href="#GraphHTML-263"><span class="linenos">263</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-264"><a href="#GraphHTML-264"><span class="linenos">264</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-265"><a href="#GraphHTML-265"><span class="linenos">265</span></a> <span class="o">**</span><span class="p">(</span><span class="n">options</span> <span class="ow">or</span> <span class="p">{}),</span>
|
||||
</span><span id="GraphHTML-266"><a href="#GraphHTML-266"><span class="linenos">266</span></a> <span class="p">}</span>
|
||||
</span><span id="GraphHTML-267"><a href="#GraphHTML-267"><span class="linenos">267</span></a>
|
||||
</span><span id="GraphHTML-268"><a href="#GraphHTML-268"><span class="linenos">268</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">nodes</span> <span class="o">=</span> <span class="n">nodes</span>
|
||||
</span><span id="GraphHTML-269"><a href="#GraphHTML-269"><span class="linenos">269</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">edges</span> <span class="o">=</span> <span class="n">edges</span>
|
||||
</span><span id="GraphHTML-270"><a href="#GraphHTML-270"><span class="linenos">270</span></a>
|
||||
</span><span id="GraphHTML-271"><a href="#GraphHTML-271"><span class="linenos">271</span></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="GraphHTML-272"><a href="#GraphHTML-272"><span class="linenos">272</span></a> <span class="n">nodes</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">nodes</span><span class="o">.</span><span class="n">values</span><span class="p">()))</span>
|
||||
</span><span id="GraphHTML-273"><a href="#GraphHTML-273"><span class="linenos">273</span></a> <span class="n">edges</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">edges</span><span class="p">)</span>
|
||||
</span><span id="GraphHTML-274"><a href="#GraphHTML-274"><span class="linenos">274</span></a> <span class="n">options</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">options</span><span class="p">)</span>
|
||||
</span><span id="GraphHTML-275"><a href="#GraphHTML-275"><span class="linenos">275</span></a> <span class="n">imports</span> <span class="o">=</span> <span class="p">(</span>
|
||||
</span><span id="GraphHTML-276"><a href="#GraphHTML-276"><span class="linenos">276</span></a><span class="w"> </span><span class="sd">"""<script type="text/javascript" src="https://unpkg.com/vis-data@latest/peer/umd/vis-data.min.js"></script></span>
|
||||
</span><span id="GraphHTML-277"><a href="#GraphHTML-277"><span class="linenos">277</span></a><span class="sd"> <script type="text/javascript" src="https://unpkg.com/vis-network@latest/peer/umd/vis-network.min.js"></script></span>
|
||||
</span><span id="GraphHTML-278"><a href="#GraphHTML-278"><span class="linenos">278</span></a><span class="sd"> <link rel="stylesheet" type="text/css" href="https://unpkg.com/vis-network/styles/vis-network.min.css" />"""</span>
|
||||
</span><span id="GraphHTML-279"><a href="#GraphHTML-279"><span class="linenos">279</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span>
|
||||
</span><span id="GraphHTML-280"><a href="#GraphHTML-280"><span class="linenos">280</span></a> <span class="k">else</span> <span class="s2">""</span>
|
||||
</span><span id="GraphHTML-281"><a href="#GraphHTML-281"><span class="linenos">281</span></a> <span class="p">)</span>
|
||||
</span><span id="GraphHTML-282"><a href="#GraphHTML-282"><span class="linenos">282</span></a>
|
||||
</span><span id="GraphHTML-283"><a href="#GraphHTML-283"><span class="linenos">283</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">"""<div></span>
|
||||
</span><span id="GraphHTML-284"><a href="#GraphHTML-284"><span class="linenos">284</span></a><span class="s2"> <div id="sqlglot-lineage"></div></span>
|
||||
</span><span id="GraphHTML-285"><a href="#GraphHTML-285"><span class="linenos">285</span></a><span class="s2"> </span><span class="si">{</span><span class="n">imports</span><span class="si">}</span>
|
||||
</span><span id="GraphHTML-286"><a href="#GraphHTML-286"><span class="linenos">286</span></a><span class="s2"> <script type="text/javascript"></span>
|
||||
</span><span id="GraphHTML-287"><a href="#GraphHTML-287"><span class="linenos">287</span></a><span class="s2"> var nodes = new vis.DataSet(</span><span class="si">{</span><span class="n">nodes</span><span class="si">}</span><span class="s2">)</span>
|
||||
</span><span id="GraphHTML-288"><a href="#GraphHTML-288"><span class="linenos">288</span></a><span class="s2"> nodes.forEach(row => row["title"] = new DOMParser().parseFromString(row["title"], "text/html").body.childNodes[0])</span>
|
||||
</span><span id="GraphHTML-289"><a href="#GraphHTML-289"><span class="linenos">289</span></a>
|
||||
</span><span id="GraphHTML-290"><a href="#GraphHTML-290"><span class="linenos">290</span></a><span class="s2"> new vis.Network(</span>
|
||||
</span><span id="GraphHTML-291"><a href="#GraphHTML-291"><span class="linenos">291</span></a><span class="s2"> document.getElementById("sqlglot-lineage"),</span>
|
||||
</span><span id="GraphHTML-292"><a href="#GraphHTML-292"><span class="linenos">292</span></a><span class="s2"> </span><span class="se">{{</span>
|
||||
</span><span id="GraphHTML-293"><a href="#GraphHTML-293"><span class="linenos">293</span></a><span class="s2"> nodes: nodes,</span>
|
||||
</span><span id="GraphHTML-294"><a href="#GraphHTML-294"><span class="linenos">294</span></a><span class="s2"> edges: new vis.DataSet(</span><span class="si">{</span><span class="n">edges</span><span class="si">}</span><span class="s2">)</span>
|
||||
</span><span id="GraphHTML-295"><a href="#GraphHTML-295"><span class="linenos">295</span></a><span class="s2"> </span><span class="se">}}</span><span class="s2">,</span>
|
||||
</span><span id="GraphHTML-296"><a href="#GraphHTML-296"><span class="linenos">296</span></a><span class="s2"> </span><span class="si">{</span><span class="n">options</span><span class="si">}</span><span class="s2">,</span>
|
||||
</span><span id="GraphHTML-297"><a href="#GraphHTML-297"><span class="linenos">297</span></a><span class="s2"> )</span>
|
||||
</span><span id="GraphHTML-298"><a href="#GraphHTML-298"><span class="linenos">298</span></a><span class="s2"> </script></span>
|
||||
</span><span id="GraphHTML-299"><a href="#GraphHTML-299"><span class="linenos">299</span></a><span class="s2"></div>"""</span>
|
||||
</span><span id="GraphHTML-300"><a href="#GraphHTML-300"><span class="linenos">300</span></a>
|
||||
</span><span id="GraphHTML-301"><a href="#GraphHTML-301"><span class="linenos">301</span></a> <span class="k">def</span> <span class="nf">_repr_html_</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||
</span><span id="GraphHTML-302"><a href="#GraphHTML-302"><span class="linenos">302</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__str__</span><span class="p">()</span>
|
||||
</span><span id="GraphHTML-252"><a href="#GraphHTML-252"><span class="linenos">252</span></a> <span class="s2">"interaction"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-253"><a href="#GraphHTML-253"><span class="linenos">253</span></a> <span class="s2">"dragNodes"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-254"><a href="#GraphHTML-254"><span class="linenos">254</span></a> <span class="s2">"selectable"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-255"><a href="#GraphHTML-255"><span class="linenos">255</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-256"><a href="#GraphHTML-256"><span class="linenos">256</span></a> <span class="s2">"physics"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-257"><a href="#GraphHTML-257"><span class="linenos">257</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-258"><a href="#GraphHTML-258"><span class="linenos">258</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-259"><a href="#GraphHTML-259"><span class="linenos">259</span></a> <span class="s2">"edges"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-260"><a href="#GraphHTML-260"><span class="linenos">260</span></a> <span class="s2">"arrows"</span><span class="p">:</span> <span class="s2">"to"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-261"><a href="#GraphHTML-261"><span class="linenos">261</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-262"><a href="#GraphHTML-262"><span class="linenos">262</span></a> <span class="s2">"nodes"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-263"><a href="#GraphHTML-263"><span class="linenos">263</span></a> <span class="s2">"font"</span><span class="p">:</span> <span class="s2">"20px monaco"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-264"><a href="#GraphHTML-264"><span class="linenos">264</span></a> <span class="s2">"shape"</span><span class="p">:</span> <span class="s2">"box"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-265"><a href="#GraphHTML-265"><span class="linenos">265</span></a> <span class="s2">"widthConstraint"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML-266"><a href="#GraphHTML-266"><span class="linenos">266</span></a> <span class="s2">"maximum"</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML-267"><a href="#GraphHTML-267"><span class="linenos">267</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-268"><a href="#GraphHTML-268"><span class="linenos">268</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML-269"><a href="#GraphHTML-269"><span class="linenos">269</span></a> <span class="o">**</span><span class="p">(</span><span class="n">options</span> <span class="ow">or</span> <span class="p">{}),</span>
|
||||
</span><span id="GraphHTML-270"><a href="#GraphHTML-270"><span class="linenos">270</span></a> <span class="p">}</span>
|
||||
</span><span id="GraphHTML-271"><a href="#GraphHTML-271"><span class="linenos">271</span></a>
|
||||
</span><span id="GraphHTML-272"><a href="#GraphHTML-272"><span class="linenos">272</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">nodes</span> <span class="o">=</span> <span class="n">nodes</span>
|
||||
</span><span id="GraphHTML-273"><a href="#GraphHTML-273"><span class="linenos">273</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">edges</span> <span class="o">=</span> <span class="n">edges</span>
|
||||
</span><span id="GraphHTML-274"><a href="#GraphHTML-274"><span class="linenos">274</span></a>
|
||||
</span><span id="GraphHTML-275"><a href="#GraphHTML-275"><span class="linenos">275</span></a> <span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
</span><span id="GraphHTML-276"><a href="#GraphHTML-276"><span class="linenos">276</span></a> <span class="n">nodes</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">nodes</span><span class="o">.</span><span class="n">values</span><span class="p">()))</span>
|
||||
</span><span id="GraphHTML-277"><a href="#GraphHTML-277"><span class="linenos">277</span></a> <span class="n">edges</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">edges</span><span class="p">)</span>
|
||||
</span><span id="GraphHTML-278"><a href="#GraphHTML-278"><span class="linenos">278</span></a> <span class="n">options</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">options</span><span class="p">)</span>
|
||||
</span><span id="GraphHTML-279"><a href="#GraphHTML-279"><span class="linenos">279</span></a> <span class="n">imports</span> <span class="o">=</span> <span class="p">(</span>
|
||||
</span><span id="GraphHTML-280"><a href="#GraphHTML-280"><span class="linenos">280</span></a><span class="w"> </span><span class="sd">"""<script type="text/javascript" src="https://unpkg.com/vis-data@latest/peer/umd/vis-data.min.js"></script></span>
|
||||
</span><span id="GraphHTML-281"><a href="#GraphHTML-281"><span class="linenos">281</span></a><span class="sd"> <script type="text/javascript" src="https://unpkg.com/vis-network@latest/peer/umd/vis-network.min.js"></script></span>
|
||||
</span><span id="GraphHTML-282"><a href="#GraphHTML-282"><span class="linenos">282</span></a><span class="sd"> <link rel="stylesheet" type="text/css" href="https://unpkg.com/vis-network/styles/vis-network.min.css" />"""</span>
|
||||
</span><span id="GraphHTML-283"><a href="#GraphHTML-283"><span class="linenos">283</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span>
|
||||
</span><span id="GraphHTML-284"><a href="#GraphHTML-284"><span class="linenos">284</span></a> <span class="k">else</span> <span class="s2">""</span>
|
||||
</span><span id="GraphHTML-285"><a href="#GraphHTML-285"><span class="linenos">285</span></a> <span class="p">)</span>
|
||||
</span><span id="GraphHTML-286"><a href="#GraphHTML-286"><span class="linenos">286</span></a>
|
||||
</span><span id="GraphHTML-287"><a href="#GraphHTML-287"><span class="linenos">287</span></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">"""<div></span>
|
||||
</span><span id="GraphHTML-288"><a href="#GraphHTML-288"><span class="linenos">288</span></a><span class="s2"> <div id="sqlglot-lineage"></div></span>
|
||||
</span><span id="GraphHTML-289"><a href="#GraphHTML-289"><span class="linenos">289</span></a><span class="s2"> </span><span class="si">{</span><span class="n">imports</span><span class="si">}</span>
|
||||
</span><span id="GraphHTML-290"><a href="#GraphHTML-290"><span class="linenos">290</span></a><span class="s2"> <script type="text/javascript"></span>
|
||||
</span><span id="GraphHTML-291"><a href="#GraphHTML-291"><span class="linenos">291</span></a><span class="s2"> var nodes = new vis.DataSet(</span><span class="si">{</span><span class="n">nodes</span><span class="si">}</span><span class="s2">)</span>
|
||||
</span><span id="GraphHTML-292"><a href="#GraphHTML-292"><span class="linenos">292</span></a><span class="s2"> nodes.forEach(row => row["title"] = new DOMParser().parseFromString(row["title"], "text/html").body.childNodes[0])</span>
|
||||
</span><span id="GraphHTML-293"><a href="#GraphHTML-293"><span class="linenos">293</span></a>
|
||||
</span><span id="GraphHTML-294"><a href="#GraphHTML-294"><span class="linenos">294</span></a><span class="s2"> new vis.Network(</span>
|
||||
</span><span id="GraphHTML-295"><a href="#GraphHTML-295"><span class="linenos">295</span></a><span class="s2"> document.getElementById("sqlglot-lineage"),</span>
|
||||
</span><span id="GraphHTML-296"><a href="#GraphHTML-296"><span class="linenos">296</span></a><span class="s2"> </span><span class="se">{{</span>
|
||||
</span><span id="GraphHTML-297"><a href="#GraphHTML-297"><span class="linenos">297</span></a><span class="s2"> nodes: nodes,</span>
|
||||
</span><span id="GraphHTML-298"><a href="#GraphHTML-298"><span class="linenos">298</span></a><span class="s2"> edges: new vis.DataSet(</span><span class="si">{</span><span class="n">edges</span><span class="si">}</span><span class="s2">)</span>
|
||||
</span><span id="GraphHTML-299"><a href="#GraphHTML-299"><span class="linenos">299</span></a><span class="s2"> </span><span class="se">}}</span><span class="s2">,</span>
|
||||
</span><span id="GraphHTML-300"><a href="#GraphHTML-300"><span class="linenos">300</span></a><span class="s2"> </span><span class="si">{</span><span class="n">options</span><span class="si">}</span><span class="s2">,</span>
|
||||
</span><span id="GraphHTML-301"><a href="#GraphHTML-301"><span class="linenos">301</span></a><span class="s2"> )</span>
|
||||
</span><span id="GraphHTML-302"><a href="#GraphHTML-302"><span class="linenos">302</span></a><span class="s2"> </script></span>
|
||||
</span><span id="GraphHTML-303"><a href="#GraphHTML-303"><span class="linenos">303</span></a><span class="s2"></div>"""</span>
|
||||
</span><span id="GraphHTML-304"><a href="#GraphHTML-304"><span class="linenos">304</span></a>
|
||||
</span><span id="GraphHTML-305"><a href="#GraphHTML-305"><span class="linenos">305</span></a> <span class="k">def</span> <span class="nf">_repr_html_</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||
</span><span id="GraphHTML-306"><a href="#GraphHTML-306"><span class="linenos">306</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__str__</span><span class="p">()</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -921,43 +929,43 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#GraphHTML.__init__"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="GraphHTML.__init__-233"><a href="#GraphHTML.__init__-233"><span class="linenos">233</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
|
||||
</span><span id="GraphHTML.__init__-234"><a href="#GraphHTML.__init__-234"><span class="linenos">234</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">nodes</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">edges</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="n">imports</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="GraphHTML.__init__-235"><a href="#GraphHTML.__init__-235"><span class="linenos">235</span></a> <span class="p">):</span>
|
||||
</span><span id="GraphHTML.__init__-236"><a href="#GraphHTML.__init__-236"><span class="linenos">236</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span> <span class="o">=</span> <span class="n">imports</span>
|
||||
</span><span id="GraphHTML.__init__-237"><a href="#GraphHTML.__init__-237"><span class="linenos">237</span></a>
|
||||
</span><span id="GraphHTML.__init__-238"><a href="#GraphHTML.__init__-238"><span class="linenos">238</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-239"><a href="#GraphHTML.__init__-239"><span class="linenos">239</span></a> <span class="s2">"height"</span><span class="p">:</span> <span class="s2">"500px"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-240"><a href="#GraphHTML.__init__-240"><span class="linenos">240</span></a> <span class="s2">"width"</span><span class="p">:</span> <span class="s2">"100%"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-241"><a href="#GraphHTML.__init__-241"><span class="linenos">241</span></a> <span class="s2">"layout"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-242"><a href="#GraphHTML.__init__-242"><span class="linenos">242</span></a> <span class="s2">"hierarchical"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-243"><a href="#GraphHTML.__init__-243"><span class="linenos">243</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-244"><a href="#GraphHTML.__init__-244"><span class="linenos">244</span></a> <span class="s2">"nodeSpacing"</span><span class="p">:</span> <span class="mi">200</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-245"><a href="#GraphHTML.__init__-245"><span class="linenos">245</span></a> <span class="s2">"sortMethod"</span><span class="p">:</span> <span class="s2">"directed"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-246"><a href="#GraphHTML.__init__-246"><span class="linenos">246</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-247"><a href="#GraphHTML.__init__-247"><span class="linenos">247</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-248"><a href="#GraphHTML.__init__-248"><span class="linenos">248</span></a> <span class="s2">"interaction"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-249"><a href="#GraphHTML.__init__-249"><span class="linenos">249</span></a> <span class="s2">"dragNodes"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-250"><a href="#GraphHTML.__init__-250"><span class="linenos">250</span></a> <span class="s2">"selectable"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="GraphHTML.__init__-237"><a href="#GraphHTML.__init__-237"><span class="linenos">237</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
|
||||
</span><span id="GraphHTML.__init__-238"><a href="#GraphHTML.__init__-238"><span class="linenos">238</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">nodes</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">edges</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="n">imports</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span> <span class="n">options</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="GraphHTML.__init__-239"><a href="#GraphHTML.__init__-239"><span class="linenos">239</span></a> <span class="p">):</span>
|
||||
</span><span id="GraphHTML.__init__-240"><a href="#GraphHTML.__init__-240"><span class="linenos">240</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">imports</span> <span class="o">=</span> <span class="n">imports</span>
|
||||
</span><span id="GraphHTML.__init__-241"><a href="#GraphHTML.__init__-241"><span class="linenos">241</span></a>
|
||||
</span><span id="GraphHTML.__init__-242"><a href="#GraphHTML.__init__-242"><span class="linenos">242</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">options</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-243"><a href="#GraphHTML.__init__-243"><span class="linenos">243</span></a> <span class="s2">"height"</span><span class="p">:</span> <span class="s2">"500px"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-244"><a href="#GraphHTML.__init__-244"><span class="linenos">244</span></a> <span class="s2">"width"</span><span class="p">:</span> <span class="s2">"100%"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-245"><a href="#GraphHTML.__init__-245"><span class="linenos">245</span></a> <span class="s2">"layout"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-246"><a href="#GraphHTML.__init__-246"><span class="linenos">246</span></a> <span class="s2">"hierarchical"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-247"><a href="#GraphHTML.__init__-247"><span class="linenos">247</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-248"><a href="#GraphHTML.__init__-248"><span class="linenos">248</span></a> <span class="s2">"nodeSpacing"</span><span class="p">:</span> <span class="mi">200</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-249"><a href="#GraphHTML.__init__-249"><span class="linenos">249</span></a> <span class="s2">"sortMethod"</span><span class="p">:</span> <span class="s2">"directed"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-250"><a href="#GraphHTML.__init__-250"><span class="linenos">250</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-251"><a href="#GraphHTML.__init__-251"><span class="linenos">251</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-252"><a href="#GraphHTML.__init__-252"><span class="linenos">252</span></a> <span class="s2">"physics"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-253"><a href="#GraphHTML.__init__-253"><span class="linenos">253</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-254"><a href="#GraphHTML.__init__-254"><span class="linenos">254</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-255"><a href="#GraphHTML.__init__-255"><span class="linenos">255</span></a> <span class="s2">"edges"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-256"><a href="#GraphHTML.__init__-256"><span class="linenos">256</span></a> <span class="s2">"arrows"</span><span class="p">:</span> <span class="s2">"to"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-257"><a href="#GraphHTML.__init__-257"><span class="linenos">257</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-258"><a href="#GraphHTML.__init__-258"><span class="linenos">258</span></a> <span class="s2">"nodes"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-259"><a href="#GraphHTML.__init__-259"><span class="linenos">259</span></a> <span class="s2">"font"</span><span class="p">:</span> <span class="s2">"20px monaco"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-260"><a href="#GraphHTML.__init__-260"><span class="linenos">260</span></a> <span class="s2">"shape"</span><span class="p">:</span> <span class="s2">"box"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-261"><a href="#GraphHTML.__init__-261"><span class="linenos">261</span></a> <span class="s2">"widthConstraint"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-262"><a href="#GraphHTML.__init__-262"><span class="linenos">262</span></a> <span class="s2">"maximum"</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-263"><a href="#GraphHTML.__init__-263"><span class="linenos">263</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-264"><a href="#GraphHTML.__init__-264"><span class="linenos">264</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-265"><a href="#GraphHTML.__init__-265"><span class="linenos">265</span></a> <span class="o">**</span><span class="p">(</span><span class="n">options</span> <span class="ow">or</span> <span class="p">{}),</span>
|
||||
</span><span id="GraphHTML.__init__-266"><a href="#GraphHTML.__init__-266"><span class="linenos">266</span></a> <span class="p">}</span>
|
||||
</span><span id="GraphHTML.__init__-267"><a href="#GraphHTML.__init__-267"><span class="linenos">267</span></a>
|
||||
</span><span id="GraphHTML.__init__-268"><a href="#GraphHTML.__init__-268"><span class="linenos">268</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">nodes</span> <span class="o">=</span> <span class="n">nodes</span>
|
||||
</span><span id="GraphHTML.__init__-269"><a href="#GraphHTML.__init__-269"><span class="linenos">269</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">edges</span> <span class="o">=</span> <span class="n">edges</span>
|
||||
</span><span id="GraphHTML.__init__-252"><a href="#GraphHTML.__init__-252"><span class="linenos">252</span></a> <span class="s2">"interaction"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-253"><a href="#GraphHTML.__init__-253"><span class="linenos">253</span></a> <span class="s2">"dragNodes"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-254"><a href="#GraphHTML.__init__-254"><span class="linenos">254</span></a> <span class="s2">"selectable"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-255"><a href="#GraphHTML.__init__-255"><span class="linenos">255</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-256"><a href="#GraphHTML.__init__-256"><span class="linenos">256</span></a> <span class="s2">"physics"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-257"><a href="#GraphHTML.__init__-257"><span class="linenos">257</span></a> <span class="s2">"enabled"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-258"><a href="#GraphHTML.__init__-258"><span class="linenos">258</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-259"><a href="#GraphHTML.__init__-259"><span class="linenos">259</span></a> <span class="s2">"edges"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-260"><a href="#GraphHTML.__init__-260"><span class="linenos">260</span></a> <span class="s2">"arrows"</span><span class="p">:</span> <span class="s2">"to"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-261"><a href="#GraphHTML.__init__-261"><span class="linenos">261</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-262"><a href="#GraphHTML.__init__-262"><span class="linenos">262</span></a> <span class="s2">"nodes"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-263"><a href="#GraphHTML.__init__-263"><span class="linenos">263</span></a> <span class="s2">"font"</span><span class="p">:</span> <span class="s2">"20px monaco"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-264"><a href="#GraphHTML.__init__-264"><span class="linenos">264</span></a> <span class="s2">"shape"</span><span class="p">:</span> <span class="s2">"box"</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-265"><a href="#GraphHTML.__init__-265"><span class="linenos">265</span></a> <span class="s2">"widthConstraint"</span><span class="p">:</span> <span class="p">{</span>
|
||||
</span><span id="GraphHTML.__init__-266"><a href="#GraphHTML.__init__-266"><span class="linenos">266</span></a> <span class="s2">"maximum"</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span>
|
||||
</span><span id="GraphHTML.__init__-267"><a href="#GraphHTML.__init__-267"><span class="linenos">267</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-268"><a href="#GraphHTML.__init__-268"><span class="linenos">268</span></a> <span class="p">},</span>
|
||||
</span><span id="GraphHTML.__init__-269"><a href="#GraphHTML.__init__-269"><span class="linenos">269</span></a> <span class="o">**</span><span class="p">(</span><span class="n">options</span> <span class="ow">or</span> <span class="p">{}),</span>
|
||||
</span><span id="GraphHTML.__init__-270"><a href="#GraphHTML.__init__-270"><span class="linenos">270</span></a> <span class="p">}</span>
|
||||
</span><span id="GraphHTML.__init__-271"><a href="#GraphHTML.__init__-271"><span class="linenos">271</span></a>
|
||||
</span><span id="GraphHTML.__init__-272"><a href="#GraphHTML.__init__-272"><span class="linenos">272</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">nodes</span> <span class="o">=</span> <span class="n">nodes</span>
|
||||
</span><span id="GraphHTML.__init__-273"><a href="#GraphHTML.__init__-273"><span class="linenos">273</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">edges</span> <span class="o">=</span> <span class="n">edges</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -585,7 +585,7 @@ queries if it would result in multiple table selects in a single query:</p>
|
|||
<div class="attr variable">
|
||||
<span class="name">UNMERGABLE_ARGS</span> =
|
||||
<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">{'distinct', 'settings', 'distribute', 'sample', 'pivots', 'laterals', 'into', 'qualify', 'sort', 'cluster', 'limit', 'format', 'connect', 'windows', 'match', 'having', 'offset', 'kind', 'with', 'group', 'locks'}</span>
|
||||
<label class="view-value-button pdoc-button" for="UNMERGABLE_ARGS-view-value"></label><span class="default_value">{'offset', 'distinct', 'into', 'match', 'limit', 'settings', 'laterals', 'distribute', 'qualify', 'cluster', 'format', 'group', 'kind', 'pivots', 'sample', 'connect', 'with', 'locks', 'having', 'sort', 'windows'}</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
|
@ -100,7 +100,7 @@
|
|||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="kn">from</span> <span class="nn">sqlglot</span> <span class="kn">import</span> <span class="n">alias</span><span class="p">,</span> <span class="n">exp</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="kn">from</span> <span class="nn">sqlglot.dialects.dialect</span> <span class="kn">import</span> <span class="n">Dialect</span><span class="p">,</span> <span class="n">DialectType</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="kn">from</span> <span class="nn">sqlglot.errors</span> <span class="kn">import</span> <span class="n">OptimizeError</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">sqlglot.helper</span> <span class="kn">import</span> <span class="n">seq_get</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a><span class="kn">from</span> <span class="nn">sqlglot.helper</span> <span class="kn">import</span> <span class="n">seq_get</span><span class="p">,</span> <span class="n">SingleValuedMapping</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span> <span class="nn">sqlglot.optimizer.scope</span> <span class="kn">import</span> <span class="n">Scope</span><span class="p">,</span> <span class="n">build_scope</span><span class="p">,</span> <span class="n">traverse_scope</span><span class="p">,</span> <span class="n">walk_in_scope</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos"> 11</span></a><span class="kn">from</span> <span class="nn">sqlglot.optimizer.simplify</span> <span class="kn">import</span> <span class="n">simplify_parens</span>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos"> 12</span></a><span class="kn">from</span> <span class="nn">sqlglot.schema</span> <span class="kn">import</span> <span class="n">Schema</span><span class="p">,</span> <span class="n">ensure_schema</span>
|
||||
|
@ -680,8 +680,8 @@
|
|||
</span><span id="L-586"><a href="#L-586"><span class="linenos">586</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">scope</span><span class="p">:</span> <span class="n">Scope</span><span class="p">,</span> <span class="n">schema</span><span class="p">:</span> <span class="n">Schema</span><span class="p">,</span> <span class="n">infer_schema</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-587"><a href="#L-587"><span class="linenos">587</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">scope</span> <span class="o">=</span> <span class="n">scope</span>
|
||||
</span><span id="L-588"><a href="#L-588"><span class="linenos">588</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
|
||||
</span><span id="L-589"><a href="#L-589"><span class="linenos">589</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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-590"><a href="#L-590"><span class="linenos">590</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_unambiguous_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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-589"><a href="#L-589"><span class="linenos">589</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="L-590"><a href="#L-590"><span class="linenos">590</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_unambiguous_columns</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">Mapping</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="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="L-591"><a href="#L-591"><span class="linenos">591</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_all_columns</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">Set</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-592"><a href="#L-592"><span class="linenos">592</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_infer_schema</span> <span class="o">=</span> <span class="n">infer_schema</span>
|
||||
</span><span id="L-593"><a href="#L-593"><span class="linenos">593</span></a>
|
||||
|
@ -734,7 +734,7 @@
|
|||
</span><span id="L-640"><a href="#L-640"><span class="linenos">640</span></a> <span class="p">}</span>
|
||||
</span><span id="L-641"><a href="#L-641"><span class="linenos">641</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_all_columns</span>
|
||||
</span><span id="L-642"><a href="#L-642"><span class="linenos">642</span></a>
|
||||
</span><span id="L-643"><a href="#L-643"><span class="linenos">643</span></a> <span class="k">def</span> <span class="nf">get_source_columns</span><span class="p">(</span><span class="bp">self</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="n">only_visible</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><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="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="L-643"><a href="#L-643"><span class="linenos">643</span></a> <span class="k">def</span> <span class="nf">get_source_columns</span><span class="p">(</span><span class="bp">self</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="n">only_visible</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-></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><span id="L-644"><a href="#L-644"><span class="linenos">644</span></a><span class="w"> </span><span class="sd">"""Resolve the source columns for a given source `name`."""</span>
|
||||
</span><span id="L-645"><a href="#L-645"><span class="linenos">645</span></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">scope</span><span class="o">.</span><span class="n">sources</span><span class="p">:</span>
|
||||
</span><span id="L-646"><a href="#L-646"><span class="linenos">646</span></a> <span class="k">raise</span> <span class="n">OptimizeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown table: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
|
@ -764,7 +764,7 @@
|
|||
</span><span id="L-670"><a href="#L-670"><span class="linenos">670</span></a> <span class="p">]</span>
|
||||
</span><span id="L-671"><a href="#L-671"><span class="linenos">671</span></a> <span class="k">return</span> <span class="n">columns</span>
|
||||
</span><span id="L-672"><a href="#L-672"><span class="linenos">672</span></a>
|
||||
</span><span id="L-673"><a href="#L-673"><span class="linenos">673</span></a> <span class="k">def</span> <span class="nf">_get_all_source_columns</span><span class="p">(</span><span class="bp">self</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 class="nb">str</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-673"><a href="#L-673"><span class="linenos">673</span></a> <span class="k">def</span> <span class="nf">_get_all_source_columns</span><span class="p">(</span><span class="bp">self</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 class="nb">str</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><span id="L-674"><a href="#L-674"><span class="linenos">674</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="L-675"><a href="#L-675"><span class="linenos">675</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="L-676"><a href="#L-676"><span class="linenos">676</span></a> <span class="n">source_name</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_source_columns</span><span class="p">(</span><span class="n">source_name</span><span class="p">)</span>
|
||||
|
@ -775,8 +775,8 @@
|
|||
</span><span id="L-681"><a href="#L-681"><span class="linenos">681</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span>
|
||||
</span><span id="L-682"><a href="#L-682"><span class="linenos">682</span></a>
|
||||
</span><span id="L-683"><a href="#L-683"><span class="linenos">683</span></a> <span class="k">def</span> <span class="nf">_get_unambiguous_columns</span><span class="p">(</span>
|
||||
</span><span id="L-684"><a href="#L-684"><span class="linenos">684</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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-685"><a href="#L-685"><span class="linenos">685</span></a> <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 class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="L-684"><a href="#L-684"><span class="linenos">684</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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><span id="L-685"><a href="#L-685"><span class="linenos">685</span></a> <span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Mapping</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="L-686"><a href="#L-686"><span class="linenos">686</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-687"><a href="#L-687"><span class="linenos">687</span></a><span class="sd"> Find all the unambiguous columns in sources.</span>
|
||||
</span><span id="L-688"><a href="#L-688"><span class="linenos">688</span></a>
|
||||
|
@ -792,36 +792,25 @@
|
|||
</span><span id="L-698"><a href="#L-698"><span class="linenos">698</span></a> <span class="n">source_columns_pairs</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">source_columns</span><span class="o">.</span><span class="n">items</span><span class="p">())</span>
|
||||
</span><span id="L-699"><a href="#L-699"><span class="linenos">699</span></a>
|
||||
</span><span id="L-700"><a href="#L-700"><span class="linenos">700</span></a> <span class="n">first_table</span><span class="p">,</span> <span class="n">first_columns</span> <span class="o">=</span> <span class="n">source_columns_pairs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="L-701"><a href="#L-701"><span class="linenos">701</span></a> <span class="n">unambiguous_columns</span> <span class="o">=</span> <span class="p">{</span><span class="n">col</span><span class="p">:</span> <span class="n">first_table</span> <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_find_unique_columns</span><span class="p">(</span><span class="n">first_columns</span><span class="p">)}</span>
|
||||
</span><span id="L-702"><a href="#L-702"><span class="linenos">702</span></a> <span class="n">all_columns</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">unambiguous_columns</span><span class="p">)</span>
|
||||
</span><span id="L-703"><a href="#L-703"><span class="linenos">703</span></a>
|
||||
</span><span id="L-704"><a href="#L-704"><span class="linenos">704</span></a> <span class="k">for</span> <span class="n">table</span><span class="p">,</span> <span class="n">columns</span> <span class="ow">in</span> <span class="n">source_columns_pairs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span>
|
||||
</span><span id="L-705"><a href="#L-705"><span class="linenos">705</span></a> <span class="n">unique</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_find_unique_columns</span><span class="p">(</span><span class="n">columns</span><span class="p">)</span>
|
||||
</span><span id="L-706"><a href="#L-706"><span class="linenos">706</span></a> <span class="n">ambiguous</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">all_columns</span><span class="p">)</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">unique</span><span class="p">)</span>
|
||||
</span><span id="L-707"><a href="#L-707"><span class="linenos">707</span></a> <span class="n">all_columns</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">columns</span><span class="p">)</span>
|
||||
</span><span id="L-701"><a href="#L-701"><span class="linenos">701</span></a>
|
||||
</span><span id="L-702"><a href="#L-702"><span class="linenos">702</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">source_columns_pairs</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="L-703"><a href="#L-703"><span class="linenos">703</span></a> <span class="c1"># Performance optimization - avoid copying first_columns if there is only one table.</span>
|
||||
</span><span id="L-704"><a href="#L-704"><span class="linenos">704</span></a> <span class="k">return</span> <span class="n">SingleValuedMapping</span><span class="p">(</span><span class="n">first_columns</span><span class="p">,</span> <span class="n">first_table</span><span class="p">)</span>
|
||||
</span><span id="L-705"><a href="#L-705"><span class="linenos">705</span></a>
|
||||
</span><span id="L-706"><a href="#L-706"><span class="linenos">706</span></a> <span class="n">unambiguous_columns</span> <span class="o">=</span> <span class="p">{</span><span class="n">col</span><span class="p">:</span> <span class="n">first_table</span> <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">first_columns</span><span class="p">}</span>
|
||||
</span><span id="L-707"><a href="#L-707"><span class="linenos">707</span></a> <span class="n">all_columns</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">unambiguous_columns</span><span class="p">)</span>
|
||||
</span><span id="L-708"><a href="#L-708"><span class="linenos">708</span></a>
|
||||
</span><span id="L-709"><a href="#L-709"><span class="linenos">709</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">ambiguous</span><span class="p">:</span>
|
||||
</span><span id="L-710"><a href="#L-710"><span class="linenos">710</span></a> <span class="n">unambiguous_columns</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-711"><a href="#L-711"><span class="linenos">711</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">unique</span><span class="o">.</span><span class="n">difference</span><span class="p">(</span><span class="n">ambiguous</span><span class="p">):</span>
|
||||
</span><span id="L-712"><a href="#L-712"><span class="linenos">712</span></a> <span class="n">unambiguous_columns</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">table</span>
|
||||
</span><span id="L-709"><a href="#L-709"><span class="linenos">709</span></a> <span class="k">for</span> <span class="n">table</span><span class="p">,</span> <span class="n">columns</span> <span class="ow">in</span> <span class="n">source_columns_pairs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span>
|
||||
</span><span id="L-710"><a href="#L-710"><span class="linenos">710</span></a> <span class="n">unique</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">columns</span><span class="p">)</span>
|
||||
</span><span id="L-711"><a href="#L-711"><span class="linenos">711</span></a> <span class="n">ambiguous</span> <span class="o">=</span> <span class="n">all_columns</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">unique</span><span class="p">)</span>
|
||||
</span><span id="L-712"><a href="#L-712"><span class="linenos">712</span></a> <span class="n">all_columns</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">columns</span><span class="p">)</span>
|
||||
</span><span id="L-713"><a href="#L-713"><span class="linenos">713</span></a>
|
||||
</span><span id="L-714"><a href="#L-714"><span class="linenos">714</span></a> <span class="k">return</span> <span class="n">unambiguous_columns</span>
|
||||
</span><span id="L-715"><a href="#L-715"><span class="linenos">715</span></a>
|
||||
</span><span id="L-716"><a href="#L-716"><span class="linenos">716</span></a> <span class="nd">@staticmethod</span>
|
||||
</span><span id="L-717"><a href="#L-717"><span class="linenos">717</span></a> <span class="k">def</span> <span class="nf">_find_unique_columns</span><span class="p">(</span><span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Collection</span><span class="p">[</span><span class="nb">str</span><span class="p">])</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="L-718"><a href="#L-718"><span class="linenos">718</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-719"><a href="#L-719"><span class="linenos">719</span></a><span class="sd"> Find the unique columns in a list of columns.</span>
|
||||
</span><span id="L-720"><a href="#L-720"><span class="linenos">720</span></a>
|
||||
</span><span id="L-721"><a href="#L-721"><span class="linenos">721</span></a><span class="sd"> Example:</span>
|
||||
</span><span id="L-722"><a href="#L-722"><span class="linenos">722</span></a><span class="sd"> >>> sorted(Resolver._find_unique_columns(["a", "b", "b", "c"]))</span>
|
||||
</span><span id="L-723"><a href="#L-723"><span class="linenos">723</span></a><span class="sd"> ['a', 'c']</span>
|
||||
</span><span id="L-724"><a href="#L-724"><span class="linenos">724</span></a>
|
||||
</span><span id="L-725"><a href="#L-725"><span class="linenos">725</span></a><span class="sd"> This is necessary because duplicate column names are ambiguous.</span>
|
||||
</span><span id="L-726"><a href="#L-726"><span class="linenos">726</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-727"><a href="#L-727"><span class="linenos">727</span></a> <span class="n">counts</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="L-728"><a href="#L-728"><span class="linenos">728</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">columns</span><span class="p">:</span>
|
||||
</span><span id="L-729"><a href="#L-729"><span class="linenos">729</span></a> <span class="n">counts</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">counts</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span>
|
||||
</span><span id="L-730"><a href="#L-730"><span class="linenos">730</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">column</span> <span class="k">for</span> <span class="n">column</span><span class="p">,</span> <span class="n">count</span> <span class="ow">in</span> <span class="n">counts</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">count</span> <span class="o">==</span> <span class="mi">1</span><span class="p">}</span>
|
||||
</span><span id="L-714"><a href="#L-714"><span class="linenos">714</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">ambiguous</span><span class="p">:</span>
|
||||
</span><span id="L-715"><a href="#L-715"><span class="linenos">715</span></a> <span class="n">unambiguous_columns</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-716"><a href="#L-716"><span class="linenos">716</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">unique</span><span class="o">.</span><span class="n">difference</span><span class="p">(</span><span class="n">ambiguous</span><span class="p">):</span>
|
||||
</span><span id="L-717"><a href="#L-717"><span class="linenos">717</span></a> <span class="n">unambiguous_columns</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">table</span>
|
||||
</span><span id="L-718"><a href="#L-718"><span class="linenos">718</span></a>
|
||||
</span><span id="L-719"><a href="#L-719"><span class="linenos">719</span></a> <span class="k">return</span> <span class="n">unambiguous_columns</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1157,8 +1146,8 @@ know what you're doing!</li>
|
|||
</span><span id="Resolver-587"><a href="#Resolver-587"><span class="linenos">587</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">scope</span><span class="p">:</span> <span class="n">Scope</span><span class="p">,</span> <span class="n">schema</span><span class="p">:</span> <span class="n">Schema</span><span class="p">,</span> <span class="n">infer_schema</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="Resolver-588"><a href="#Resolver-588"><span class="linenos">588</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">scope</span> <span class="o">=</span> <span class="n">scope</span>
|
||||
</span><span id="Resolver-589"><a href="#Resolver-589"><span class="linenos">589</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
|
||||
</span><span id="Resolver-590"><a href="#Resolver-590"><span class="linenos">590</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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="Resolver-591"><a href="#Resolver-591"><span class="linenos">591</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_unambiguous_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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="Resolver-590"><a href="#Resolver-590"><span class="linenos">590</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="Resolver-591"><a href="#Resolver-591"><span class="linenos">591</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_unambiguous_columns</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">Mapping</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="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="Resolver-592"><a href="#Resolver-592"><span class="linenos">592</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_all_columns</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">Set</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="Resolver-593"><a href="#Resolver-593"><span class="linenos">593</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_infer_schema</span> <span class="o">=</span> <span class="n">infer_schema</span>
|
||||
</span><span id="Resolver-594"><a href="#Resolver-594"><span class="linenos">594</span></a>
|
||||
|
@ -1211,7 +1200,7 @@ know what you're doing!</li>
|
|||
</span><span id="Resolver-641"><a href="#Resolver-641"><span class="linenos">641</span></a> <span class="p">}</span>
|
||||
</span><span id="Resolver-642"><a href="#Resolver-642"><span class="linenos">642</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_all_columns</span>
|
||||
</span><span id="Resolver-643"><a href="#Resolver-643"><span class="linenos">643</span></a>
|
||||
</span><span id="Resolver-644"><a href="#Resolver-644"><span class="linenos">644</span></a> <span class="k">def</span> <span class="nf">get_source_columns</span><span class="p">(</span><span class="bp">self</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="n">only_visible</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><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="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="Resolver-644"><a href="#Resolver-644"><span class="linenos">644</span></a> <span class="k">def</span> <span class="nf">get_source_columns</span><span class="p">(</span><span class="bp">self</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="n">only_visible</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-></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><span id="Resolver-645"><a href="#Resolver-645"><span class="linenos">645</span></a><span class="w"> </span><span class="sd">"""Resolve the source columns for a given source `name`."""</span>
|
||||
</span><span id="Resolver-646"><a href="#Resolver-646"><span class="linenos">646</span></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">scope</span><span class="o">.</span><span class="n">sources</span><span class="p">:</span>
|
||||
</span><span id="Resolver-647"><a href="#Resolver-647"><span class="linenos">647</span></a> <span class="k">raise</span> <span class="n">OptimizeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown table: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
|
@ -1241,7 +1230,7 @@ know what you're doing!</li>
|
|||
</span><span id="Resolver-671"><a href="#Resolver-671"><span class="linenos">671</span></a> <span class="p">]</span>
|
||||
</span><span id="Resolver-672"><a href="#Resolver-672"><span class="linenos">672</span></a> <span class="k">return</span> <span class="n">columns</span>
|
||||
</span><span id="Resolver-673"><a href="#Resolver-673"><span class="linenos">673</span></a>
|
||||
</span><span id="Resolver-674"><a href="#Resolver-674"><span class="linenos">674</span></a> <span class="k">def</span> <span class="nf">_get_all_source_columns</span><span class="p">(</span><span class="bp">self</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 class="nb">str</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="Resolver-674"><a href="#Resolver-674"><span class="linenos">674</span></a> <span class="k">def</span> <span class="nf">_get_all_source_columns</span><span class="p">(</span><span class="bp">self</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 class="nb">str</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><span id="Resolver-675"><a href="#Resolver-675"><span class="linenos">675</span></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="Resolver-676"><a href="#Resolver-676"><span class="linenos">676</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="Resolver-677"><a href="#Resolver-677"><span class="linenos">677</span></a> <span class="n">source_name</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_source_columns</span><span class="p">(</span><span class="n">source_name</span><span class="p">)</span>
|
||||
|
@ -1252,8 +1241,8 @@ know what you're doing!</li>
|
|||
</span><span id="Resolver-682"><a href="#Resolver-682"><span class="linenos">682</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span>
|
||||
</span><span id="Resolver-683"><a href="#Resolver-683"><span class="linenos">683</span></a>
|
||||
</span><span id="Resolver-684"><a href="#Resolver-684"><span class="linenos">684</span></a> <span class="k">def</span> <span class="nf">_get_unambiguous_columns</span><span class="p">(</span>
|
||||
</span><span id="Resolver-685"><a href="#Resolver-685"><span class="linenos">685</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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="Resolver-686"><a href="#Resolver-686"><span class="linenos">686</span></a> <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 class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="Resolver-685"><a href="#Resolver-685"><span class="linenos">685</span></a> <span class="bp">self</span><span class="p">,</span> <span class="n">source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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><span id="Resolver-686"><a href="#Resolver-686"><span class="linenos">686</span></a> <span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Mapping</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="Resolver-687"><a href="#Resolver-687"><span class="linenos">687</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="Resolver-688"><a href="#Resolver-688"><span class="linenos">688</span></a><span class="sd"> Find all the unambiguous columns in sources.</span>
|
||||
</span><span id="Resolver-689"><a href="#Resolver-689"><span class="linenos">689</span></a>
|
||||
|
@ -1269,36 +1258,25 @@ know what you're doing!</li>
|
|||
</span><span id="Resolver-699"><a href="#Resolver-699"><span class="linenos">699</span></a> <span class="n">source_columns_pairs</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">source_columns</span><span class="o">.</span><span class="n">items</span><span class="p">())</span>
|
||||
</span><span id="Resolver-700"><a href="#Resolver-700"><span class="linenos">700</span></a>
|
||||
</span><span id="Resolver-701"><a href="#Resolver-701"><span class="linenos">701</span></a> <span class="n">first_table</span><span class="p">,</span> <span class="n">first_columns</span> <span class="o">=</span> <span class="n">source_columns_pairs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
</span><span id="Resolver-702"><a href="#Resolver-702"><span class="linenos">702</span></a> <span class="n">unambiguous_columns</span> <span class="o">=</span> <span class="p">{</span><span class="n">col</span><span class="p">:</span> <span class="n">first_table</span> <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_find_unique_columns</span><span class="p">(</span><span class="n">first_columns</span><span class="p">)}</span>
|
||||
</span><span id="Resolver-703"><a href="#Resolver-703"><span class="linenos">703</span></a> <span class="n">all_columns</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">unambiguous_columns</span><span class="p">)</span>
|
||||
</span><span id="Resolver-704"><a href="#Resolver-704"><span class="linenos">704</span></a>
|
||||
</span><span id="Resolver-705"><a href="#Resolver-705"><span class="linenos">705</span></a> <span class="k">for</span> <span class="n">table</span><span class="p">,</span> <span class="n">columns</span> <span class="ow">in</span> <span class="n">source_columns_pairs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span>
|
||||
</span><span id="Resolver-706"><a href="#Resolver-706"><span class="linenos">706</span></a> <span class="n">unique</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_find_unique_columns</span><span class="p">(</span><span class="n">columns</span><span class="p">)</span>
|
||||
</span><span id="Resolver-707"><a href="#Resolver-707"><span class="linenos">707</span></a> <span class="n">ambiguous</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">all_columns</span><span class="p">)</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">unique</span><span class="p">)</span>
|
||||
</span><span id="Resolver-708"><a href="#Resolver-708"><span class="linenos">708</span></a> <span class="n">all_columns</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">columns</span><span class="p">)</span>
|
||||
</span><span id="Resolver-702"><a href="#Resolver-702"><span class="linenos">702</span></a>
|
||||
</span><span id="Resolver-703"><a href="#Resolver-703"><span class="linenos">703</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">source_columns_pairs</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="Resolver-704"><a href="#Resolver-704"><span class="linenos">704</span></a> <span class="c1"># Performance optimization - avoid copying first_columns if there is only one table.</span>
|
||||
</span><span id="Resolver-705"><a href="#Resolver-705"><span class="linenos">705</span></a> <span class="k">return</span> <span class="n">SingleValuedMapping</span><span class="p">(</span><span class="n">first_columns</span><span class="p">,</span> <span class="n">first_table</span><span class="p">)</span>
|
||||
</span><span id="Resolver-706"><a href="#Resolver-706"><span class="linenos">706</span></a>
|
||||
</span><span id="Resolver-707"><a href="#Resolver-707"><span class="linenos">707</span></a> <span class="n">unambiguous_columns</span> <span class="o">=</span> <span class="p">{</span><span class="n">col</span><span class="p">:</span> <span class="n">first_table</span> <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">first_columns</span><span class="p">}</span>
|
||||
</span><span id="Resolver-708"><a href="#Resolver-708"><span class="linenos">708</span></a> <span class="n">all_columns</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">unambiguous_columns</span><span class="p">)</span>
|
||||
</span><span id="Resolver-709"><a href="#Resolver-709"><span class="linenos">709</span></a>
|
||||
</span><span id="Resolver-710"><a href="#Resolver-710"><span class="linenos">710</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">ambiguous</span><span class="p">:</span>
|
||||
</span><span id="Resolver-711"><a href="#Resolver-711"><span class="linenos">711</span></a> <span class="n">unambiguous_columns</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="Resolver-712"><a href="#Resolver-712"><span class="linenos">712</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">unique</span><span class="o">.</span><span class="n">difference</span><span class="p">(</span><span class="n">ambiguous</span><span class="p">):</span>
|
||||
</span><span id="Resolver-713"><a href="#Resolver-713"><span class="linenos">713</span></a> <span class="n">unambiguous_columns</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">table</span>
|
||||
</span><span id="Resolver-710"><a href="#Resolver-710"><span class="linenos">710</span></a> <span class="k">for</span> <span class="n">table</span><span class="p">,</span> <span class="n">columns</span> <span class="ow">in</span> <span class="n">source_columns_pairs</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span>
|
||||
</span><span id="Resolver-711"><a href="#Resolver-711"><span class="linenos">711</span></a> <span class="n">unique</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">columns</span><span class="p">)</span>
|
||||
</span><span id="Resolver-712"><a href="#Resolver-712"><span class="linenos">712</span></a> <span class="n">ambiguous</span> <span class="o">=</span> <span class="n">all_columns</span><span class="o">.</span><span class="n">intersection</span><span class="p">(</span><span class="n">unique</span><span class="p">)</span>
|
||||
</span><span id="Resolver-713"><a href="#Resolver-713"><span class="linenos">713</span></a> <span class="n">all_columns</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">columns</span><span class="p">)</span>
|
||||
</span><span id="Resolver-714"><a href="#Resolver-714"><span class="linenos">714</span></a>
|
||||
</span><span id="Resolver-715"><a href="#Resolver-715"><span class="linenos">715</span></a> <span class="k">return</span> <span class="n">unambiguous_columns</span>
|
||||
</span><span id="Resolver-716"><a href="#Resolver-716"><span class="linenos">716</span></a>
|
||||
</span><span id="Resolver-717"><a href="#Resolver-717"><span class="linenos">717</span></a> <span class="nd">@staticmethod</span>
|
||||
</span><span id="Resolver-718"><a href="#Resolver-718"><span class="linenos">718</span></a> <span class="k">def</span> <span class="nf">_find_unique_columns</span><span class="p">(</span><span class="n">columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Collection</span><span class="p">[</span><span class="nb">str</span><span class="p">])</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Set</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="Resolver-719"><a href="#Resolver-719"><span class="linenos">719</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="Resolver-720"><a href="#Resolver-720"><span class="linenos">720</span></a><span class="sd"> Find the unique columns in a list of columns.</span>
|
||||
</span><span id="Resolver-721"><a href="#Resolver-721"><span class="linenos">721</span></a>
|
||||
</span><span id="Resolver-722"><a href="#Resolver-722"><span class="linenos">722</span></a><span class="sd"> Example:</span>
|
||||
</span><span id="Resolver-723"><a href="#Resolver-723"><span class="linenos">723</span></a><span class="sd"> >>> sorted(Resolver._find_unique_columns(["a", "b", "b", "c"]))</span>
|
||||
</span><span id="Resolver-724"><a href="#Resolver-724"><span class="linenos">724</span></a><span class="sd"> ['a', 'c']</span>
|
||||
</span><span id="Resolver-725"><a href="#Resolver-725"><span class="linenos">725</span></a>
|
||||
</span><span id="Resolver-726"><a href="#Resolver-726"><span class="linenos">726</span></a><span class="sd"> This is necessary because duplicate column names are ambiguous.</span>
|
||||
</span><span id="Resolver-727"><a href="#Resolver-727"><span class="linenos">727</span></a><span class="sd"> """</span>
|
||||
</span><span id="Resolver-728"><a href="#Resolver-728"><span class="linenos">728</span></a> <span class="n">counts</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
</span><span id="Resolver-729"><a href="#Resolver-729"><span class="linenos">729</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">columns</span><span class="p">:</span>
|
||||
</span><span id="Resolver-730"><a href="#Resolver-730"><span class="linenos">730</span></a> <span class="n">counts</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">counts</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span>
|
||||
</span><span id="Resolver-731"><a href="#Resolver-731"><span class="linenos">731</span></a> <span class="k">return</span> <span class="p">{</span><span class="n">column</span> <span class="k">for</span> <span class="n">column</span><span class="p">,</span> <span class="n">count</span> <span class="ow">in</span> <span class="n">counts</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="n">count</span> <span class="o">==</span> <span class="mi">1</span><span class="p">}</span>
|
||||
</span><span id="Resolver-715"><a href="#Resolver-715"><span class="linenos">715</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">ambiguous</span><span class="p">:</span>
|
||||
</span><span id="Resolver-716"><a href="#Resolver-716"><span class="linenos">716</span></a> <span class="n">unambiguous_columns</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">column</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="Resolver-717"><a href="#Resolver-717"><span class="linenos">717</span></a> <span class="k">for</span> <span class="n">column</span> <span class="ow">in</span> <span class="n">unique</span><span class="o">.</span><span class="n">difference</span><span class="p">(</span><span class="n">ambiguous</span><span class="p">):</span>
|
||||
</span><span id="Resolver-718"><a href="#Resolver-718"><span class="linenos">718</span></a> <span class="n">unambiguous_columns</span><span class="p">[</span><span class="n">column</span><span class="p">]</span> <span class="o">=</span> <span class="n">table</span>
|
||||
</span><span id="Resolver-719"><a href="#Resolver-719"><span class="linenos">719</span></a>
|
||||
</span><span id="Resolver-720"><a href="#Resolver-720"><span class="linenos">720</span></a> <span class="k">return</span> <span class="n">unambiguous_columns</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1321,8 +1299,8 @@ know what you're doing!</li>
|
|||
<div class="pdoc-code codehilite"><pre><span></span><span id="Resolver.__init__-587"><a href="#Resolver.__init__-587"><span class="linenos">587</span></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">scope</span><span class="p">:</span> <span class="n">Scope</span><span class="p">,</span> <span class="n">schema</span><span class="p">:</span> <span class="n">Schema</span><span class="p">,</span> <span class="n">infer_schema</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="Resolver.__init__-588"><a href="#Resolver.__init__-588"><span class="linenos">588</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">scope</span> <span class="o">=</span> <span class="n">scope</span>
|
||||
</span><span id="Resolver.__init__-589"><a href="#Resolver.__init__-589"><span class="linenos">589</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">schema</span> <span class="o">=</span> <span class="n">schema</span>
|
||||
</span><span id="Resolver.__init__-590"><a href="#Resolver.__init__-590"><span class="linenos">590</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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="Resolver.__init__-591"><a href="#Resolver.__init__-591"><span class="linenos">591</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_unambiguous_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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="Resolver.__init__-590"><a href="#Resolver.__init__-590"><span class="linenos">590</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_source_columns</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</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="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="Resolver.__init__-591"><a href="#Resolver.__init__-591"><span class="linenos">591</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_unambiguous_columns</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">Mapping</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="o">=</span> <span class="kc">None</span>
|
||||
</span><span id="Resolver.__init__-592"><a href="#Resolver.__init__-592"><span class="linenos">592</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_all_columns</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">Set</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="Resolver.__init__-593"><a href="#Resolver.__init__-593"><span class="linenos">593</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_infer_schema</span> <span class="o">=</span> <span class="n">infer_schema</span>
|
||||
</span></pre></div>
|
||||
|
@ -1453,13 +1431,13 @@ know what you're doing!</li>
|
|||
<div class="attr function">
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">get_source_columns</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">name</span><span class="p">:</span> <span class="nb">str</span>, </span><span class="param"><span class="n">only_visible</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">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span>:</span></span>
|
||||
<span class="name">get_source_columns</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">name</span><span class="p">:</span> <span class="nb">str</span>, </span><span class="param"><span class="n">only_visible</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">Sequence</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Resolver.get_source_columns-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Resolver.get_source_columns"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Resolver.get_source_columns-644"><a href="#Resolver.get_source_columns-644"><span class="linenos">644</span></a> <span class="k">def</span> <span class="nf">get_source_columns</span><span class="p">(</span><span class="bp">self</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="n">only_visible</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><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="nb">str</span><span class="p">]:</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="Resolver.get_source_columns-644"><a href="#Resolver.get_source_columns-644"><span class="linenos">644</span></a> <span class="k">def</span> <span class="nf">get_source_columns</span><span class="p">(</span><span class="bp">self</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="n">only_visible</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">)</span> <span class="o">-></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><span id="Resolver.get_source_columns-645"><a href="#Resolver.get_source_columns-645"><span class="linenos">645</span></a><span class="w"> </span><span class="sd">"""Resolve the source columns for a given source `name`."""</span>
|
||||
</span><span id="Resolver.get_source_columns-646"><a href="#Resolver.get_source_columns-646"><span class="linenos">646</span></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">scope</span><span class="o">.</span><span class="n">sources</span><span class="p">:</span>
|
||||
</span><span id="Resolver.get_source_columns-647"><a href="#Resolver.get_source_columns-647"><span class="linenos">647</span></a> <span class="k">raise</span> <span class="n">OptimizeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown table: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
|
|
|
@ -2546,7 +2546,7 @@ prefix are statically known.</p>
|
|||
<div class="attr variable">
|
||||
<span class="name">DATETRUNC_COMPARISONS</span> =
|
||||
<input id="DATETRUNC_COMPARISONS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<label class="view-value-button pdoc-button" for="DATETRUNC_COMPARISONS-view-value"></label><span class="default_value">{<class '<a href="../expressions.html#GTE">sqlglot.expressions.GTE</a>'>, <class '<a href="../expressions.html#LTE">sqlglot.expressions.LTE</a>'>, <class '<a href="../expressions.html#EQ">sqlglot.expressions.EQ</a>'>, <class '<a href="../expressions.html#GT">sqlglot.expressions.GT</a>'>, <class '<a href="../expressions.html#LT">sqlglot.expressions.LT</a>'>, <class '<a href="../expressions.html#In">sqlglot.expressions.In</a>'>, <class '<a href="../expressions.html#NEQ">sqlglot.expressions.NEQ</a>'>}</span>
|
||||
<label class="view-value-button pdoc-button" for="DATETRUNC_COMPARISONS-view-value"></label><span class="default_value">{<class '<a href="../expressions.html#GTE">sqlglot.expressions.GTE</a>'>, <class '<a href="../expressions.html#EQ">sqlglot.expressions.EQ</a>'>, <class '<a href="../expressions.html#LT">sqlglot.expressions.LT</a>'>, <class '<a href="../expressions.html#NEQ">sqlglot.expressions.NEQ</a>'>, <class '<a href="../expressions.html#GT">sqlglot.expressions.GT</a>'>, <class '<a href="../expressions.html#In">sqlglot.expressions.In</a>'>, <class '<a href="../expressions.html#LTE">sqlglot.expressions.LTE</a>'>}</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -2626,7 +2626,7 @@ prefix are statically known.</p>
|
|||
<section id="JOINS">
|
||||
<div class="attr variable">
|
||||
<span class="name">JOINS</span> =
|
||||
<span class="default_value">{('', 'INNER'), ('RIGHT', 'OUTER'), ('RIGHT', ''), ('', '')}</span>
|
||||
<span class="default_value">{('', 'INNER'), ('RIGHT', ''), ('RIGHT', 'OUTER'), ('', '')}</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
19153
docs/sqlglot/parser.html
19153
docs/sqlglot/parser.html
File diff suppressed because one or more lines are too long
|
@ -221,7 +221,7 @@
|
|||
</span><span id="L-49"><a href="#L-49"><span class="linenos"> 49</span></a> <span class="n">only_visible</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-50"><a href="#L-50"><span class="linenos"> 50</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-51"><a href="#L-51"><span class="linenos"> 51</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">None</span><span class="p">,</span>
|
||||
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</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="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="L-52"><a href="#L-52"><span class="linenos"> 52</span></a> <span class="p">)</span> <span class="o">-></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><span id="L-53"><a href="#L-53"><span class="linenos"> 53</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-54"><a href="#L-54"><span class="linenos"> 54</span></a><span class="sd"> Get the column names for a table.</span>
|
||||
</span><span id="L-55"><a href="#L-55"><span class="linenos"> 55</span></a>
|
||||
|
@ -232,7 +232,7 @@
|
|||
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="sd"> normalize: whether to normalize identifiers according to the dialect of interest.</span>
|
||||
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a>
|
||||
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="sd"> The list of column names.</span>
|
||||
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a><span class="sd"> The sequence of column names.</span>
|
||||
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a>
|
||||
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
|
||||
|
@ -789,7 +789,7 @@
|
|||
</span><span id="Schema-50"><a href="#Schema-50"><span class="linenos"> 50</span></a> <span class="n">only_visible</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="Schema-51"><a href="#Schema-51"><span class="linenos"> 51</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="Schema-52"><a href="#Schema-52"><span class="linenos"> 52</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">None</span><span class="p">,</span>
|
||||
</span><span id="Schema-53"><a href="#Schema-53"><span class="linenos"> 53</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="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="Schema-53"><a href="#Schema-53"><span class="linenos"> 53</span></a> <span class="p">)</span> <span class="o">-></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><span id="Schema-54"><a href="#Schema-54"><span class="linenos"> 54</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="Schema-55"><a href="#Schema-55"><span class="linenos"> 55</span></a><span class="sd"> Get the column names for a table.</span>
|
||||
</span><span id="Schema-56"><a href="#Schema-56"><span class="linenos"> 56</span></a>
|
||||
|
@ -800,7 +800,7 @@
|
|||
</span><span id="Schema-61"><a href="#Schema-61"><span class="linenos"> 61</span></a><span class="sd"> normalize: whether to normalize identifiers according to the dialect of interest.</span>
|
||||
</span><span id="Schema-62"><a href="#Schema-62"><span class="linenos"> 62</span></a>
|
||||
</span><span id="Schema-63"><a href="#Schema-63"><span class="linenos"> 63</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="Schema-64"><a href="#Schema-64"><span class="linenos"> 64</span></a><span class="sd"> The list of column names.</span>
|
||||
</span><span id="Schema-64"><a href="#Schema-64"><span class="linenos"> 64</span></a><span class="sd"> The sequence of column names.</span>
|
||||
</span><span id="Schema-65"><a href="#Schema-65"><span class="linenos"> 65</span></a><span class="sd"> """</span>
|
||||
</span><span id="Schema-66"><a href="#Schema-66"><span class="linenos"> 66</span></a>
|
||||
</span><span id="Schema-67"><a href="#Schema-67"><span class="linenos"> 67</span></a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
|
||||
|
@ -932,7 +932,7 @@ The added table must have the necessary number of qualifiers in its path to matc
|
|||
<div class="decorator">@abc.abstractmethod</div>
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">column_names</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">table</span><span class="p">:</span> <span class="n"><a href="expressions.html#Table">sqlglot.expressions.Table</a></span> <span class="o">|</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">only_visible</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span>,</span><span class="param"> <span class="n">dialect</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"><a href="dialects/dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a></span><span class="p">,</span> <span class="n">Type</span><span class="p">[</span><span class="n"><a href="dialects/dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a></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">normalize</span><span class="p">:</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">None</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">column_names</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">table</span><span class="p">:</span> <span class="n"><a href="expressions.html#Table">sqlglot.expressions.Table</a></span> <span class="o">|</span> <span class="nb">str</span>,</span><span class="param"> <span class="n">only_visible</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span>,</span><span class="param"> <span class="n">dialect</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"><a href="dialects/dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a></span><span class="p">,</span> <span class="n">Type</span><span class="p">[</span><span class="n"><a href="dialects/dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a></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">normalize</span><span class="p">:</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">None</span></span><span class="return-annotation">) -> <span class="n">Sequence</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Schema.column_names-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -945,7 +945,7 @@ The added table must have the necessary number of qualifiers in its path to matc
|
|||
</span><span id="Schema.column_names-50"><a href="#Schema.column_names-50"><span class="linenos">50</span></a> <span class="n">only_visible</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="Schema.column_names-51"><a href="#Schema.column_names-51"><span class="linenos">51</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="Schema.column_names-52"><a href="#Schema.column_names-52"><span class="linenos">52</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">None</span><span class="p">,</span>
|
||||
</span><span id="Schema.column_names-53"><a href="#Schema.column_names-53"><span class="linenos">53</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="nb">str</span><span class="p">]:</span>
|
||||
</span><span id="Schema.column_names-53"><a href="#Schema.column_names-53"><span class="linenos">53</span></a> <span class="p">)</span> <span class="o">-></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><span id="Schema.column_names-54"><a href="#Schema.column_names-54"><span class="linenos">54</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="Schema.column_names-55"><a href="#Schema.column_names-55"><span class="linenos">55</span></a><span class="sd"> Get the column names for a table.</span>
|
||||
</span><span id="Schema.column_names-56"><a href="#Schema.column_names-56"><span class="linenos">56</span></a>
|
||||
|
@ -956,7 +956,7 @@ The added table must have the necessary number of qualifiers in its path to matc
|
|||
</span><span id="Schema.column_names-61"><a href="#Schema.column_names-61"><span class="linenos">61</span></a><span class="sd"> normalize: whether to normalize identifiers according to the dialect of interest.</span>
|
||||
</span><span id="Schema.column_names-62"><a href="#Schema.column_names-62"><span class="linenos">62</span></a>
|
||||
</span><span id="Schema.column_names-63"><a href="#Schema.column_names-63"><span class="linenos">63</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="Schema.column_names-64"><a href="#Schema.column_names-64"><span class="linenos">64</span></a><span class="sd"> The list of column names.</span>
|
||||
</span><span id="Schema.column_names-64"><a href="#Schema.column_names-64"><span class="linenos">64</span></a><span class="sd"> The sequence of column names.</span>
|
||||
</span><span id="Schema.column_names-65"><a href="#Schema.column_names-65"><span class="linenos">65</span></a><span class="sd"> """</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
@ -975,7 +975,7 @@ The added table must have the necessary number of qualifiers in its path to matc
|
|||
<h6 id="returns">Returns:</h6>
|
||||
|
||||
<blockquote>
|
||||
<p>The list of column names.</p>
|
||||
<p>The sequence of column names.</p>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
@ -1970,7 +1970,7 @@ The added table must have the necessary number of qualifiers in its path to matc
|
|||
<h6 id="returns">Returns:</h6>
|
||||
|
||||
<blockquote>
|
||||
<p>The list of column names.</p>
|
||||
<p>The sequence of column names.</p>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -8364,7 +8364,7 @@
|
|||
<div class="attr variable">
|
||||
<span class="name">COMMANDS</span> =
|
||||
<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.SHOW">TokenType.SHOW</a>: 'SHOW'>, <<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: 'COMMAND'>, <<a href="#TokenType.EXECUTE">TokenType.EXECUTE</a>: 'EXECUTE'>, <<a href="#TokenType.FETCH">TokenType.FETCH</a>: 'FETCH'>}</span>
|
||||
<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.EXECUTE">TokenType.EXECUTE</a>: 'EXECUTE'>, <<a href="#TokenType.COMMAND">TokenType.COMMAND</a>: 'COMMAND'>}</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -8376,7 +8376,7 @@
|
|||
<div id="Tokenizer.COMMAND_PREFIX_TOKENS" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">COMMAND_PREFIX_TOKENS</span> =
|
||||
<span class="default_value">{<<a href="#TokenType.BEGIN">TokenType.BEGIN</a>: 'BEGIN'>, <<a href="#TokenType.SEMICOLON">TokenType.SEMICOLON</a>: 'SEMICOLON'>}</span>
|
||||
<span class="default_value">{<<a href="#TokenType.SEMICOLON">TokenType.SEMICOLON</a>: 'SEMICOLON'>, <<a href="#TokenType.BEGIN">TokenType.BEGIN</a>: 'BEGIN'>}</span>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue