Merging upstream version 16.4.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
2426bb8908
commit
2e72f978c2
79 changed files with 72289 additions and 29264 deletions
File diff suppressed because one or more lines are too long
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -60,6 +60,9 @@
|
|||
|
||||
<h2>API Documentation</h2>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#logger">logger</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#pretty">pretty</a>
|
||||
</li>
|
||||
|
@ -753,120 +756,91 @@
|
|||
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a>
|
||||
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a>
|
||||
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
|
||||
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a> <span class="n">read</span><span class="p">:</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a> <span class="n">into</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">E</span><span class="p">]</span> <span class="o">=</span> <span class="o">...</span><span class="p">,</span>
|
||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">E</span><span class="p">:</span>
|
||||
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span><span class="n">sql</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">into</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">E</span><span class="p">],</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-></span> <span class="n">E</span><span class="p">:</span>
|
||||
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="o">...</span>
|
||||
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a>
|
||||
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a>
|
||||
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
|
||||
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span><span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span> <span class="o">-></span> <span class="n">Expression</span><span class="p">:</span>
|
||||
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="o">...</span>
|
||||
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a>
|
||||
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a>
|
||||
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
|
||||
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a> <span class="n">read</span><span class="p">:</span> <span class="n">DialectType</span><span class="p">,</span>
|
||||
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a> <span class="n">into</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Type</span><span class="p">[</span><span class="n">E</span><span class="p">],</span>
|
||||
</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">E</span><span class="p">:</span>
|
||||
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a> <span class="o">...</span>
|
||||
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a>
|
||||
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a>
|
||||
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
|
||||
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="n">read</span><span class="p">:</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a> <span class="n">into</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Union</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">Collection</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Union</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">Type</span><span class="p">[</span><span class="n">Expression</span><span class="p">]]]]</span> <span class="o">=</span> <span class="o">...</span><span class="p">,</span>
|
||||
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">Expression</span><span class="p">:</span>
|
||||
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a> <span class="o">...</span>
|
||||
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a>
|
||||
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a>
|
||||
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
|
||||
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> <span class="n">read</span><span class="p">:</span> <span class="n">DialectType</span><span class="p">,</span>
|
||||
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="n">into</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Union</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">Collection</span><span class="p">[</span><span class="n">t</span><span class="o">.</span><span class="n">Union</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">Type</span><span class="p">[</span><span class="n">Expression</span><span class="p">]]]],</span>
|
||||
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">Expression</span><span class="p">:</span>
|
||||
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="o">...</span>
|
||||
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a>
|
||||
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">read</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">into</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
|
||||
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">Expression</span><span class="p">:</span>
|
||||
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a><span class="sd"> Parses the given SQL string and returns a syntax tree for the first parsed SQL statement.</span>
|
||||
</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a>
|
||||
</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a><span class="sd"> sql: the SQL code string to parse.</span>
|
||||
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a><span class="sd"> read: the SQL dialect to apply during parsing (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a><span class="sd"> into: the SQLGlot Expression to parse into.</span>
|
||||
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a><span class="sd"> **opts: other `sqlglot.parser.Parser` options.</span>
|
||||
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a>
|
||||
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a><span class="sd"> The syntax tree for the first parsed statement.</span>
|
||||
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a>
|
||||
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a> <span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">read</span><span class="p">)()</span>
|
||||
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a>
|
||||
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a> <span class="k">if</span> <span class="n">into</span><span class="p">:</span>
|
||||
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">dialect</span><span class="o">.</span><span class="n">parse_into</span><span class="p">(</span><span class="n">into</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">dialect</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a>
|
||||
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">result</span><span class="p">:</span>
|
||||
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expression</span><span class="p">:</span>
|
||||
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"No expression was parsed from '</span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
||||
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="k">return</span> <span class="n">expression</span>
|
||||
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"No expression was parsed from '</span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
||||
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a>
|
||||
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a><span class="nd">@t</span><span class="o">.</span><span class="n">overload</span>
|
||||
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a>
|
||||
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a><span class="k">def</span> <span class="nf">transpile</span><span class="p">(</span>
|
||||
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">Expression</span><span class="p">:</span>
|
||||
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a> <span class="o">...</span>
|
||||
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a>
|
||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a>
|
||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="n">read</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-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="n">into</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">Expression</span><span class="p">:</span>
|
||||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a><span class="sd"> Parses the given SQL string and returns a syntax tree for the first parsed SQL statement.</span>
|
||||
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a>
|
||||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a><span class="sd"> sql: the SQL code string to parse.</span>
|
||||
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a><span class="sd"> read: the SQL dialect to apply during parsing (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a><span class="sd"> into: the SQLGlot Expression to parse into.</span>
|
||||
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a><span class="sd"> **opts: other `sqlglot.parser.Parser` options.</span>
|
||||
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a>
|
||||
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a><span class="sd"> The syntax tree for the first parsed statement.</span>
|
||||
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a>
|
||||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">read</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">if</span> <span class="n">into</span><span class="p">:</span>
|
||||
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">dialect</span><span class="o">.</span><span class="n">parse_into</span><span class="p">(</span><span class="n">into</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">dialect</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a>
|
||||
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">result</span><span class="p">:</span>
|
||||
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expression</span><span class="p">:</span>
|
||||
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"No expression was parsed from '</span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
||||
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="k">return</span> <span class="n">expression</span>
|
||||
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"No expression was parsed from '</span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
||||
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a>
|
||||
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a>
|
||||
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a><span class="k">def</span> <span class="nf">transpile</span><span class="p">(</span>
|
||||
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="n">read</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-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="n">write</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-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="n">identity</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-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="n">error_level</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">ErrorLevel</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="L-174"><a href="#L-174"><span class="linenos">174</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="L-175"><a href="#L-175"><span class="linenos">175</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-176"><a href="#L-176"><span class="linenos">176</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-177"><a href="#L-177"><span class="linenos">177</span></a><span class="sd"> Parses the given SQL string in accordance with the source dialect and returns a list of SQL strings transformed</span>
|
||||
</span><span id="L-178"><a href="#L-178"><span class="linenos">178</span></a><span class="sd"> to conform to the target dialect. Each string in the returned list represents a single transformed SQL statement.</span>
|
||||
</span><span id="L-179"><a href="#L-179"><span class="linenos">179</span></a>
|
||||
</span><span id="L-180"><a href="#L-180"><span class="linenos">180</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="L-181"><a href="#L-181"><span class="linenos">181</span></a><span class="sd"> sql: the SQL code string to transpile.</span>
|
||||
</span><span id="L-182"><a href="#L-182"><span class="linenos">182</span></a><span class="sd"> read: the source dialect used to parse the input string (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="L-183"><a href="#L-183"><span class="linenos">183</span></a><span class="sd"> write: the target dialect into which the input should be transformed (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="L-184"><a href="#L-184"><span class="linenos">184</span></a><span class="sd"> identity: if set to `True` and if the target dialect is not specified the source dialect will be used as both:</span>
|
||||
</span><span id="L-185"><a href="#L-185"><span class="linenos">185</span></a><span class="sd"> the source and the target dialect.</span>
|
||||
</span><span id="L-186"><a href="#L-186"><span class="linenos">186</span></a><span class="sd"> error_level: the desired error level of the parser.</span>
|
||||
</span><span id="L-187"><a href="#L-187"><span class="linenos">187</span></a><span class="sd"> **opts: other `sqlglot.generator.Generator` options.</span>
|
||||
</span><span id="L-188"><a href="#L-188"><span class="linenos">188</span></a>
|
||||
</span><span id="L-189"><a href="#L-189"><span class="linenos">189</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-190"><a href="#L-190"><span class="linenos">190</span></a><span class="sd"> The list of transpiled SQL statements.</span>
|
||||
</span><span id="L-191"><a href="#L-191"><span class="linenos">191</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-192"><a href="#L-192"><span class="linenos">192</span></a> <span class="n">write</span> <span class="o">=</span> <span class="p">(</span><span class="n">read</span> <span class="k">if</span> <span class="n">write</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">write</span><span class="p">)</span> <span class="k">if</span> <span class="n">identity</span> <span class="k">else</span> <span class="n">write</span>
|
||||
</span><span id="L-193"><a href="#L-193"><span class="linenos">193</span></a> <span class="k">return</span> <span class="p">[</span>
|
||||
</span><span id="L-194"><a href="#L-194"><span class="linenos">194</span></a> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">write</span><span class="p">)()</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="L-195"><a href="#L-195"><span class="linenos">195</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">parse</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">read</span><span class="p">,</span> <span class="n">error_level</span><span class="o">=</span><span class="n">error_level</span><span class="p">)</span>
|
||||
</span><span id="L-196"><a href="#L-196"><span class="linenos">196</span></a> <span class="p">]</span>
|
||||
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="n">read</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-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="n">write</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-131"><a href="#L-131"><span class="linenos">131</span></a> <span class="n">identity</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-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="n">error_level</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">ErrorLevel</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a><span class="p">)</span> <span 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-135"><a href="#L-135"><span class="linenos">135</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a><span class="sd"> Parses the given SQL string in accordance with the source dialect and returns a list of SQL strings transformed</span>
|
||||
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a><span class="sd"> to conform to the target dialect. Each string in the returned list represents a single transformed SQL statement.</span>
|
||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a>
|
||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a><span class="sd"> sql: the SQL code string to transpile.</span>
|
||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a><span class="sd"> read: the source dialect used to parse the input string (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a><span class="sd"> write: the target dialect into which the input should be transformed (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a><span class="sd"> identity: if set to `True` and if the target dialect is not specified the source dialect will be used as both:</span>
|
||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a><span class="sd"> the source and the target dialect.</span>
|
||||
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a><span class="sd"> error_level: the desired error level of the parser.</span>
|
||||
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a><span class="sd"> **opts: other `sqlglot.generator.Generator` options.</span>
|
||||
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a>
|
||||
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a><span class="sd"> The list of transpiled SQL statements.</span>
|
||||
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="n">write</span> <span class="o">=</span> <span class="p">(</span><span class="n">read</span> <span class="k">if</span> <span class="n">write</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">write</span><span class="p">)</span> <span class="k">if</span> <span class="n">identity</span> <span class="k">else</span> <span class="n">write</span>
|
||||
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="k">return</span> <span class="p">[</span>
|
||||
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">write</span><span class="p">)()</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">parse</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">read</span><span class="p">,</span> <span class="n">error_level</span><span class="o">=</span><span class="n">error_level</span><span class="p">)</span>
|
||||
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a> <span class="p">]</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
</section>
|
||||
<section id="logger">
|
||||
<div class="attr variable">
|
||||
<span class="name">logger</span> =
|
||||
<span class="default_value"><Logger sqlglot (WARNING)></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#logger"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="pretty">
|
||||
<div class="attr variable">
|
||||
<span class="name">pretty</span> =
|
||||
|
@ -953,38 +927,35 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#parse_one"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="parse_one-135"><a href="#parse_one-135"><span class="linenos">135</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="parse_one-136"><a href="#parse_one-136"><span class="linenos">136</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="parse_one-137"><a href="#parse_one-137"><span class="linenos">137</span></a> <span class="n">read</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="parse_one-138"><a href="#parse_one-138"><span class="linenos">138</span></a> <span class="n">into</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="parse_one-139"><a href="#parse_one-139"><span class="linenos">139</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="parse_one-140"><a href="#parse_one-140"><span class="linenos">140</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">Expression</span><span class="p">:</span>
|
||||
</span><span id="parse_one-141"><a href="#parse_one-141"><span class="linenos">141</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="parse_one-142"><a href="#parse_one-142"><span class="linenos">142</span></a><span class="sd"> Parses the given SQL string and returns a syntax tree for the first parsed SQL statement.</span>
|
||||
</span><span id="parse_one-143"><a href="#parse_one-143"><span class="linenos">143</span></a>
|
||||
</span><span id="parse_one-144"><a href="#parse_one-144"><span class="linenos">144</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="parse_one-145"><a href="#parse_one-145"><span class="linenos">145</span></a><span class="sd"> sql: the SQL code string to parse.</span>
|
||||
</span><span id="parse_one-146"><a href="#parse_one-146"><span class="linenos">146</span></a><span class="sd"> read: the SQL dialect to apply during parsing (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="parse_one-147"><a href="#parse_one-147"><span class="linenos">147</span></a><span class="sd"> into: the SQLGlot Expression to parse into.</span>
|
||||
</span><span id="parse_one-148"><a href="#parse_one-148"><span class="linenos">148</span></a><span class="sd"> **opts: other `sqlglot.parser.Parser` options.</span>
|
||||
</span><span id="parse_one-149"><a href="#parse_one-149"><span class="linenos">149</span></a>
|
||||
</span><span id="parse_one-150"><a href="#parse_one-150"><span class="linenos">150</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="parse_one-151"><a href="#parse_one-151"><span class="linenos">151</span></a><span class="sd"> The syntax tree for the first parsed statement.</span>
|
||||
</span><span id="parse_one-152"><a href="#parse_one-152"><span class="linenos">152</span></a><span class="sd"> """</span>
|
||||
</span><span id="parse_one-153"><a href="#parse_one-153"><span class="linenos">153</span></a>
|
||||
</span><span id="parse_one-154"><a href="#parse_one-154"><span class="linenos">154</span></a> <span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">read</span><span class="p">)()</span>
|
||||
</span><span id="parse_one-155"><a href="#parse_one-155"><span class="linenos">155</span></a>
|
||||
</span><span id="parse_one-156"><a href="#parse_one-156"><span class="linenos">156</span></a> <span class="k">if</span> <span class="n">into</span><span class="p">:</span>
|
||||
</span><span id="parse_one-157"><a href="#parse_one-157"><span class="linenos">157</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">dialect</span><span class="o">.</span><span class="n">parse_into</span><span class="p">(</span><span class="n">into</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="parse_one-158"><a href="#parse_one-158"><span class="linenos">158</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="parse_one-159"><a href="#parse_one-159"><span class="linenos">159</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">dialect</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="parse_one-160"><a href="#parse_one-160"><span class="linenos">160</span></a>
|
||||
</span><span id="parse_one-161"><a href="#parse_one-161"><span class="linenos">161</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">result</span><span class="p">:</span>
|
||||
</span><span id="parse_one-162"><a href="#parse_one-162"><span class="linenos">162</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expression</span><span class="p">:</span>
|
||||
</span><span id="parse_one-163"><a href="#parse_one-163"><span class="linenos">163</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"No expression was parsed from '</span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
||||
</span><span id="parse_one-164"><a href="#parse_one-164"><span class="linenos">164</span></a> <span class="k">return</span> <span class="n">expression</span>
|
||||
</span><span id="parse_one-165"><a href="#parse_one-165"><span class="linenos">165</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="parse_one-166"><a href="#parse_one-166"><span class="linenos">166</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"No expression was parsed from '</span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="parse_one-97"><a href="#parse_one-97"><span class="linenos"> 97</span></a><span class="k">def</span> <span class="nf">parse_one</span><span class="p">(</span>
|
||||
</span><span id="parse_one-98"><a href="#parse_one-98"><span class="linenos"> 98</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">read</span><span class="p">:</span> <span class="n">DialectType</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">into</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">IntoType</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span>
|
||||
</span><span id="parse_one-99"><a href="#parse_one-99"><span class="linenos"> 99</span></a><span class="p">)</span> <span class="o">-></span> <span class="n">Expression</span><span class="p">:</span>
|
||||
</span><span id="parse_one-100"><a href="#parse_one-100"><span class="linenos">100</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="parse_one-101"><a href="#parse_one-101"><span class="linenos">101</span></a><span class="sd"> Parses the given SQL string and returns a syntax tree for the first parsed SQL statement.</span>
|
||||
</span><span id="parse_one-102"><a href="#parse_one-102"><span class="linenos">102</span></a>
|
||||
</span><span id="parse_one-103"><a href="#parse_one-103"><span class="linenos">103</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="parse_one-104"><a href="#parse_one-104"><span class="linenos">104</span></a><span class="sd"> sql: the SQL code string to parse.</span>
|
||||
</span><span id="parse_one-105"><a href="#parse_one-105"><span class="linenos">105</span></a><span class="sd"> read: the SQL dialect to apply during parsing (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="parse_one-106"><a href="#parse_one-106"><span class="linenos">106</span></a><span class="sd"> into: the SQLGlot Expression to parse into.</span>
|
||||
</span><span id="parse_one-107"><a href="#parse_one-107"><span class="linenos">107</span></a><span class="sd"> **opts: other `sqlglot.parser.Parser` options.</span>
|
||||
</span><span id="parse_one-108"><a href="#parse_one-108"><span class="linenos">108</span></a>
|
||||
</span><span id="parse_one-109"><a href="#parse_one-109"><span class="linenos">109</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="parse_one-110"><a href="#parse_one-110"><span class="linenos">110</span></a><span class="sd"> The syntax tree for the first parsed statement.</span>
|
||||
</span><span id="parse_one-111"><a href="#parse_one-111"><span class="linenos">111</span></a><span class="sd"> """</span>
|
||||
</span><span id="parse_one-112"><a href="#parse_one-112"><span class="linenos">112</span></a>
|
||||
</span><span id="parse_one-113"><a href="#parse_one-113"><span class="linenos">113</span></a> <span class="n">dialect</span> <span class="o">=</span> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">read</span><span class="p">)()</span>
|
||||
</span><span id="parse_one-114"><a href="#parse_one-114"><span class="linenos">114</span></a>
|
||||
</span><span id="parse_one-115"><a href="#parse_one-115"><span class="linenos">115</span></a> <span class="k">if</span> <span class="n">into</span><span class="p">:</span>
|
||||
</span><span id="parse_one-116"><a href="#parse_one-116"><span class="linenos">116</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">dialect</span><span class="o">.</span><span class="n">parse_into</span><span class="p">(</span><span class="n">into</span><span class="p">,</span> <span class="n">sql</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="parse_one-117"><a href="#parse_one-117"><span class="linenos">117</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="parse_one-118"><a href="#parse_one-118"><span class="linenos">118</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">dialect</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="parse_one-119"><a href="#parse_one-119"><span class="linenos">119</span></a>
|
||||
</span><span id="parse_one-120"><a href="#parse_one-120"><span class="linenos">120</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">result</span><span class="p">:</span>
|
||||
</span><span id="parse_one-121"><a href="#parse_one-121"><span class="linenos">121</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">expression</span><span class="p">:</span>
|
||||
</span><span id="parse_one-122"><a href="#parse_one-122"><span class="linenos">122</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"No expression was parsed from '</span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
||||
</span><span id="parse_one-123"><a href="#parse_one-123"><span class="linenos">123</span></a> <span class="k">return</span> <span class="n">expression</span>
|
||||
</span><span id="parse_one-124"><a href="#parse_one-124"><span class="linenos">124</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="parse_one-125"><a href="#parse_one-125"><span class="linenos">125</span></a> <span class="k">raise</span> <span class="n">ParseError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"No expression was parsed from '</span><span class="si">{</span><span class="n">sql</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1019,35 +990,35 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#transpile"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="transpile-169"><a href="#transpile-169"><span class="linenos">169</span></a><span class="k">def</span> <span class="nf">transpile</span><span class="p">(</span>
|
||||
</span><span id="transpile-170"><a href="#transpile-170"><span class="linenos">170</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="transpile-171"><a href="#transpile-171"><span class="linenos">171</span></a> <span class="n">read</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="transpile-172"><a href="#transpile-172"><span class="linenos">172</span></a> <span class="n">write</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="transpile-173"><a href="#transpile-173"><span class="linenos">173</span></a> <span class="n">identity</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="transpile-174"><a href="#transpile-174"><span class="linenos">174</span></a> <span class="n">error_level</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">ErrorLevel</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="transpile-175"><a href="#transpile-175"><span class="linenos">175</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="transpile-176"><a href="#transpile-176"><span class="linenos">176</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="transpile-177"><a href="#transpile-177"><span class="linenos">177</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="transpile-178"><a href="#transpile-178"><span class="linenos">178</span></a><span class="sd"> Parses the given SQL string in accordance with the source dialect and returns a list of SQL strings transformed</span>
|
||||
</span><span id="transpile-179"><a href="#transpile-179"><span class="linenos">179</span></a><span class="sd"> to conform to the target dialect. Each string in the returned list represents a single transformed SQL statement.</span>
|
||||
</span><span id="transpile-180"><a href="#transpile-180"><span class="linenos">180</span></a>
|
||||
</span><span id="transpile-181"><a href="#transpile-181"><span class="linenos">181</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="transpile-182"><a href="#transpile-182"><span class="linenos">182</span></a><span class="sd"> sql: the SQL code string to transpile.</span>
|
||||
</span><span id="transpile-183"><a href="#transpile-183"><span class="linenos">183</span></a><span class="sd"> read: the source dialect used to parse the input string (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="transpile-184"><a href="#transpile-184"><span class="linenos">184</span></a><span class="sd"> write: the target dialect into which the input should be transformed (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="transpile-185"><a href="#transpile-185"><span class="linenos">185</span></a><span class="sd"> identity: if set to `True` and if the target dialect is not specified the source dialect will be used as both:</span>
|
||||
</span><span id="transpile-186"><a href="#transpile-186"><span class="linenos">186</span></a><span class="sd"> the source and the target dialect.</span>
|
||||
</span><span id="transpile-187"><a href="#transpile-187"><span class="linenos">187</span></a><span class="sd"> error_level: the desired error level of the parser.</span>
|
||||
</span><span id="transpile-188"><a href="#transpile-188"><span class="linenos">188</span></a><span class="sd"> **opts: other `sqlglot.generator.Generator` options.</span>
|
||||
</span><span id="transpile-189"><a href="#transpile-189"><span class="linenos">189</span></a>
|
||||
</span><span id="transpile-190"><a href="#transpile-190"><span class="linenos">190</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="transpile-191"><a href="#transpile-191"><span class="linenos">191</span></a><span class="sd"> The list of transpiled SQL statements.</span>
|
||||
</span><span id="transpile-192"><a href="#transpile-192"><span class="linenos">192</span></a><span class="sd"> """</span>
|
||||
</span><span id="transpile-193"><a href="#transpile-193"><span class="linenos">193</span></a> <span class="n">write</span> <span class="o">=</span> <span class="p">(</span><span class="n">read</span> <span class="k">if</span> <span class="n">write</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">write</span><span class="p">)</span> <span class="k">if</span> <span class="n">identity</span> <span class="k">else</span> <span class="n">write</span>
|
||||
</span><span id="transpile-194"><a href="#transpile-194"><span class="linenos">194</span></a> <span class="k">return</span> <span class="p">[</span>
|
||||
</span><span id="transpile-195"><a href="#transpile-195"><span class="linenos">195</span></a> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">write</span><span class="p">)()</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="transpile-196"><a href="#transpile-196"><span class="linenos">196</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">parse</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">read</span><span class="p">,</span> <span class="n">error_level</span><span class="o">=</span><span class="n">error_level</span><span class="p">)</span>
|
||||
</span><span id="transpile-197"><a href="#transpile-197"><span class="linenos">197</span></a> <span class="p">]</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="transpile-128"><a href="#transpile-128"><span class="linenos">128</span></a><span class="k">def</span> <span class="nf">transpile</span><span class="p">(</span>
|
||||
</span><span id="transpile-129"><a href="#transpile-129"><span class="linenos">129</span></a> <span class="n">sql</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="transpile-130"><a href="#transpile-130"><span class="linenos">130</span></a> <span class="n">read</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="transpile-131"><a href="#transpile-131"><span class="linenos">131</span></a> <span class="n">write</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="transpile-132"><a href="#transpile-132"><span class="linenos">132</span></a> <span class="n">identity</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="transpile-133"><a href="#transpile-133"><span class="linenos">133</span></a> <span class="n">error_level</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">ErrorLevel</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="transpile-134"><a href="#transpile-134"><span class="linenos">134</span></a> <span class="o">**</span><span class="n">opts</span><span class="p">,</span>
|
||||
</span><span id="transpile-135"><a href="#transpile-135"><span class="linenos">135</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="transpile-136"><a href="#transpile-136"><span class="linenos">136</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="transpile-137"><a href="#transpile-137"><span class="linenos">137</span></a><span class="sd"> Parses the given SQL string in accordance with the source dialect and returns a list of SQL strings transformed</span>
|
||||
</span><span id="transpile-138"><a href="#transpile-138"><span class="linenos">138</span></a><span class="sd"> to conform to the target dialect. Each string in the returned list represents a single transformed SQL statement.</span>
|
||||
</span><span id="transpile-139"><a href="#transpile-139"><span class="linenos">139</span></a>
|
||||
</span><span id="transpile-140"><a href="#transpile-140"><span class="linenos">140</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="transpile-141"><a href="#transpile-141"><span class="linenos">141</span></a><span class="sd"> sql: the SQL code string to transpile.</span>
|
||||
</span><span id="transpile-142"><a href="#transpile-142"><span class="linenos">142</span></a><span class="sd"> read: the source dialect used to parse the input string (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="transpile-143"><a href="#transpile-143"><span class="linenos">143</span></a><span class="sd"> write: the target dialect into which the input should be transformed (eg. "spark", "hive", "presto", "mysql").</span>
|
||||
</span><span id="transpile-144"><a href="#transpile-144"><span class="linenos">144</span></a><span class="sd"> identity: if set to `True` and if the target dialect is not specified the source dialect will be used as both:</span>
|
||||
</span><span id="transpile-145"><a href="#transpile-145"><span class="linenos">145</span></a><span class="sd"> the source and the target dialect.</span>
|
||||
</span><span id="transpile-146"><a href="#transpile-146"><span class="linenos">146</span></a><span class="sd"> error_level: the desired error level of the parser.</span>
|
||||
</span><span id="transpile-147"><a href="#transpile-147"><span class="linenos">147</span></a><span class="sd"> **opts: other `sqlglot.generator.Generator` options.</span>
|
||||
</span><span id="transpile-148"><a href="#transpile-148"><span class="linenos">148</span></a>
|
||||
</span><span id="transpile-149"><a href="#transpile-149"><span class="linenos">149</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="transpile-150"><a href="#transpile-150"><span class="linenos">150</span></a><span class="sd"> The list of transpiled SQL statements.</span>
|
||||
</span><span id="transpile-151"><a href="#transpile-151"><span class="linenos">151</span></a><span class="sd"> """</span>
|
||||
</span><span id="transpile-152"><a href="#transpile-152"><span class="linenos">152</span></a> <span class="n">write</span> <span class="o">=</span> <span class="p">(</span><span class="n">read</span> <span class="k">if</span> <span class="n">write</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">write</span><span class="p">)</span> <span class="k">if</span> <span class="n">identity</span> <span class="k">else</span> <span class="n">write</span>
|
||||
</span><span id="transpile-153"><a href="#transpile-153"><span class="linenos">153</span></a> <span class="k">return</span> <span class="p">[</span>
|
||||
</span><span id="transpile-154"><a href="#transpile-154"><span class="linenos">154</span></a> <span class="n">Dialect</span><span class="o">.</span><span class="n">get_or_raise</span><span class="p">(</span><span class="n">write</span><span class="p">)()</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="o">**</span><span class="n">opts</span><span class="p">)</span>
|
||||
</span><span id="transpile-155"><a href="#transpile-155"><span class="linenos">155</span></a> <span class="k">for</span> <span class="n">expression</span> <span class="ow">in</span> <span class="n">parse</span><span class="p">(</span><span class="n">sql</span><span class="p">,</span> <span class="n">read</span><span class="p">,</span> <span class="n">error_level</span><span class="o">=</span><span class="n">error_level</span><span class="p">)</span>
|
||||
</span><span id="transpile-156"><a href="#transpile-156"><span class="linenos">156</span></a> <span class="p">]</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot._typing API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot._version API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -51,8 +51,8 @@
|
|||
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos">1</span></a><span class="c1"># file generated by setuptools_scm</span>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos">2</span></a><span class="c1"># don't change, don't track in version control</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos">3</span></a><span class="n">__version__</span> <span class="o">=</span> <span class="n">version</span> <span class="o">=</span> <span class="s1">'16.3.1'</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos">4</span></a><span class="n">__version_tuple__</span> <span class="o">=</span> <span class="n">version_tuple</span> <span class="o">=</span> <span class="p">(</span><span class="mi">16</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos">3</span></a><span class="n">__version__</span> <span class="o">=</span> <span class="n">version</span> <span class="o">=</span> <span class="s1">'16.4.1'</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos">4</span></a><span class="n">__version_tuple__</span> <span class="o">=</span> <span class="n">version_tuple</span> <span class="o">=</span> <span class="p">(</span><span class="mi">16</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.dataframe API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.dataframe.sql API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -33,6 +33,24 @@
|
|||
<li>
|
||||
<a class="class" href="#SparkSession">SparkSession</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#SparkSession.known_ids">known_ids</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SparkSession.known_branch_ids">known_branch_ids</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SparkSession.known_sequence_ids">known_sequence_ids</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SparkSession.name_to_sequence_id_mapping">name_to_sequence_id_mapping</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SparkSession.incrementing_id">incrementing_id</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SparkSession.read">read</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#SparkSession.table">table</a>
|
||||
</li>
|
||||
|
@ -51,6 +69,48 @@
|
|||
<li>
|
||||
<a class="function" href="#DataFrame.__init__">DataFrame</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.spark">spark</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.expression">expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.branch_id">branch_id</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.sequence_id">sequence_id</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.last_op">last_op</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.pending_hints">pending_hints</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.output_expression_container">output_expression_container</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.sparkSession">sparkSession</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.write">write</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.latest_cte_name">latest_cte_name</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.pending_join_hints">pending_join_hints</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.pending_partition_hints">pending_partition_hints</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.columns">columns</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrame.na">na</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#DataFrame.sql">sql</a>
|
||||
</li>
|
||||
|
@ -153,6 +213,15 @@
|
|||
<li>
|
||||
<a class="function" href="#GroupedData.__init__">GroupedData</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#GroupedData.spark">spark</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#GroupedData.last_op">last_op</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#GroupedData.group_by_cols">group_by_cols</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#GroupedData.agg">agg</a>
|
||||
</li>
|
||||
|
@ -186,6 +255,9 @@
|
|||
<li>
|
||||
<a class="function" href="#Column.__init__">Column</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Column.expression">expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Column.ensure_col">ensure_col</a>
|
||||
</li>
|
||||
|
@ -207,6 +279,18 @@
|
|||
<li>
|
||||
<a class="function" href="#Column.unary_op">unary_op</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Column.is_alias">is_alias</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Column.is_column">is_column</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Column.column_expression">column_expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Column.alias_or_name">alias_or_name</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Column.ensure_literal">ensure_literal</a>
|
||||
</li>
|
||||
|
@ -291,6 +375,9 @@
|
|||
<li>
|
||||
<a class="function" href="#DataFrameNaFunctions.__init__">DataFrameNaFunctions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrameNaFunctions.df">df</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#DataFrameNaFunctions.drop">drop</a>
|
||||
</li>
|
||||
|
@ -306,6 +393,15 @@
|
|||
<li>
|
||||
<a class="class" href="#Window">Window</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#Window.unboundedPreceding">unboundedPreceding</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Window.unboundedFollowing">unboundedFollowing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Window.currentRow">currentRow</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Window.partitionBy">partitionBy</a>
|
||||
</li>
|
||||
|
@ -327,6 +423,9 @@
|
|||
<li>
|
||||
<a class="function" href="#WindowSpec.__init__">WindowSpec</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#WindowSpec.expression">expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#WindowSpec.copy">copy</a>
|
||||
</li>
|
||||
|
@ -354,6 +453,9 @@
|
|||
<li>
|
||||
<a class="function" href="#DataFrameReader.__init__">DataFrameReader</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrameReader.spark">spark</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#DataFrameReader.table">table</a>
|
||||
</li>
|
||||
|
@ -375,6 +477,9 @@
|
|||
<li>
|
||||
<a class="function" href="#DataFrameWriter.mode">mode</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DataFrameWriter.byName">byName</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#DataFrameWriter.insertInto">insertInto</a>
|
||||
</li>
|
||||
|
@ -578,6 +683,76 @@
|
|||
|
||||
|
||||
|
||||
<div id="SparkSession.known_ids" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">known_ids</span><span class="annotation">: ClassVar[Set[str]]</span> =
|
||||
<span class="default_value">set()</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SparkSession.known_ids"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SparkSession.known_branch_ids" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">known_branch_ids</span><span class="annotation">: ClassVar[Set[str]]</span> =
|
||||
<span class="default_value">set()</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SparkSession.known_branch_ids"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SparkSession.known_sequence_ids" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">known_sequence_ids</span><span class="annotation">: ClassVar[Set[str]]</span> =
|
||||
<span class="default_value">set()</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SparkSession.known_sequence_ids"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SparkSession.name_to_sequence_id_mapping" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">name_to_sequence_id_mapping</span><span class="annotation">: ClassVar[Dict[str, List[str]]]</span> =
|
||||
<span class="default_value">defaultdict(<class 'list'>, {})</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SparkSession.name_to_sequence_id_mapping"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SparkSession.incrementing_id" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">incrementing_id</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SparkSession.incrementing_id"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SparkSession.read" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">read</span><span class="annotation">: <a href="#DataFrameReader">sqlglot.dataframe.sql.DataFrameReader</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SparkSession.read"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SparkSession.table" class="classattr">
|
||||
<input id="SparkSession.table-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
@ -602,7 +777,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">'140135091336672'</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">'140135091336672'</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">'140135091187344'</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">sqlglot.dataframe.sql.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">'140430583414944'</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">'140430583414944'</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">'140430585007696'</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">sqlglot.dataframe.sql.DataFrame</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="SparkSession.createDataFrame-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -1506,7 +1681,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">'140135093941152'</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">'140135094093856'</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">'140430588014224'</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">'140430588117776'</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>
|
||||
|
||||
|
@ -1535,6 +1710,160 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.spark" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">spark</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.spark"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.branch_id" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">branch_id</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.branch_id"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.sequence_id" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">sequence_id</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.sequence_id"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.last_op" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">last_op</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.last_op"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.pending_hints" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">pending_hints</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.pending_hints"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.output_expression_container" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">output_expression_container</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.output_expression_container"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.sparkSession" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">sparkSession</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.sparkSession"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.write" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">write</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.write"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.latest_cte_name" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">latest_cte_name</span><span class="annotation">: str</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.latest_cte_name"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.pending_join_hints" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">pending_join_hints</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.pending_join_hints"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.pending_partition_hints" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">pending_partition_hints</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.pending_partition_hints"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.columns" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">columns</span><span class="annotation">: List[str]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.columns"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.na" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">na</span><span class="annotation">: <a href="#DataFrameNaFunctions">sqlglot.dataframe.sql.DataFrameNaFunctions</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrame.na"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrame.sql" class="classattr">
|
||||
<input id="DataFrame.sql-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -2282,7 +2611,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">'140135089923520'</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">sqlglot.dataframe.sql.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">'140430583371888'</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">sqlglot.dataframe.sql.DataFrame</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="DataFrame.fillna-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -2351,7 +2680,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">'140135090028608'</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">'140135090028608'</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">sqlglot.dataframe.sql.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">'140430583980064'</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">'140430583980064'</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">sqlglot.dataframe.sql.DataFrame</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="DataFrame.replace-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -2556,7 +2885,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">'140135090130800'</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">'140135090191136'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">sqlglot.dataframe.sql.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">'140430581926688'</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">'140430581982224'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#DataFrame">sqlglot.dataframe.sql.DataFrame</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="DataFrame.repartition-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -2729,6 +3058,39 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="GroupedData.spark" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">spark</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#GroupedData.spark"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="GroupedData.last_op" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">last_op</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#GroupedData.last_op"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="GroupedData.group_by_cols" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">group_by_cols</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#GroupedData.group_by_cols"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="GroupedData.agg" class="classattr">
|
||||
<input id="GroupedData.agg-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -3228,7 +3590,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">'140135092193312'</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">'140430586079424'</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>
|
||||
|
||||
|
@ -3253,6 +3615,17 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Column.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span><span class="annotation">: <a href="../expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Column.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Column.ensure_col" class="classattr">
|
||||
<input id="Column.ensure_col-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -3260,7 +3633,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">'140135090317456'</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></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">'140430582454624'</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></span>
|
||||
|
||||
<label class="view-source-button" for="Column.ensure_col-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -3281,7 +3654,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">'140135089983680'</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">sqlglot.dataframe.sql.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">'140430582612608'</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">sqlglot.dataframe.sql.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>
|
||||
|
||||
|
@ -3302,7 +3675,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">'140135090558560'</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">'140135090631344'</span><span class="o">></span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">sqlglot.dataframe.sql.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">'140430582366016'</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">'140430582236640'</span><span class="o">></span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">sqlglot.dataframe.sql.Column</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Column.invoke_anonymous_function-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -3329,7 +3702,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">'140135090394432'</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">sqlglot.dataframe.sql.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">'140430582194784'</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">sqlglot.dataframe.sql.Column</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Column.invoke_expression_over_column-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -3366,7 +3739,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">'140135088576720'</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">sqlglot.dataframe.sql.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">'140430582382656'</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">sqlglot.dataframe.sql.Column</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Column.binary_op-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -3387,7 +3760,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">'140135088584400'</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">sqlglot.dataframe.sql.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">'140430582392304'</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">sqlglot.dataframe.sql.Column</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Column.inverse_binary_op-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -3421,6 +3794,50 @@ and check if it matches the type of the value provided. If not then make it null
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Column.is_alias" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">is_alias</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Column.is_alias"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Column.is_column" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">is_column</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Column.is_column"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Column.column_expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">column_expression</span><span class="annotation">: Union[<a href="../expressions.html#Column">sqlglot.expressions.Column</a>, <a href="../expressions.html#Literal">sqlglot.expressions.Literal</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Column.column_expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Column.alias_or_name" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">alias_or_name</span><span class="annotation">: str</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Column.alias_or_name"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Column.ensure_literal" class="classattr">
|
||||
<input id="Column.ensure_literal-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -3897,7 +4314,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">'140135088834880'</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">'140135088834880'</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">'140430582714512'</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">'140430582714512'</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>
|
||||
|
||||
|
@ -3918,7 +4335,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">'140135088905840'</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">'140135088943936'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">sqlglot.dataframe.sql.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">'140430582771536'</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">'140430582832176'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">sqlglot.dataframe.sql.Column</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Column.between-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -3953,7 +4370,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">'140135089001648'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">sqlglot.dataframe.sql.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">'140430582891472'</span><span class="o">></span></span><span class="return-annotation">) -> <span class="n"><a href="#Column">sqlglot.dataframe.sql.Column</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Column.over-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -4029,6 +4446,17 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrameNaFunctions.df" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">df</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrameNaFunctions.df"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrameNaFunctions.drop" class="classattr">
|
||||
<input id="DataFrameNaFunctions.drop-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -4145,13 +4573,49 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
|
||||
|
||||
|
||||
<div id="Window.unboundedPreceding" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">unboundedPreceding</span><span class="annotation">: int</span> =
|
||||
<span class="default_value">-9223372036854775808</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Window.unboundedPreceding"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Window.unboundedFollowing" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">unboundedFollowing</span><span class="annotation">: int</span> =
|
||||
<span class="default_value">9223372036854775807</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Window.unboundedFollowing"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Window.currentRow" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">currentRow</span><span class="annotation">: int</span> =
|
||||
<span class="default_value">0</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Window.currentRow"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Window.partitionBy" class="classattr">
|
||||
<input id="Window.partitionBy-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
<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">'140135089315008'</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">'140135089315008'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">sqlglot.dataframe.sql.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">'140430579900976'</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">'140430579900976'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">sqlglot.dataframe.sql.WindowSpec</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Window.partitionBy-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -4172,7 +4636,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">'140135089098032'</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">'140135089098032'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">sqlglot.dataframe.sql.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">'140430582923168'</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">'140430582923168'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">sqlglot.dataframe.sql.WindowSpec</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="Window.orderBy-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -4353,6 +4817,17 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="WindowSpec.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#WindowSpec.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="WindowSpec.copy" class="classattr">
|
||||
<input id="WindowSpec.copy-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -4397,7 +4872,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">'140135089209696'</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">'140135089209696'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">sqlglot.dataframe.sql.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">'140430580080384'</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">'140430580080384'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">sqlglot.dataframe.sql.WindowSpec</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="WindowSpec.partitionBy-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -4424,7 +4899,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">'140135089202912'</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">'140135089202912'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">sqlglot.dataframe.sql.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">'140430580145632'</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">'140430580145632'</span><span class="o">></span><span class="p">]]</span></span><span class="return-annotation">) -> <span class="n"><a href="#WindowSpec">sqlglot.dataframe.sql.WindowSpec</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="WindowSpec.orderBy-view-source"><span>View Source</span></label>
|
||||
|
||||
|
@ -4555,6 +5030,17 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrameReader.spark" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">spark</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrameReader.spark"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrameReader.table" class="classattr">
|
||||
<input id="DataFrameReader.table-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -4753,6 +5239,17 @@ Sqlglot doesn't currently replicate this class so it only accepts a string</p>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrameWriter.byName" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">byName</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DataFrameWriter.byName"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="DataFrameWriter.insertInto" class="classattr">
|
||||
<input id="DataFrameWriter.insertInto-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.dialects API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
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
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.dialects.dialect API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -102,6 +102,66 @@
|
|||
<li>
|
||||
<a class="class" href="#Dialect">Dialect</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.INDEX_OFFSET">INDEX_OFFSET</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.UNNEST_COLUMN_ONLY">UNNEST_COLUMN_ONLY</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.ALIAS_POST_TABLESAMPLE">ALIAS_POST_TABLESAMPLE</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.RESOLVES_IDENTIFIERS_AS_UPPERCASE">RESOLVES_IDENTIFIERS_AS_UPPERCASE</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT">IDENTIFIERS_CAN_START_WITH_DIGIT</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.STRICT_STRING_CONCAT">STRICT_STRING_CONCAT</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.NORMALIZE_FUNCTIONS">NORMALIZE_FUNCTIONS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.NULL_ORDERING">NULL_ORDERING</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.DATE_FORMAT">DATE_FORMAT</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.DATEINT_FORMAT">DATEINT_FORMAT</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.TIME_FORMAT">TIME_FORMAT</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.TIME_MAPPING">TIME_MAPPING</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.FORMAT_MAPPING">FORMAT_MAPPING</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.tokenizer_class">tokenizer_class</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.parser_class">parser_class</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.generator_class">generator_class</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.TIME_TRIE">TIME_TRIE</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.FORMAT_TRIE">FORMAT_TRIE</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.INVERSE_TIME_MAPPING">INVERSE_TIME_MAPPING</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.INVERSE_TIME_TRIE">INVERSE_TIME_TRIE</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Dialect.get_or_raise">get_or_raise</a>
|
||||
</li>
|
||||
|
@ -135,15 +195,57 @@
|
|||
<li>
|
||||
<a class="function" href="#Dialect.tokenize">tokenize</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.tokenizer">tokenizer</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Dialect.parser">parser</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Dialect.generator">generator</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.QUOTE_START">QUOTE_START</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.QUOTE_END">QUOTE_END</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.IDENTIFIER_START">IDENTIFIER_START</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.IDENTIFIER_END">IDENTIFIER_END</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.BIT_START">BIT_START</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.BIT_END">BIT_END</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.HEX_START">HEX_START</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.HEX_END">HEX_END</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.BYTE_START">BYTE_START</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.BYTE_END">BYTE_END</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.RAW_START">RAW_START</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Dialect.RAW_END">RAW_END</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#DialectType">DialectType</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#rename_func">rename_func</a>
|
||||
</li>
|
||||
|
@ -1470,6 +1572,246 @@
|
|||
|
||||
|
||||
|
||||
<div id="Dialect.INDEX_OFFSET" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">INDEX_OFFSET</span> =
|
||||
<span class="default_value">0</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.INDEX_OFFSET"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.UNNEST_COLUMN_ONLY" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">UNNEST_COLUMN_ONLY</span> =
|
||||
<span class="default_value">False</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.UNNEST_COLUMN_ONLY"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.ALIAS_POST_TABLESAMPLE" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">ALIAS_POST_TABLESAMPLE</span> =
|
||||
<span class="default_value">False</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.ALIAS_POST_TABLESAMPLE"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">RESOLVES_IDENTIFIERS_AS_UPPERCASE</span><span class="annotation">: Optional[bool]</span> =
|
||||
<span class="default_value">False</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.RESOLVES_IDENTIFIERS_AS_UPPERCASE"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">IDENTIFIERS_CAN_START_WITH_DIGIT</span> =
|
||||
<span class="default_value">False</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.STRICT_STRING_CONCAT" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">STRICT_STRING_CONCAT</span> =
|
||||
<span class="default_value">False</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.STRICT_STRING_CONCAT"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.NORMALIZE_FUNCTIONS" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">NORMALIZE_FUNCTIONS</span><span class="annotation">: bool | str</span> =
|
||||
<span class="default_value">'upper'</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.NORMALIZE_FUNCTIONS"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.NULL_ORDERING" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">NULL_ORDERING</span> =
|
||||
<span class="default_value">'nulls_are_small'</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.NULL_ORDERING"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.DATE_FORMAT" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">DATE_FORMAT</span> =
|
||||
<span class="default_value">"'%Y-%m-%d'"</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.DATE_FORMAT"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.DATEINT_FORMAT" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">DATEINT_FORMAT</span> =
|
||||
<span class="default_value">"'%Y%m%d'"</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.DATEINT_FORMAT"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.TIME_FORMAT" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">TIME_FORMAT</span> =
|
||||
<span class="default_value">"'%Y-%m-%d %H:%M:%S'"</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.TIME_FORMAT"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.TIME_MAPPING" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">TIME_MAPPING</span><span class="annotation">: Dict[str, str]</span> =
|
||||
<span class="default_value">{}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.TIME_MAPPING"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.FORMAT_MAPPING" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">FORMAT_MAPPING</span><span class="annotation">: Dict[str, str]</span> =
|
||||
<span class="default_value">{}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.FORMAT_MAPPING"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.tokenizer_class" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">tokenizer_class</span> =
|
||||
<span class="default_value"><class '<a href="../tokens.html#Tokenizer">sqlglot.tokens.Tokenizer</a>'></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.tokenizer_class"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.parser_class" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">parser_class</span> =
|
||||
<span class="default_value"><class '<a href="../parser.html#Parser">sqlglot.parser.Parser</a>'></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.parser_class"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.generator_class" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">generator_class</span> =
|
||||
<span class="default_value"><class '<a href="../generator.html#Generator">sqlglot.generator.Generator</a>'></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.generator_class"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.TIME_TRIE" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">TIME_TRIE</span><span class="annotation">: Dict</span> =
|
||||
<span class="default_value">{}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.TIME_TRIE"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.FORMAT_TRIE" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">FORMAT_TRIE</span><span class="annotation">: Dict</span> =
|
||||
<span class="default_value">{}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.FORMAT_TRIE"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.INVERSE_TIME_MAPPING" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">INVERSE_TIME_MAPPING</span><span class="annotation">: Dict[str, str]</span> =
|
||||
<span class="default_value">{}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.INVERSE_TIME_MAPPING"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.INVERSE_TIME_TRIE" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">INVERSE_TIME_TRIE</span><span class="annotation">: Dict</span> =
|
||||
<span class="default_value">{}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.INVERSE_TIME_TRIE"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.get_or_raise" class="classattr">
|
||||
<input id="Dialect.get_or_raise-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
@ -1780,6 +2122,17 @@ they will be normalized regardless of being quoted or not.</p>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.tokenizer" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">tokenizer</span><span class="annotation">: <a href="../tokens.html#Tokenizer">sqlglot.tokens.Tokenizer</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.tokenizer"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.parser" class="classattr">
|
||||
<input id="Dialect.parser-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -1819,6 +2172,163 @@ they will be normalized regardless of being quoted or not.</p>
|
|||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.QUOTE_START" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">QUOTE_START</span> =
|
||||
<span class="default_value">"'"</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.QUOTE_START"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.QUOTE_END" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">QUOTE_END</span> =
|
||||
<span class="default_value">"'"</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.QUOTE_END"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.IDENTIFIER_START" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">IDENTIFIER_START</span> =
|
||||
<span class="default_value">'"'</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.IDENTIFIER_START"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.IDENTIFIER_END" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">IDENTIFIER_END</span> =
|
||||
<span class="default_value">'"'</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.IDENTIFIER_END"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.BIT_START" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">BIT_START</span> =
|
||||
<span class="default_value">None</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.BIT_START"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.BIT_END" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">BIT_END</span> =
|
||||
<span class="default_value">None</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.BIT_END"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.HEX_START" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">HEX_START</span> =
|
||||
<span class="default_value">None</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.HEX_START"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.HEX_END" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">HEX_END</span> =
|
||||
<span class="default_value">None</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.HEX_END"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.BYTE_START" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">BYTE_START</span> =
|
||||
<span class="default_value">None</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.BYTE_START"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.BYTE_END" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">BYTE_END</span> =
|
||||
<span class="default_value">None</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.BYTE_END"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.RAW_START" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">RAW_START</span> =
|
||||
<span class="default_value">None</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.RAW_START"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Dialect.RAW_END" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">RAW_END</span> =
|
||||
<span class="default_value">None</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Dialect.RAW_END"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="DialectType">
|
||||
<div class="attr variable">
|
||||
<span class="name">DialectType</span> =
|
||||
<input id="DialectType-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<label class="view-value-button pdoc-button" for="DialectType-view-value"></label><span class="default_value">typing.Union[str, <a href="#Dialect">sqlglot.dialects.dialect.Dialect</a>, typing.Type[<a href="#Dialect">sqlglot.dialects.dialect.Dialect</a>], NoneType]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#DialectType"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="rename_func">
|
||||
<input id="rename_func-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
|
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 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 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 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 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 one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.diff API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -49,6 +49,9 @@
|
|||
<li>
|
||||
<a class="function" href="#Insert.__init__">Insert</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Insert.expression">expression</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -58,6 +61,9 @@
|
|||
<li>
|
||||
<a class="function" href="#Remove.__init__">Remove</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Remove.expression">expression</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -67,6 +73,9 @@
|
|||
<li>
|
||||
<a class="function" href="#Move.__init__">Move</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Move.expression">expression</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -76,6 +85,12 @@
|
|||
<li>
|
||||
<a class="function" href="#Update.__init__">Update</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Update.source">source</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Update.target">target</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -85,18 +100,33 @@
|
|||
<li>
|
||||
<a class="function" href="#Keep.__init__">Keep</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Keep.source">source</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Keep.target">target</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#diff">diff</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#LEAF_EXPRESSION_TYPES">LEAF_EXPRESSION_TYPES</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="class" href="#ChangeDistiller">ChangeDistiller</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="function" href="#ChangeDistiller.__init__">ChangeDistiller</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#ChangeDistiller.f">f</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#ChangeDistiller.t">t</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#ChangeDistiller.diff">diff</a>
|
||||
</li>
|
||||
|
@ -956,6 +986,17 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Insert.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Insert.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="Remove">
|
||||
|
@ -993,6 +1034,17 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Remove.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Remove.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="Move">
|
||||
|
@ -1030,6 +1082,17 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Move.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Move.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="Update">
|
||||
|
@ -1068,6 +1131,28 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Update.source" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">source</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Update.source"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Update.target" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">target</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Update.target"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="Keep">
|
||||
|
@ -1106,6 +1191,28 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Keep.source" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">source</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Keep.source"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Keep.target" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">target</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Keep.target"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="diff">
|
||||
|
@ -1225,6 +1332,19 @@ referenced in source / target trees.</li>
|
|||
</div>
|
||||
|
||||
|
||||
</section>
|
||||
<section id="LEAF_EXPRESSION_TYPES">
|
||||
<div class="attr variable">
|
||||
<span class="name">LEAF_EXPRESSION_TYPES</span> =
|
||||
<input id="LEAF_EXPRESSION_TYPES-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<label class="view-value-button pdoc-button" for="LEAF_EXPRESSION_TYPES-view-value"></label><span class="default_value">(<class '<a href="expressions.html#Boolean">sqlglot.expressions.Boolean</a>'>, <class '<a href="expressions.html#DataType">sqlglot.expressions.DataType</a>'>, <class '<a href="expressions.html#Identifier">sqlglot.expressions.Identifier</a>'>, <class '<a href="expressions.html#Literal">sqlglot.expressions.Literal</a>'>)</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#LEAF_EXPRESSION_TYPES"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="ChangeDistiller">
|
||||
<input id="ChangeDistiller-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -1439,6 +1559,28 @@ Chawathe et al. described in <a href="http://ilpubs.stanford.edu:8090/115/1/1995
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="ChangeDistiller.f" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">f</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#ChangeDistiller.f"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="ChangeDistiller.t" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">t</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#ChangeDistiller.t"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="ChangeDistiller.diff" class="classattr">
|
||||
<input id="ChangeDistiller.diff-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.errors API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -66,6 +66,9 @@
|
|||
<li>
|
||||
<a class="function" href="#ParseError.__init__">ParseError</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#ParseError.errors">errors</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#ParseError.new">new</a>
|
||||
</li>
|
||||
|
@ -348,6 +351,7 @@
|
|||
</div>
|
||||
<div><dt>builtins.BaseException</dt>
|
||||
<dd id="SqlglotError.with_traceback" class="function">with_traceback</dd>
|
||||
<dd id="SqlglotError.args" class="variable">args</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -382,6 +386,7 @@
|
|||
</div>
|
||||
<div><dt>builtins.BaseException</dt>
|
||||
<dd id="UnsupportedError.with_traceback" class="function">with_traceback</dd>
|
||||
<dd id="UnsupportedError.args" class="variable">args</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -462,6 +467,17 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="ParseError.errors" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">errors</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#ParseError.errors"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="ParseError.new" class="classattr">
|
||||
<input id="ParseError.new-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -512,6 +528,7 @@
|
|||
<dl>
|
||||
<div><dt>builtins.BaseException</dt>
|
||||
<dd id="ParseError.with_traceback" class="function">with_traceback</dd>
|
||||
<dd id="ParseError.args" class="variable">args</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -546,6 +563,7 @@
|
|||
</div>
|
||||
<div><dt>builtins.BaseException</dt>
|
||||
<dd id="TokenError.with_traceback" class="function">with_traceback</dd>
|
||||
<dd id="TokenError.args" class="variable">args</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -580,6 +598,7 @@
|
|||
</div>
|
||||
<div><dt>builtins.BaseException</dt>
|
||||
<dd id="OptimizeError.with_traceback" class="function">with_traceback</dd>
|
||||
<dd id="OptimizeError.args" class="variable">args</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -614,6 +633,7 @@
|
|||
</div>
|
||||
<div><dt>builtins.BaseException</dt>
|
||||
<dd id="SchemaError.with_traceback" class="function">with_traceback</dd>
|
||||
<dd id="SchemaError.args" class="variable">args</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -648,6 +668,7 @@
|
|||
</div>
|
||||
<div><dt>builtins.BaseException</dt>
|
||||
<dd id="ExecuteError.with_traceback" class="function">with_traceback</dd>
|
||||
<dd id="ExecuteError.args" class="variable">args</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.executor API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -55,6 +55,9 @@
|
|||
|
||||
<h2>API Documentation</h2>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#logger">logger</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#execute">execute</a>
|
||||
</li>
|
||||
|
@ -419,6 +422,18 @@
|
|||
|
||||
|
||||
</section>
|
||||
<section id="logger">
|
||||
<div class="attr variable">
|
||||
<span class="name">logger</span> =
|
||||
<span class="default_value"><Logger sqlglot (WARNING)></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#logger"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="execute">
|
||||
<input id="execute-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.executor.context API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -36,15 +36,33 @@
|
|||
<li>
|
||||
<a class="function" href="#Context.__init__">Context</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Context.tables">tables</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Context.range_readers">range_readers</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Context.row_readers">row_readers</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Context.env">env</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Context.eval">eval</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Context.eval_tuple">eval_tuple</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Context.table">table</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Context.add_columns">add_columns</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Context.columns">columns</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Context.table_iter">table_iter</a>
|
||||
</li>
|
||||
|
@ -339,6 +357,50 @@ evaluation of aggregation functions.</p>
|
|||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.tables" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">tables</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Context.tables"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.range_readers" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">range_readers</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Context.range_readers"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.row_readers" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">row_readers</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Context.row_readers"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.env" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">env</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Context.env"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.eval" class="classattr">
|
||||
<input id="Context.eval-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -377,6 +439,17 @@ evaluation of aggregation functions.</p>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.table" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">table</span><span class="annotation">: <a href="table.html#Table">sqlglot.executor.table.Table</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Context.table"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.add_columns" class="classattr">
|
||||
<input id="Context.add_columns-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -397,6 +470,17 @@ evaluation of aggregation functions.</p>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.columns" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">columns</span><span class="annotation">: Tuple</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Context.columns"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Context.table_iter" class="classattr">
|
||||
<input id="Context.table_iter-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.executor.env API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -36,6 +36,9 @@
|
|||
<li>
|
||||
<a class="function" href="#reverse_key.__init__">reverse_key</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#reverse_key.obj">obj</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -60,6 +63,9 @@
|
|||
<li>
|
||||
<a class="function" href="#interval">interval</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#ENV">ENV</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -321,6 +327,17 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="reverse_key.obj" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">obj</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#reverse_key.obj"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="filter_nulls">
|
||||
|
@ -550,6 +567,19 @@ def foo(a, b): ...
|
|||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="ENV">
|
||||
<div class="attr variable">
|
||||
<span class="name">ENV</span> =
|
||||
<input id="ENV-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<label class="view-value-button pdoc-button" for="ENV-view-value"></label><span class="default_value">{'exp': <module '<a href="../expressions.html">sqlglot.expressions</a>' from '/home/runner/work/sqlglot/sqlglot/sqlglot/expressions.py'>, 'ARRAYAGG': <class 'list'>, 'AVG': <function fmean>, 'COUNT': <function <lambda>>, 'MAX': <function max>, 'MIN': <function min>, 'SUM': <function sum>, 'ABS': <function <lambda>>, 'ADD': <function <lambda>>, 'ARRAYANY': <function <lambda>>, 'BETWEEN': <function <lambda>>, 'BITWISEAND': <function <lambda>>, 'BITWISELEFTSHIFT': <function <lambda>>, 'BITWISEOR': <function <lambda>>, 'BITWISERIGHTSHIFT': <function <lambda>>, 'BITWISEXOR': <function <lambda>>, 'CAST': <function cast>, 'COALESCE': <function <lambda>>, 'CONCAT': <function <lambda>>, 'SAFECONCAT': <function <lambda>>, 'CONCATWS': <function <lambda>>, 'DATESTRTODATE': <function <lambda>>, 'DIV': <function <lambda>>, 'DOT': <function <lambda>>, 'EQ': <function <lambda>>, 'EXTRACT': <function <lambda>>, 'GT': <function <lambda>>, 'GTE': <function <lambda>>, 'IF': <function <lambda>>, 'INTDIV': <function <lambda>>, 'INTERVAL': <function interval>, 'LIKE': <function <lambda>>, 'LOWER': <function <lambda>>, 'LT': <function <lambda>>, 'LTE': <function <lambda>>, 'MAP': <function <lambda>>, 'MOD': <function <lambda>>, 'MUL': <function <lambda>>, 'NEQ': <function <lambda>>, 'ORD': <function ord>, 'ORDERED': <function ordered>, 'POW': <built-in function pow>, 'STRPOSITION': <function str_position>, 'SUB': <function <lambda>>, 'SUBSTRING': <function substring>, 'TIMESTRTOTIME': <function <lambda>>, 'UPPER': <function <lambda>>, 'YEAR': <function <lambda>>, 'MONTH': <function <lambda>>, 'DAY': <function <lambda>>, 'CURRENTDATETIME': <built-in method now of type object>, 'CURRENTTIMESTAMP': <built-in method now of type object>, 'CURRENTTIME': <built-in method now of type object>, 'CURRENTDATE': <built-in method today of type object>, 'STRFTIME': <function <lambda>>}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#ENV"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
</main>
|
||||
<script>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.executor.table API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -36,6 +36,21 @@
|
|||
<li>
|
||||
<a class="function" href="#Table.__init__">Table</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Table.columns">columns</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Table.column_range">column_range</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Table.reader">reader</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Table.rows">rows</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Table.range_reader">range_reader</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Table.add_columns">add_columns</a>
|
||||
</li>
|
||||
|
@ -45,6 +60,9 @@
|
|||
<li>
|
||||
<a class="function" href="#Table.pop">pop</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Table.width">width</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -54,6 +72,12 @@
|
|||
<li>
|
||||
<a class="function" href="#TableIter.__init__">TableIter</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#TableIter.table">table</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#TableIter.index">index</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -63,6 +87,12 @@
|
|||
<li>
|
||||
<a class="function" href="#RangeReader.__init__">RangeReader</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#RangeReader.table">table</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#RangeReader.range">range</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -72,6 +102,12 @@
|
|||
<li>
|
||||
<a class="function" href="#RowReader.__init__">RowReader</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#RowReader.columns">columns</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#RowReader.row">row</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -341,6 +377,61 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Table.columns" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">columns</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Table.columns"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Table.column_range" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">column_range</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Table.column_range"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Table.reader" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">reader</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Table.reader"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Table.rows" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">rows</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Table.rows"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Table.range_reader" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">range_reader</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Table.range_reader"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Table.add_columns" class="classattr">
|
||||
<input id="Table.add_columns-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -404,6 +495,17 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Table.width" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">width</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Table.width"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="TableIter">
|
||||
|
@ -453,6 +555,28 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="TableIter.table" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">table</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#TableIter.table"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="TableIter.index" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">index</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#TableIter.index"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="RangeReader">
|
||||
|
@ -499,6 +623,28 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="RangeReader.table" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">table</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#RangeReader.table"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="RangeReader.range" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">range</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#RangeReader.range"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="RowReader">
|
||||
|
@ -546,6 +692,28 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="RowReader.columns" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">columns</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#RowReader.columns"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="RowReader.row" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">row</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#RowReader.row"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="Tables">
|
||||
|
@ -590,6 +758,10 @@ For example, a generic mapping type might be defined as::</p>
|
|||
<dl>
|
||||
<div><dt><a href="../schema.html#AbstractMappingSchema">sqlglot.schema.AbstractMappingSchema</a></dt>
|
||||
<dd id="Tables.__init__" class="function"><a href="../schema.html#AbstractMappingSchema.__init__">AbstractMappingSchema</a></dd>
|
||||
<dd id="Tables.mapping" class="variable"><a href="../schema.html#AbstractMappingSchema.mapping">mapping</a></dd>
|
||||
<dd id="Tables.mapping_trie" class="variable"><a href="../schema.html#AbstractMappingSchema.mapping_trie">mapping_trie</a></dd>
|
||||
<dd id="Tables.empty" class="variable"><a href="../schema.html#AbstractMappingSchema.empty">empty</a></dd>
|
||||
<dd id="Tables.supported_table_args" class="variable"><a href="../schema.html#AbstractMappingSchema.supported_table_args">supported_table_args</a></dd>
|
||||
<dd id="Tables.table_parts" class="function"><a href="../schema.html#AbstractMappingSchema.table_parts">table_parts</a></dd>
|
||||
<dd id="Tables.find" class="function"><a href="../schema.html#AbstractMappingSchema.find">find</a></dd>
|
||||
<dd id="Tables.nested_get" class="function"><a href="../schema.html#AbstractMappingSchema.nested_get">nested_get</a></dd>
|
||||
|
|
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
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.lineage API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -36,6 +36,21 @@
|
|||
<li>
|
||||
<a class="function" href="#Node.__init__">Node</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Node.name">name</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Node.expression">expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Node.source">source</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Node.downstream">downstream</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Node.alias">alias</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Node.walk">walk</a>
|
||||
</li>
|
||||
|
@ -54,6 +69,21 @@
|
|||
<li>
|
||||
<a class="function" href="#LineageHTML.__init__">LineageHTML</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#LineageHTML.node">node</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#LineageHTML.imports">imports</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#LineageHTML.options">options</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#LineageHTML.nodes">nodes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#LineageHTML.edges">edges</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -394,6 +424,62 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Node.name" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">name</span><span class="annotation">: str</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Node.name"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Node.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Node.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Node.source" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">source</span><span class="annotation">: <a href="expressions.html#Expression">sqlglot.expressions.Expression</a></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Node.source"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Node.downstream" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">downstream</span><span class="annotation">: List[<a href="#Node">sqlglot.lineage.Node</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Node.downstream"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Node.alias" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">alias</span><span class="annotation">: str</span> =
|
||||
<span class="default_value">''</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Node.alias"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Node.walk" class="classattr">
|
||||
<input id="Node.walk-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -807,6 +893,61 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="LineageHTML.node" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">node</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#LineageHTML.node"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="LineageHTML.imports" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">imports</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#LineageHTML.imports"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="LineageHTML.options" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">options</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#LineageHTML.options"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="LineageHTML.nodes" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">nodes</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#LineageHTML.nodes"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="LineageHTML.edges" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">edges</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#LineageHTML.edges"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.canonicalize API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.eliminate_ctes API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.eliminate_joins API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.eliminate_subqueries API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.isolate_table_selects API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.merge_subqueries API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -33,6 +33,9 @@
|
|||
<li>
|
||||
<a class="function" href="#merge_subqueries">merge_subqueries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#UNMERGABLE_ARGS">UNMERGABLE_ARGS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#merge_ctes">merge_ctes</a>
|
||||
</li>
|
||||
|
@ -534,6 +537,19 @@ queries if it would result in multiple table selects in a single query:</p>
|
|||
</div>
|
||||
|
||||
|
||||
</section>
|
||||
<section id="UNMERGABLE_ARGS">
|
||||
<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">{'match', 'sample', 'having', 'settings', 'into', 'offset', 'group', 'pivots', 'with', 'laterals', 'kind', 'locks', 'distinct', 'cluster', 'format', 'limit', 'sort', 'windows', 'distribute', 'qualify'}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#UNMERGABLE_ARGS"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="merge_ctes">
|
||||
<input id="merge_ctes-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.normalize API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -30,6 +30,9 @@
|
|||
|
||||
<h2>API Documentation</h2>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#logger">logger</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#normalize">normalize</a>
|
||||
</li>
|
||||
|
@ -235,6 +238,18 @@
|
|||
|
||||
|
||||
</section>
|
||||
<section id="logger">
|
||||
<div class="attr variable">
|
||||
<span class="name">logger</span> =
|
||||
<span class="default_value"><Logger sqlglot (WARNING)></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#logger"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="normalize">
|
||||
<input id="normalize-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.normalize_identifiers API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.optimize_joins API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -30,6 +30,9 @@
|
|||
|
||||
<h2>API Documentation</h2>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#JOIN_ATTRS">JOIN_ATTRS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#optimize_joins">optimize_joins</a>
|
||||
</li>
|
||||
|
@ -151,6 +154,18 @@
|
|||
|
||||
|
||||
</section>
|
||||
<section id="JOIN_ATTRS">
|
||||
<div class="attr variable">
|
||||
<span class="name">JOIN_ATTRS</span> =
|
||||
<span class="default_value">('on', 'side', 'kind', 'using', 'method')</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#JOIN_ATTRS"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="optimize_joins">
|
||||
<input id="optimize_joins-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.pushdown_predicates API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.pushdown_projections API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -30,6 +30,9 @@
|
|||
|
||||
<h2>API Documentation</h2>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#SELECT_ALL">SELECT_ALL</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#DEFAULT_SELECTION">DEFAULT_SELECTION</a>
|
||||
</li>
|
||||
|
@ -183,6 +186,18 @@
|
|||
|
||||
|
||||
</section>
|
||||
<section id="SELECT_ALL">
|
||||
<div class="attr variable">
|
||||
<span class="name">SELECT_ALL</span> =
|
||||
<span class="default_value"><object object></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SELECT_ALL"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="DEFAULT_SELECTION">
|
||||
<input id="DEFAULT_SELECTION-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.qualify API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.qualify_columns API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -45,6 +45,12 @@
|
|||
<li>
|
||||
<a class="function" href="#Resolver.__init__">Resolver</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Resolver.scope">scope</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Resolver.schema">schema</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Resolver.get_table">get_table</a>
|
||||
</li>
|
||||
|
@ -969,6 +975,28 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Resolver.scope" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">scope</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Resolver.scope"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Resolver.schema" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">schema</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Resolver.schema"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Resolver.get_table" class="classattr">
|
||||
<input id="Resolver.get_table-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.qualify_tables API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.scope API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -60,6 +60,42 @@
|
|||
<li>
|
||||
<a class="function" href="#Scope.__init__">Scope</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.expression">expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.sources">sources</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.lateral_sources">lateral_sources</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.outer_column_list">outer_column_list</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.parent">parent</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.scope_type">scope_type</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.subquery_scopes">subquery_scopes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.derived_table_scopes">derived_table_scopes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.table_scopes">table_scopes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.cte_scopes">cte_scopes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.union_scopes">union_scopes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.udtf_scopes">udtf_scopes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Scope.clear_cache">clear_cache</a>
|
||||
</li>
|
||||
|
@ -114,6 +150,9 @@
|
|||
<li>
|
||||
<a class="variable" href="#Scope.join_hints">join_hints</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scope.pivots">pivots</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Scope.source_columns">source_columns</a>
|
||||
</li>
|
||||
|
@ -1501,7 +1540,7 @@ The LATERAL VIEW EXPLODE gets x as a source.</li>
|
|||
defines a column list of it's alias of this scope, this is that list of columns.
|
||||
For example:
|
||||
SELECT * FROM (SELECT ...) AS y(col1, col2)
|
||||
The inner query would have <code>["col1", "col2"]</code> for its <code>outer_column_list</code></li>
|
||||
The inner query would have <code>["col1", "col2"]</code> for its <code><a href="#Scope.outer_column_list">outer_column_list</a></code></li>
|
||||
<li><strong>parent (Scope):</strong> Parent scope</li>
|
||||
<li><strong>scope_type (ScopeType):</strong> Type of this scope, relative to it's parent</li>
|
||||
<li><strong>subquery_scopes (list[Scope]):</strong> List of all child scopes for subqueries</li>
|
||||
|
@ -1553,6 +1592,138 @@ a list of the left and right child scopes.</li>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.sources" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">sources</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.sources"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.lateral_sources" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">lateral_sources</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.lateral_sources"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.outer_column_list" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">outer_column_list</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.outer_column_list"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.parent" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">parent</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.parent"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.scope_type" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">scope_type</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.scope_type"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.subquery_scopes" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">subquery_scopes</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.subquery_scopes"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.derived_table_scopes" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">derived_table_scopes</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.derived_table_scopes"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.table_scopes" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">table_scopes</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.table_scopes"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.cte_scopes" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">cte_scopes</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.cte_scopes"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.union_scopes" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">union_scopes</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.union_scopes"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.udtf_scopes" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">udtf_scopes</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.udtf_scopes"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.clear_cache" class="classattr">
|
||||
<input id="Scope.clear_cache-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -2022,6 +2193,17 @@ table only becomes a selected source if it's included in a FROM or JOIN clause.<
|
|||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.pivots" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">pivots</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scope.pivots"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scope.source_columns" class="classattr">
|
||||
<input id="Scope.source_columns-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.simplify API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -45,6 +45,18 @@
|
|||
<li>
|
||||
<a class="function" href="#simplify_connectors">simplify_connectors</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#LT_LTE">LT_LTE</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#GT_GTE">GT_GTE</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#COMPARISONS">COMPARISONS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#INVERSE_COMPARISONS">INVERSE_COMPARISONS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#remove_compliments">remove_compliments</a>
|
||||
</li>
|
||||
|
@ -523,112 +535,117 @@
|
|||
</span><span id="L-408"><a href="#L-408"><span class="linenos">408</span></a> <span class="k">if</span> <span class="n">always_true</span><span class="p">(</span><span class="n">where</span><span class="o">.</span><span class="n">this</span><span class="p">):</span>
|
||||
</span><span id="L-409"><a href="#L-409"><span class="linenos">409</span></a> <span class="n">where</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"where"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-410"><a href="#L-410"><span class="linenos">410</span></a> <span class="k">for</span> <span class="n">join</span> <span class="ow">in</span> <span class="n">expression</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">Join</span><span class="p">):</span>
|
||||
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a> <span class="k">if</span> <span class="n">always_true</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"on"</span><span class="p">)):</span>
|
||||
</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"kind"</span><span class="p">,</span> <span class="s2">"CROSS"</span><span class="p">)</span>
|
||||
</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"on"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a>
|
||||
</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a>
|
||||
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a><span class="k">def</span> <span class="nf">always_true</span><span class="p">(</span><span class="n">expression</span><span class="p">):</span>
|
||||
</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a> <span class="k">return</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Boolean</span><span class="p">)</span> <span class="ow">and</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span>
|
||||
</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a> <span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span>
|
||||
</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a> <span class="p">)</span>
|
||||
</span><span id="L-411"><a href="#L-411"><span class="linenos">411</span></a> <span class="k">if</span> <span class="p">(</span>
|
||||
</span><span id="L-412"><a href="#L-412"><span class="linenos">412</span></a> <span class="n">always_true</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"on"</span><span class="p">))</span>
|
||||
</span><span id="L-413"><a href="#L-413"><span class="linenos">413</span></a> <span class="ow">and</span> <span class="ow">not</span> <span class="n">join</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"using"</span><span class="p">)</span>
|
||||
</span><span id="L-414"><a href="#L-414"><span class="linenos">414</span></a> <span class="ow">and</span> <span class="ow">not</span> <span class="n">join</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"method"</span><span class="p">)</span>
|
||||
</span><span id="L-415"><a href="#L-415"><span class="linenos">415</span></a> <span class="p">):</span>
|
||||
</span><span id="L-416"><a href="#L-416"><span class="linenos">416</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"on"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-417"><a href="#L-417"><span class="linenos">417</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"side"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="L-418"><a href="#L-418"><span class="linenos">418</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"kind"</span><span class="p">,</span> <span class="s2">"CROSS"</span><span class="p">)</span>
|
||||
</span><span id="L-419"><a href="#L-419"><span class="linenos">419</span></a>
|
||||
</span><span id="L-420"><a href="#L-420"><span class="linenos">420</span></a>
|
||||
</span><span id="L-421"><a href="#L-421"><span class="linenos">421</span></a>
|
||||
</span><span id="L-422"><a href="#L-422"><span class="linenos">422</span></a><span class="k">def</span> <span class="nf">is_complement</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
</span><span id="L-423"><a href="#L-423"><span class="linenos">423</span></a> <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Not</span><span class="p">)</span> <span class="ow">and</span> <span class="n">b</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">a</span>
|
||||
</span><span id="L-424"><a href="#L-424"><span class="linenos">424</span></a>
|
||||
</span><span id="L-421"><a href="#L-421"><span class="linenos">421</span></a><span class="k">def</span> <span class="nf">always_true</span><span class="p">(</span><span class="n">expression</span><span class="p">):</span>
|
||||
</span><span id="L-422"><a href="#L-422"><span class="linenos">422</span></a> <span class="k">return</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Boolean</span><span class="p">)</span> <span class="ow">and</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span>
|
||||
</span><span id="L-423"><a href="#L-423"><span class="linenos">423</span></a> <span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span>
|
||||
</span><span id="L-424"><a href="#L-424"><span class="linenos">424</span></a> <span class="p">)</span>
|
||||
</span><span id="L-425"><a href="#L-425"><span class="linenos">425</span></a>
|
||||
</span><span id="L-426"><a href="#L-426"><span class="linenos">426</span></a><span class="k">def</span> <span class="nf">is_false</span><span class="p">(</span><span class="n">a</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-427"><a href="#L-427"><span class="linenos">427</span></a> <span class="k">return</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="ow">is</span> <span class="n">exp</span><span class="o">.</span><span class="n">Boolean</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">a</span><span class="o">.</span><span class="n">this</span>
|
||||
</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a>
|
||||
</span><span id="L-426"><a href="#L-426"><span class="linenos">426</span></a>
|
||||
</span><span id="L-427"><a href="#L-427"><span class="linenos">427</span></a><span class="k">def</span> <span class="nf">is_complement</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
</span><span id="L-428"><a href="#L-428"><span class="linenos">428</span></a> <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Not</span><span class="p">)</span> <span class="ow">and</span> <span class="n">b</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">a</span>
|
||||
</span><span id="L-429"><a href="#L-429"><span class="linenos">429</span></a>
|
||||
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a><span class="k">def</span> <span class="nf">is_null</span><span class="p">(</span><span class="n">a</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-431"><a href="#L-431"><span class="linenos">431</span></a> <span class="k">return</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="ow">is</span> <span class="n">exp</span><span class="o">.</span><span class="n">Null</span>
|
||||
</span><span id="L-432"><a href="#L-432"><span class="linenos">432</span></a>
|
||||
</span><span id="L-430"><a href="#L-430"><span class="linenos">430</span></a>
|
||||
</span><span id="L-431"><a href="#L-431"><span class="linenos">431</span></a><span class="k">def</span> <span class="nf">is_false</span><span class="p">(</span><span class="n">a</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-432"><a href="#L-432"><span class="linenos">432</span></a> <span class="k">return</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="ow">is</span> <span class="n">exp</span><span class="o">.</span><span class="n">Boolean</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">a</span><span class="o">.</span><span class="n">this</span>
|
||||
</span><span id="L-433"><a href="#L-433"><span class="linenos">433</span></a>
|
||||
</span><span id="L-434"><a href="#L-434"><span class="linenos">434</span></a><span class="k">def</span> <span class="nf">eval_boolean</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
</span><span id="L-435"><a href="#L-435"><span class="linenos">435</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Is</span><span class="p">)):</span>
|
||||
</span><span id="L-436"><a href="#L-436"><span class="linenos">436</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">==</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-437"><a href="#L-437"><span class="linenos">437</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">NEQ</span><span class="p">):</span>
|
||||
</span><span id="L-438"><a href="#L-438"><span class="linenos">438</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">!=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-439"><a href="#L-439"><span class="linenos">439</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">GT</span><span class="p">):</span>
|
||||
</span><span id="L-440"><a href="#L-440"><span class="linenos">440</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">></span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">GTE</span><span class="p">):</span>
|
||||
</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">>=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">LT</span><span class="p">):</span>
|
||||
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o"><</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">LTE</span><span class="p">):</span>
|
||||
</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o"><=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-447"><a href="#L-447"><span class="linenos">447</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-448"><a href="#L-448"><span class="linenos">448</span></a>
|
||||
</span><span id="L-449"><a href="#L-449"><span class="linenos">449</span></a>
|
||||
</span><span id="L-450"><a href="#L-450"><span class="linenos">450</span></a><span class="k">def</span> <span class="nf">extract_date</span><span class="p">(</span><span class="n">cast</span><span class="p">):</span>
|
||||
</span><span id="L-451"><a href="#L-451"><span class="linenos">451</span></a> <span class="c1"># The "fromisoformat" conversion could fail if the cast is used on an identifier,</span>
|
||||
</span><span id="L-452"><a href="#L-452"><span class="linenos">452</span></a> <span class="c1"># so in that case we can't extract the date.</span>
|
||||
</span><span id="L-453"><a href="#L-453"><span class="linenos">453</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-454"><a href="#L-454"><span class="linenos">454</span></a> <span class="k">if</span> <span class="n">cast</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">"to"</span><span class="p">]</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">DATE</span><span class="p">:</span>
|
||||
</span><span id="L-455"><a href="#L-455"><span class="linenos">455</span></a> <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">cast</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="L-456"><a href="#L-456"><span class="linenos">456</span></a> <span class="k">if</span> <span class="n">cast</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">"to"</span><span class="p">]</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">:</span>
|
||||
</span><span id="L-457"><a href="#L-457"><span class="linenos">457</span></a> <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">cast</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="L-458"><a href="#L-458"><span class="linenos">458</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="L-459"><a href="#L-459"><span class="linenos">459</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-460"><a href="#L-460"><span class="linenos">460</span></a>
|
||||
</span><span id="L-461"><a href="#L-461"><span class="linenos">461</span></a>
|
||||
</span><span id="L-462"><a href="#L-462"><span class="linenos">462</span></a><span class="k">def</span> <span class="nf">extract_interval</span><span class="p">(</span><span class="n">interval</span><span class="p">):</span>
|
||||
</span><span id="L-463"><a href="#L-463"><span class="linenos">463</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a> <span class="kn">from</span> <span class="nn">dateutil.relativedelta</span> <span class="kn">import</span> <span class="n">relativedelta</span> <span class="c1"># type: ignore</span>
|
||||
</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a> <span class="k">except</span> <span class="ne">ModuleNotFoundError</span><span class="p">:</span>
|
||||
</span><span id="L-466"><a href="#L-466"><span class="linenos">466</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a>
|
||||
</span><span id="L-468"><a href="#L-468"><span class="linenos">468</span></a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">interval</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="L-469"><a href="#L-469"><span class="linenos">469</span></a> <span class="n">unit</span> <span class="o">=</span> <span class="n">interval</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">"unit"</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
|
||||
</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a>
|
||||
</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"year"</span><span class="p">:</span>
|
||||
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">years</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"month"</span><span class="p">:</span>
|
||||
</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">months</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"week"</span><span class="p">:</span>
|
||||
</span><span id="L-476"><a href="#L-476"><span class="linenos">476</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">weeks</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"day"</span><span class="p">:</span>
|
||||
</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-480"><a href="#L-480"><span class="linenos">480</span></a>
|
||||
</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a>
|
||||
</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a><span class="k">def</span> <span class="nf">date_literal</span><span class="p">(</span><span class="n">date</span><span class="p">):</span>
|
||||
</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span>
|
||||
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">date</span><span class="p">),</span>
|
||||
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a> <span class="s2">"DATETIME"</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">date</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">)</span> <span class="k">else</span> <span class="s2">"DATE"</span><span class="p">,</span>
|
||||
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a> <span class="p">)</span>
|
||||
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a>
|
||||
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a>
|
||||
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a><span class="k">def</span> <span class="nf">boolean_literal</span><span class="p">(</span><span class="n">condition</span><span class="p">):</span>
|
||||
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">true</span><span class="p">()</span> <span class="k">if</span> <span class="n">condition</span> <span class="k">else</span> <span class="n">exp</span><span class="o">.</span><span class="n">false</span><span class="p">()</span>
|
||||
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a>
|
||||
</span><span id="L-434"><a href="#L-434"><span class="linenos">434</span></a>
|
||||
</span><span id="L-435"><a href="#L-435"><span class="linenos">435</span></a><span class="k">def</span> <span class="nf">is_null</span><span class="p">(</span><span class="n">a</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-436"><a href="#L-436"><span class="linenos">436</span></a> <span class="k">return</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="ow">is</span> <span class="n">exp</span><span class="o">.</span><span class="n">Null</span>
|
||||
</span><span id="L-437"><a href="#L-437"><span class="linenos">437</span></a>
|
||||
</span><span id="L-438"><a href="#L-438"><span class="linenos">438</span></a>
|
||||
</span><span id="L-439"><a href="#L-439"><span class="linenos">439</span></a><span class="k">def</span> <span class="nf">eval_boolean</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
</span><span id="L-440"><a href="#L-440"><span class="linenos">440</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Is</span><span class="p">)):</span>
|
||||
</span><span id="L-441"><a href="#L-441"><span class="linenos">441</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">==</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-442"><a href="#L-442"><span class="linenos">442</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">NEQ</span><span class="p">):</span>
|
||||
</span><span id="L-443"><a href="#L-443"><span class="linenos">443</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">!=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-444"><a href="#L-444"><span class="linenos">444</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">GT</span><span class="p">):</span>
|
||||
</span><span id="L-445"><a href="#L-445"><span class="linenos">445</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">></span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-446"><a href="#L-446"><span class="linenos">446</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">GTE</span><span class="p">):</span>
|
||||
</span><span id="L-447"><a href="#L-447"><span class="linenos">447</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">>=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-448"><a href="#L-448"><span class="linenos">448</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">LT</span><span class="p">):</span>
|
||||
</span><span id="L-449"><a href="#L-449"><span class="linenos">449</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o"><</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-450"><a href="#L-450"><span class="linenos">450</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">LTE</span><span class="p">):</span>
|
||||
</span><span id="L-451"><a href="#L-451"><span class="linenos">451</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o"><=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-452"><a href="#L-452"><span class="linenos">452</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-453"><a href="#L-453"><span class="linenos">453</span></a>
|
||||
</span><span id="L-454"><a href="#L-454"><span class="linenos">454</span></a>
|
||||
</span><span id="L-455"><a href="#L-455"><span class="linenos">455</span></a><span class="k">def</span> <span class="nf">extract_date</span><span class="p">(</span><span class="n">cast</span><span class="p">):</span>
|
||||
</span><span id="L-456"><a href="#L-456"><span class="linenos">456</span></a> <span class="c1"># The "fromisoformat" conversion could fail if the cast is used on an identifier,</span>
|
||||
</span><span id="L-457"><a href="#L-457"><span class="linenos">457</span></a> <span class="c1"># so in that case we can't extract the date.</span>
|
||||
</span><span id="L-458"><a href="#L-458"><span class="linenos">458</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-459"><a href="#L-459"><span class="linenos">459</span></a> <span class="k">if</span> <span class="n">cast</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">"to"</span><span class="p">]</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">DATE</span><span class="p">:</span>
|
||||
</span><span id="L-460"><a href="#L-460"><span class="linenos">460</span></a> <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">cast</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="L-461"><a href="#L-461"><span class="linenos">461</span></a> <span class="k">if</span> <span class="n">cast</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">"to"</span><span class="p">]</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">:</span>
|
||||
</span><span id="L-462"><a href="#L-462"><span class="linenos">462</span></a> <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">cast</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="L-463"><a href="#L-463"><span class="linenos">463</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="L-464"><a href="#L-464"><span class="linenos">464</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-465"><a href="#L-465"><span class="linenos">465</span></a>
|
||||
</span><span id="L-466"><a href="#L-466"><span class="linenos">466</span></a>
|
||||
</span><span id="L-467"><a href="#L-467"><span class="linenos">467</span></a><span class="k">def</span> <span class="nf">extract_interval</span><span class="p">(</span><span class="n">interval</span><span class="p">):</span>
|
||||
</span><span id="L-468"><a href="#L-468"><span class="linenos">468</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="L-469"><a href="#L-469"><span class="linenos">469</span></a> <span class="kn">from</span> <span class="nn">dateutil.relativedelta</span> <span class="kn">import</span> <span class="n">relativedelta</span> <span class="c1"># type: ignore</span>
|
||||
</span><span id="L-470"><a href="#L-470"><span class="linenos">470</span></a> <span class="k">except</span> <span class="ne">ModuleNotFoundError</span><span class="p">:</span>
|
||||
</span><span id="L-471"><a href="#L-471"><span class="linenos">471</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-472"><a href="#L-472"><span class="linenos">472</span></a>
|
||||
</span><span id="L-473"><a href="#L-473"><span class="linenos">473</span></a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">interval</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="L-474"><a href="#L-474"><span class="linenos">474</span></a> <span class="n">unit</span> <span class="o">=</span> <span class="n">interval</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">"unit"</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
|
||||
</span><span id="L-475"><a href="#L-475"><span class="linenos">475</span></a>
|
||||
</span><span id="L-476"><a href="#L-476"><span class="linenos">476</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"year"</span><span class="p">:</span>
|
||||
</span><span id="L-477"><a href="#L-477"><span class="linenos">477</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">years</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="L-478"><a href="#L-478"><span class="linenos">478</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"month"</span><span class="p">:</span>
|
||||
</span><span id="L-479"><a href="#L-479"><span class="linenos">479</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">months</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="L-480"><a href="#L-480"><span class="linenos">480</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"week"</span><span class="p">:</span>
|
||||
</span><span id="L-481"><a href="#L-481"><span class="linenos">481</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">weeks</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="L-482"><a href="#L-482"><span class="linenos">482</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"day"</span><span class="p">:</span>
|
||||
</span><span id="L-483"><a href="#L-483"><span class="linenos">483</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="L-484"><a href="#L-484"><span class="linenos">484</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-485"><a href="#L-485"><span class="linenos">485</span></a>
|
||||
</span><span id="L-486"><a href="#L-486"><span class="linenos">486</span></a>
|
||||
</span><span id="L-487"><a href="#L-487"><span class="linenos">487</span></a><span class="k">def</span> <span class="nf">date_literal</span><span class="p">(</span><span class="n">date</span><span class="p">):</span>
|
||||
</span><span id="L-488"><a href="#L-488"><span class="linenos">488</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span>
|
||||
</span><span id="L-489"><a href="#L-489"><span class="linenos">489</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">date</span><span class="p">),</span>
|
||||
</span><span id="L-490"><a href="#L-490"><span class="linenos">490</span></a> <span class="s2">"DATETIME"</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">date</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">)</span> <span class="k">else</span> <span class="s2">"DATE"</span><span class="p">,</span>
|
||||
</span><span id="L-491"><a href="#L-491"><span class="linenos">491</span></a> <span class="p">)</span>
|
||||
</span><span id="L-492"><a href="#L-492"><span class="linenos">492</span></a>
|
||||
</span><span id="L-493"><a href="#L-493"><span class="linenos">493</span></a><span class="k">def</span> <span class="nf">_flat_simplify</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">simplifier</span><span class="p">,</span> <span class="n">root</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-494"><a href="#L-494"><span class="linenos">494</span></a> <span class="k">if</span> <span class="n">root</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">expression</span><span class="o">.</span><span class="n">same_parent</span><span class="p">:</span>
|
||||
</span><span id="L-495"><a href="#L-495"><span class="linenos">495</span></a> <span class="n">operands</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-496"><a href="#L-496"><span class="linenos">496</span></a> <span class="n">queue</span> <span class="o">=</span> <span class="n">deque</span><span class="p">(</span><span class="n">expression</span><span class="o">.</span><span class="n">flatten</span><span class="p">(</span><span class="n">unnest</span><span class="o">=</span><span class="kc">False</span><span class="p">))</span>
|
||||
</span><span id="L-497"><a href="#L-497"><span class="linenos">497</span></a> <span class="n">size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">queue</span><span class="p">)</span>
|
||||
</span><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a>
|
||||
</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a> <span class="k">while</span> <span class="n">queue</span><span class="p">:</span>
|
||||
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a> <span class="n">a</span> <span class="o">=</span> <span class="n">queue</span><span class="o">.</span><span class="n">popleft</span><span class="p">()</span>
|
||||
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a>
|
||||
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">queue</span><span class="p">:</span>
|
||||
</span><span id="L-503"><a href="#L-503"><span class="linenos">503</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">simplifier</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-504"><a href="#L-504"><span class="linenos">504</span></a>
|
||||
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a> <span class="k">if</span> <span class="n">result</span><span class="p">:</span>
|
||||
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a> <span class="n">queue</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a> <span class="n">queue</span><span class="o">.</span><span class="n">appendleft</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
|
||||
</span><span id="L-508"><a href="#L-508"><span class="linenos">508</span></a> <span class="k">break</span>
|
||||
</span><span id="L-509"><a href="#L-509"><span class="linenos">509</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-510"><a href="#L-510"><span class="linenos">510</span></a> <span class="n">operands</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
|
||||
</span><span id="L-511"><a href="#L-511"><span class="linenos">511</span></a>
|
||||
</span><span id="L-512"><a href="#L-512"><span class="linenos">512</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">operands</span><span class="p">)</span> <span class="o"><</span> <span class="n">size</span><span class="p">:</span>
|
||||
</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a> <span class="k">return</span> <span class="n">functools</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span>
|
||||
</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a> <span class="k">lambda</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">:</span> <span class="n">expression</span><span class="o">.</span><span class="vm">__class__</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">a</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">b</span><span class="p">),</span> <span class="n">operands</span>
|
||||
</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a> <span class="p">)</span>
|
||||
</span><span id="L-516"><a href="#L-516"><span class="linenos">516</span></a> <span class="k">return</span> <span class="n">expression</span>
|
||||
</span><span id="L-493"><a href="#L-493"><span class="linenos">493</span></a>
|
||||
</span><span id="L-494"><a href="#L-494"><span class="linenos">494</span></a><span class="k">def</span> <span class="nf">boolean_literal</span><span class="p">(</span><span class="n">condition</span><span class="p">):</span>
|
||||
</span><span id="L-495"><a href="#L-495"><span class="linenos">495</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">true</span><span class="p">()</span> <span class="k">if</span> <span class="n">condition</span> <span class="k">else</span> <span class="n">exp</span><span class="o">.</span><span class="n">false</span><span class="p">()</span>
|
||||
</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><span id="L-498"><a href="#L-498"><span class="linenos">498</span></a><span class="k">def</span> <span class="nf">_flat_simplify</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">simplifier</span><span class="p">,</span> <span class="n">root</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
</span><span id="L-499"><a href="#L-499"><span class="linenos">499</span></a> <span class="k">if</span> <span class="n">root</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">expression</span><span class="o">.</span><span class="n">same_parent</span><span class="p">:</span>
|
||||
</span><span id="L-500"><a href="#L-500"><span class="linenos">500</span></a> <span class="n">operands</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
</span><span id="L-501"><a href="#L-501"><span class="linenos">501</span></a> <span class="n">queue</span> <span class="o">=</span> <span class="n">deque</span><span class="p">(</span><span class="n">expression</span><span class="o">.</span><span class="n">flatten</span><span class="p">(</span><span class="n">unnest</span><span class="o">=</span><span class="kc">False</span><span class="p">))</span>
|
||||
</span><span id="L-502"><a href="#L-502"><span class="linenos">502</span></a> <span class="n">size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">queue</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 class="k">while</span> <span class="n">queue</span><span class="p">:</span>
|
||||
</span><span id="L-505"><a href="#L-505"><span class="linenos">505</span></a> <span class="n">a</span> <span class="o">=</span> <span class="n">queue</span><span class="o">.</span><span class="n">popleft</span><span class="p">()</span>
|
||||
</span><span id="L-506"><a href="#L-506"><span class="linenos">506</span></a>
|
||||
</span><span id="L-507"><a href="#L-507"><span class="linenos">507</span></a> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">queue</span><span class="p">:</span>
|
||||
</span><span id="L-508"><a href="#L-508"><span class="linenos">508</span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">simplifier</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-509"><a href="#L-509"><span class="linenos">509</span></a>
|
||||
</span><span id="L-510"><a href="#L-510"><span class="linenos">510</span></a> <span class="k">if</span> <span class="n">result</span><span class="p">:</span>
|
||||
</span><span id="L-511"><a href="#L-511"><span class="linenos">511</span></a> <span class="n">queue</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="L-512"><a href="#L-512"><span class="linenos">512</span></a> <span class="n">queue</span><span class="o">.</span><span class="n">appendleft</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
|
||||
</span><span id="L-513"><a href="#L-513"><span class="linenos">513</span></a> <span class="k">break</span>
|
||||
</span><span id="L-514"><a href="#L-514"><span class="linenos">514</span></a> <span class="k">else</span><span class="p">:</span>
|
||||
</span><span id="L-515"><a href="#L-515"><span class="linenos">515</span></a> <span class="n">operands</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">a</span><span class="p">)</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">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">operands</span><span class="p">)</span> <span class="o"><</span> <span class="n">size</span><span class="p">:</span>
|
||||
</span><span id="L-518"><a href="#L-518"><span class="linenos">518</span></a> <span class="k">return</span> <span class="n">functools</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span>
|
||||
</span><span id="L-519"><a href="#L-519"><span class="linenos">519</span></a> <span class="k">lambda</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">:</span> <span class="n">expression</span><span class="o">.</span><span class="vm">__class__</span><span class="p">(</span><span class="n">this</span><span class="o">=</span><span class="n">a</span><span class="p">,</span> <span class="n">expression</span><span class="o">=</span><span class="n">b</span><span class="p">),</span> <span class="n">operands</span>
|
||||
</span><span id="L-520"><a href="#L-520"><span class="linenos">520</span></a> <span class="p">)</span>
|
||||
</span><span id="L-521"><a href="#L-521"><span class="linenos">521</span></a> <span class="k">return</span> <span class="n">expression</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -885,6 +902,56 @@ A OR (B OR C) -> A OR B OR C</p>
|
|||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="LT_LTE">
|
||||
<div class="attr variable">
|
||||
<span class="name">LT_LTE</span> =
|
||||
<span class="default_value">(<class '<a href="../expressions.html#LT">sqlglot.expressions.LT</a>'>, <class '<a href="../expressions.html#LTE">sqlglot.expressions.LTE</a>'>)</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#LT_LTE"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="GT_GTE">
|
||||
<div class="attr variable">
|
||||
<span class="name">GT_GTE</span> =
|
||||
<span class="default_value">(<class '<a href="../expressions.html#GT">sqlglot.expressions.GT</a>'>, <class '<a href="../expressions.html#GTE">sqlglot.expressions.GTE</a>'>)</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#GT_GTE"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="COMPARISONS">
|
||||
<div class="attr variable">
|
||||
<span class="name">COMPARISONS</span> =
|
||||
<input id="COMPARISONS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<label class="view-value-button pdoc-button" for="COMPARISONS-view-value"></label><span class="default_value">(<class '<a href="../expressions.html#LT">sqlglot.expressions.LT</a>'>, <class '<a href="../expressions.html#LTE">sqlglot.expressions.LTE</a>'>, <class '<a href="../expressions.html#GT">sqlglot.expressions.GT</a>'>, <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#NEQ">sqlglot.expressions.NEQ</a>'>)</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#COMPARISONS"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="INVERSE_COMPARISONS">
|
||||
<div class="attr variable">
|
||||
<span class="name">INVERSE_COMPARISONS</span> =
|
||||
<input id="INVERSE_COMPARISONS-view-value" class="view-value-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<label class="view-value-button pdoc-button" for="INVERSE_COMPARISONS-view-value"></label><span class="default_value">{<class '<a href="../expressions.html#LT">sqlglot.expressions.LT</a>'>: <class '<a href="../expressions.html#GT">sqlglot.expressions.GT</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#LTE">sqlglot.expressions.LTE</a>'>: <class '<a href="../expressions.html#GTE">sqlglot.expressions.GTE</a>'>, <class '<a href="../expressions.html#GTE">sqlglot.expressions.GTE</a>'>: <class '<a href="../expressions.html#LTE">sqlglot.expressions.LTE</a>'>}</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#INVERSE_COMPARISONS"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="remove_compliments">
|
||||
<input id="remove_compliments-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -1109,9 +1176,14 @@ elimination:
|
|||
</span><span id="remove_where_true-409"><a href="#remove_where_true-409"><span class="linenos">409</span></a> <span class="k">if</span> <span class="n">always_true</span><span class="p">(</span><span class="n">where</span><span class="o">.</span><span class="n">this</span><span class="p">):</span>
|
||||
</span><span id="remove_where_true-410"><a href="#remove_where_true-410"><span class="linenos">410</span></a> <span class="n">where</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"where"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="remove_where_true-411"><a href="#remove_where_true-411"><span class="linenos">411</span></a> <span class="k">for</span> <span class="n">join</span> <span class="ow">in</span> <span class="n">expression</span><span class="o">.</span><span class="n">find_all</span><span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">Join</span><span class="p">):</span>
|
||||
</span><span id="remove_where_true-412"><a href="#remove_where_true-412"><span class="linenos">412</span></a> <span class="k">if</span> <span class="n">always_true</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"on"</span><span class="p">)):</span>
|
||||
</span><span id="remove_where_true-413"><a href="#remove_where_true-413"><span class="linenos">413</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"kind"</span><span class="p">,</span> <span class="s2">"CROSS"</span><span class="p">)</span>
|
||||
</span><span id="remove_where_true-414"><a href="#remove_where_true-414"><span class="linenos">414</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"on"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="remove_where_true-412"><a href="#remove_where_true-412"><span class="linenos">412</span></a> <span class="k">if</span> <span class="p">(</span>
|
||||
</span><span id="remove_where_true-413"><a href="#remove_where_true-413"><span class="linenos">413</span></a> <span class="n">always_true</span><span class="p">(</span><span class="n">join</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"on"</span><span class="p">))</span>
|
||||
</span><span id="remove_where_true-414"><a href="#remove_where_true-414"><span class="linenos">414</span></a> <span class="ow">and</span> <span class="ow">not</span> <span class="n">join</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"using"</span><span class="p">)</span>
|
||||
</span><span id="remove_where_true-415"><a href="#remove_where_true-415"><span class="linenos">415</span></a> <span class="ow">and</span> <span class="ow">not</span> <span class="n">join</span><span class="o">.</span><span class="n">args</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"method"</span><span class="p">)</span>
|
||||
</span><span id="remove_where_true-416"><a href="#remove_where_true-416"><span class="linenos">416</span></a> <span class="p">):</span>
|
||||
</span><span id="remove_where_true-417"><a href="#remove_where_true-417"><span class="linenos">417</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"on"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="remove_where_true-418"><a href="#remove_where_true-418"><span class="linenos">418</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"side"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
</span><span id="remove_where_true-419"><a href="#remove_where_true-419"><span class="linenos">419</span></a> <span class="n">join</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s2">"kind"</span><span class="p">,</span> <span class="s2">"CROSS"</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1129,10 +1201,10 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#always_true"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="always_true-417"><a href="#always_true-417"><span class="linenos">417</span></a><span class="k">def</span> <span class="nf">always_true</span><span class="p">(</span><span class="n">expression</span><span class="p">):</span>
|
||||
</span><span id="always_true-418"><a href="#always_true-418"><span class="linenos">418</span></a> <span class="k">return</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Boolean</span><span class="p">)</span> <span class="ow">and</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span>
|
||||
</span><span id="always_true-419"><a href="#always_true-419"><span class="linenos">419</span></a> <span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span>
|
||||
</span><span id="always_true-420"><a href="#always_true-420"><span class="linenos">420</span></a> <span class="p">)</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="always_true-422"><a href="#always_true-422"><span class="linenos">422</span></a><span class="k">def</span> <span class="nf">always_true</span><span class="p">(</span><span class="n">expression</span><span class="p">):</span>
|
||||
</span><span id="always_true-423"><a href="#always_true-423"><span class="linenos">423</span></a> <span class="k">return</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Boolean</span><span class="p">)</span> <span class="ow">and</span> <span class="n">expression</span><span class="o">.</span><span class="n">this</span><span class="p">)</span> <span class="ow">or</span> <span class="nb">isinstance</span><span class="p">(</span>
|
||||
</span><span id="always_true-424"><a href="#always_true-424"><span class="linenos">424</span></a> <span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span>
|
||||
</span><span id="always_true-425"><a href="#always_true-425"><span class="linenos">425</span></a> <span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1150,8 +1222,8 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#is_complement"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="is_complement-423"><a href="#is_complement-423"><span class="linenos">423</span></a><span class="k">def</span> <span class="nf">is_complement</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
</span><span id="is_complement-424"><a href="#is_complement-424"><span class="linenos">424</span></a> <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Not</span><span class="p">)</span> <span class="ow">and</span> <span class="n">b</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">a</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="is_complement-428"><a href="#is_complement-428"><span class="linenos">428</span></a><span class="k">def</span> <span class="nf">is_complement</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
</span><span id="is_complement-429"><a href="#is_complement-429"><span class="linenos">429</span></a> <span class="k">return</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Not</span><span class="p">)</span> <span class="ow">and</span> <span class="n">b</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">a</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1169,8 +1241,8 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#is_false"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="is_false-427"><a href="#is_false-427"><span class="linenos">427</span></a><span class="k">def</span> <span class="nf">is_false</span><span class="p">(</span><span class="n">a</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="is_false-428"><a href="#is_false-428"><span class="linenos">428</span></a> <span class="k">return</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="ow">is</span> <span class="n">exp</span><span class="o">.</span><span class="n">Boolean</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">a</span><span class="o">.</span><span class="n">this</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="is_false-432"><a href="#is_false-432"><span class="linenos">432</span></a><span class="k">def</span> <span class="nf">is_false</span><span class="p">(</span><span class="n">a</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="is_false-433"><a href="#is_false-433"><span class="linenos">433</span></a> <span class="k">return</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="ow">is</span> <span class="n">exp</span><span class="o">.</span><span class="n">Boolean</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">a</span><span class="o">.</span><span class="n">this</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1188,8 +1260,8 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#is_null"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="is_null-431"><a href="#is_null-431"><span class="linenos">431</span></a><span class="k">def</span> <span class="nf">is_null</span><span class="p">(</span><span class="n">a</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="is_null-432"><a href="#is_null-432"><span class="linenos">432</span></a> <span class="k">return</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="ow">is</span> <span class="n">exp</span><span class="o">.</span><span class="n">Null</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="is_null-436"><a href="#is_null-436"><span class="linenos">436</span></a><span class="k">def</span> <span class="nf">is_null</span><span class="p">(</span><span class="n">a</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="is_null-437"><a href="#is_null-437"><span class="linenos">437</span></a> <span class="k">return</span> <span class="nb">type</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> <span class="ow">is</span> <span class="n">exp</span><span class="o">.</span><span class="n">Null</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1207,20 +1279,20 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#eval_boolean"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="eval_boolean-435"><a href="#eval_boolean-435"><span class="linenos">435</span></a><span class="k">def</span> <span class="nf">eval_boolean</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-436"><a href="#eval_boolean-436"><span class="linenos">436</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Is</span><span class="p">)):</span>
|
||||
</span><span id="eval_boolean-437"><a href="#eval_boolean-437"><span class="linenos">437</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">==</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-438"><a href="#eval_boolean-438"><span class="linenos">438</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">NEQ</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-439"><a href="#eval_boolean-439"><span class="linenos">439</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">!=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-440"><a href="#eval_boolean-440"><span class="linenos">440</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">GT</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-441"><a href="#eval_boolean-441"><span class="linenos">441</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">></span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-442"><a href="#eval_boolean-442"><span class="linenos">442</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">GTE</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-443"><a href="#eval_boolean-443"><span class="linenos">443</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">>=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-444"><a href="#eval_boolean-444"><span class="linenos">444</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">LT</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-445"><a href="#eval_boolean-445"><span class="linenos">445</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o"><</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-446"><a href="#eval_boolean-446"><span class="linenos">446</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">LTE</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-447"><a href="#eval_boolean-447"><span class="linenos">447</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o"><=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-448"><a href="#eval_boolean-448"><span class="linenos">448</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="eval_boolean-440"><a href="#eval_boolean-440"><span class="linenos">440</span></a><span class="k">def</span> <span class="nf">eval_boolean</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-441"><a href="#eval_boolean-441"><span class="linenos">441</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="p">(</span><span class="n">exp</span><span class="o">.</span><span class="n">EQ</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">Is</span><span class="p">)):</span>
|
||||
</span><span id="eval_boolean-442"><a href="#eval_boolean-442"><span class="linenos">442</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">==</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-443"><a href="#eval_boolean-443"><span class="linenos">443</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">NEQ</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-444"><a href="#eval_boolean-444"><span class="linenos">444</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">!=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-445"><a href="#eval_boolean-445"><span class="linenos">445</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">GT</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-446"><a href="#eval_boolean-446"><span class="linenos">446</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">></span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-447"><a href="#eval_boolean-447"><span class="linenos">447</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">GTE</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-448"><a href="#eval_boolean-448"><span class="linenos">448</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o">>=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-449"><a href="#eval_boolean-449"><span class="linenos">449</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">LT</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-450"><a href="#eval_boolean-450"><span class="linenos">450</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o"><</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-451"><a href="#eval_boolean-451"><span class="linenos">451</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">expression</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">LTE</span><span class="p">):</span>
|
||||
</span><span id="eval_boolean-452"><a href="#eval_boolean-452"><span class="linenos">452</span></a> <span class="k">return</span> <span class="n">boolean_literal</span><span class="p">(</span><span class="n">a</span> <span class="o"><=</span> <span class="n">b</span><span class="p">)</span>
|
||||
</span><span id="eval_boolean-453"><a href="#eval_boolean-453"><span class="linenos">453</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1238,16 +1310,16 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#extract_date"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_date-451"><a href="#extract_date-451"><span class="linenos">451</span></a><span class="k">def</span> <span class="nf">extract_date</span><span class="p">(</span><span class="n">cast</span><span class="p">):</span>
|
||||
</span><span id="extract_date-452"><a href="#extract_date-452"><span class="linenos">452</span></a> <span class="c1"># The "fromisoformat" conversion could fail if the cast is used on an identifier,</span>
|
||||
</span><span id="extract_date-453"><a href="#extract_date-453"><span class="linenos">453</span></a> <span class="c1"># so in that case we can't extract the date.</span>
|
||||
</span><span id="extract_date-454"><a href="#extract_date-454"><span class="linenos">454</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="extract_date-455"><a href="#extract_date-455"><span class="linenos">455</span></a> <span class="k">if</span> <span class="n">cast</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">"to"</span><span class="p">]</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">DATE</span><span class="p">:</span>
|
||||
</span><span id="extract_date-456"><a href="#extract_date-456"><span class="linenos">456</span></a> <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">cast</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="extract_date-457"><a href="#extract_date-457"><span class="linenos">457</span></a> <span class="k">if</span> <span class="n">cast</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">"to"</span><span class="p">]</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">:</span>
|
||||
</span><span id="extract_date-458"><a href="#extract_date-458"><span class="linenos">458</span></a> <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">cast</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="extract_date-459"><a href="#extract_date-459"><span class="linenos">459</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="extract_date-460"><a href="#extract_date-460"><span class="linenos">460</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_date-456"><a href="#extract_date-456"><span class="linenos">456</span></a><span class="k">def</span> <span class="nf">extract_date</span><span class="p">(</span><span class="n">cast</span><span class="p">):</span>
|
||||
</span><span id="extract_date-457"><a href="#extract_date-457"><span class="linenos">457</span></a> <span class="c1"># The "fromisoformat" conversion could fail if the cast is used on an identifier,</span>
|
||||
</span><span id="extract_date-458"><a href="#extract_date-458"><span class="linenos">458</span></a> <span class="c1"># so in that case we can't extract the date.</span>
|
||||
</span><span id="extract_date-459"><a href="#extract_date-459"><span class="linenos">459</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="extract_date-460"><a href="#extract_date-460"><span class="linenos">460</span></a> <span class="k">if</span> <span class="n">cast</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">"to"</span><span class="p">]</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">DATE</span><span class="p">:</span>
|
||||
</span><span id="extract_date-461"><a href="#extract_date-461"><span class="linenos">461</span></a> <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">cast</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="extract_date-462"><a href="#extract_date-462"><span class="linenos">462</span></a> <span class="k">if</span> <span class="n">cast</span><span class="o">.</span><span class="n">args</span><span class="p">[</span><span class="s2">"to"</span><span class="p">]</span><span class="o">.</span><span class="n">this</span> <span class="o">==</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">Type</span><span class="o">.</span><span class="n">DATETIME</span><span class="p">:</span>
|
||||
</span><span id="extract_date-463"><a href="#extract_date-463"><span class="linenos">463</span></a> <span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">cast</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="extract_date-464"><a href="#extract_date-464"><span class="linenos">464</span></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
</span><span id="extract_date-465"><a href="#extract_date-465"><span class="linenos">465</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1265,24 +1337,24 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#extract_interval"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_interval-463"><a href="#extract_interval-463"><span class="linenos">463</span></a><span class="k">def</span> <span class="nf">extract_interval</span><span class="p">(</span><span class="n">interval</span><span class="p">):</span>
|
||||
</span><span id="extract_interval-464"><a href="#extract_interval-464"><span class="linenos">464</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-465"><a href="#extract_interval-465"><span class="linenos">465</span></a> <span class="kn">from</span> <span class="nn">dateutil.relativedelta</span> <span class="kn">import</span> <span class="n">relativedelta</span> <span class="c1"># type: ignore</span>
|
||||
</span><span id="extract_interval-466"><a href="#extract_interval-466"><span class="linenos">466</span></a> <span class="k">except</span> <span class="ne">ModuleNotFoundError</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-467"><a href="#extract_interval-467"><span class="linenos">467</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="extract_interval-468"><a href="#extract_interval-468"><span class="linenos">468</span></a>
|
||||
</span><span id="extract_interval-469"><a href="#extract_interval-469"><span class="linenos">469</span></a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">interval</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-470"><a href="#extract_interval-470"><span class="linenos">470</span></a> <span class="n">unit</span> <span class="o">=</span> <span class="n">interval</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">"unit"</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
|
||||
</span><span id="extract_interval-471"><a href="#extract_interval-471"><span class="linenos">471</span></a>
|
||||
</span><span id="extract_interval-472"><a href="#extract_interval-472"><span class="linenos">472</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"year"</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-473"><a href="#extract_interval-473"><span class="linenos">473</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">years</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-474"><a href="#extract_interval-474"><span class="linenos">474</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"month"</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-475"><a href="#extract_interval-475"><span class="linenos">475</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">months</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-476"><a href="#extract_interval-476"><span class="linenos">476</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"week"</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-477"><a href="#extract_interval-477"><span class="linenos">477</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">weeks</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-478"><a href="#extract_interval-478"><span class="linenos">478</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"day"</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-479"><a href="#extract_interval-479"><span class="linenos">479</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-480"><a href="#extract_interval-480"><span class="linenos">480</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="extract_interval-468"><a href="#extract_interval-468"><span class="linenos">468</span></a><span class="k">def</span> <span class="nf">extract_interval</span><span class="p">(</span><span class="n">interval</span><span class="p">):</span>
|
||||
</span><span id="extract_interval-469"><a href="#extract_interval-469"><span class="linenos">469</span></a> <span class="k">try</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-470"><a href="#extract_interval-470"><span class="linenos">470</span></a> <span class="kn">from</span> <span class="nn">dateutil.relativedelta</span> <span class="kn">import</span> <span class="n">relativedelta</span> <span class="c1"># type: ignore</span>
|
||||
</span><span id="extract_interval-471"><a href="#extract_interval-471"><span class="linenos">471</span></a> <span class="k">except</span> <span class="ne">ModuleNotFoundError</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-472"><a href="#extract_interval-472"><span class="linenos">472</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="extract_interval-473"><a href="#extract_interval-473"><span class="linenos">473</span></a>
|
||||
</span><span id="extract_interval-474"><a href="#extract_interval-474"><span class="linenos">474</span></a> <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">interval</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-475"><a href="#extract_interval-475"><span class="linenos">475</span></a> <span class="n">unit</span> <span class="o">=</span> <span class="n">interval</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="s2">"unit"</span><span class="p">)</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
|
||||
</span><span id="extract_interval-476"><a href="#extract_interval-476"><span class="linenos">476</span></a>
|
||||
</span><span id="extract_interval-477"><a href="#extract_interval-477"><span class="linenos">477</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"year"</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-478"><a href="#extract_interval-478"><span class="linenos">478</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">years</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-479"><a href="#extract_interval-479"><span class="linenos">479</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"month"</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-480"><a href="#extract_interval-480"><span class="linenos">480</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">months</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-481"><a href="#extract_interval-481"><span class="linenos">481</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"week"</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-482"><a href="#extract_interval-482"><span class="linenos">482</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">weeks</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-483"><a href="#extract_interval-483"><span class="linenos">483</span></a> <span class="k">if</span> <span class="n">unit</span> <span class="o">==</span> <span class="s2">"day"</span><span class="p">:</span>
|
||||
</span><span id="extract_interval-484"><a href="#extract_interval-484"><span class="linenos">484</span></a> <span class="k">return</span> <span class="n">relativedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="n">n</span><span class="p">)</span>
|
||||
</span><span id="extract_interval-485"><a href="#extract_interval-485"><span class="linenos">485</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1300,11 +1372,11 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#date_literal"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="date_literal-483"><a href="#date_literal-483"><span class="linenos">483</span></a><span class="k">def</span> <span class="nf">date_literal</span><span class="p">(</span><span class="n">date</span><span class="p">):</span>
|
||||
</span><span id="date_literal-484"><a href="#date_literal-484"><span class="linenos">484</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span>
|
||||
</span><span id="date_literal-485"><a href="#date_literal-485"><span class="linenos">485</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">date</span><span class="p">),</span>
|
||||
</span><span id="date_literal-486"><a href="#date_literal-486"><span class="linenos">486</span></a> <span class="s2">"DATETIME"</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">date</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">)</span> <span class="k">else</span> <span class="s2">"DATE"</span><span class="p">,</span>
|
||||
</span><span id="date_literal-487"><a href="#date_literal-487"><span class="linenos">487</span></a> <span class="p">)</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="date_literal-488"><a href="#date_literal-488"><span class="linenos">488</span></a><span class="k">def</span> <span class="nf">date_literal</span><span class="p">(</span><span class="n">date</span><span class="p">):</span>
|
||||
</span><span id="date_literal-489"><a href="#date_literal-489"><span class="linenos">489</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span>
|
||||
</span><span id="date_literal-490"><a href="#date_literal-490"><span class="linenos">490</span></a> <span class="n">exp</span><span class="o">.</span><span class="n">Literal</span><span class="o">.</span><span class="n">string</span><span class="p">(</span><span class="n">date</span><span class="p">),</span>
|
||||
</span><span id="date_literal-491"><a href="#date_literal-491"><span class="linenos">491</span></a> <span class="s2">"DATETIME"</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">date</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">)</span> <span class="k">else</span> <span class="s2">"DATE"</span><span class="p">,</span>
|
||||
</span><span id="date_literal-492"><a href="#date_literal-492"><span class="linenos">492</span></a> <span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -1322,8 +1394,8 @@ elimination:
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#boolean_literal"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="boolean_literal-490"><a href="#boolean_literal-490"><span class="linenos">490</span></a><span class="k">def</span> <span class="nf">boolean_literal</span><span class="p">(</span><span class="n">condition</span><span class="p">):</span>
|
||||
</span><span id="boolean_literal-491"><a href="#boolean_literal-491"><span class="linenos">491</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">true</span><span class="p">()</span> <span class="k">if</span> <span class="n">condition</span> <span class="k">else</span> <span class="n">exp</span><span class="o">.</span><span class="n">false</span><span class="p">()</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="boolean_literal-495"><a href="#boolean_literal-495"><span class="linenos">495</span></a><span class="k">def</span> <span class="nf">boolean_literal</span><span class="p">(</span><span class="n">condition</span><span class="p">):</span>
|
||||
</span><span id="boolean_literal-496"><a href="#boolean_literal-496"><span class="linenos">496</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">true</span><span class="p">()</span> <span class="k">if</span> <span class="n">condition</span> <span class="k">else</span> <span class="n">exp</span><span class="o">.</span><span class="n">false</span><span class="p">()</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.optimizer.unnest_subqueries API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
18029
docs/sqlglot/parser.html
18029
docs/sqlglot/parser.html
File diff suppressed because one or more lines are too long
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.planner API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -36,6 +36,18 @@
|
|||
<li>
|
||||
<a class="function" href="#Plan.__init__">Plan</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Plan.expression">expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Plan.root">root</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Plan.dag">dag</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Plan.leaves">leaves</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -45,12 +57,36 @@
|
|||
<li>
|
||||
<a class="function" href="#Step.from_expression">from_expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Step.name">name</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Step.dependencies">dependencies</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Step.dependents">dependents</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Step.projections">projections</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Step.limit">limit</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Step.condition">condition</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Step.add_dependency">add_dependency</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Step.to_s">to_s</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Step.type_name">type_name</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Step.id">id</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -60,6 +96,9 @@
|
|||
<li>
|
||||
<a class="function" href="#Scan.from_expression">from_expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Scan.source">source</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -69,18 +108,36 @@
|
|||
<li>
|
||||
<a class="function" href="#Join.from_joins">from_joins</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Join.joins">joins</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a class="class" href="#Aggregate">Aggregate</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#Aggregate.aggregations">aggregations</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Aggregate.operands">operands</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Aggregate.group">group</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#Aggregate.source">source</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a class="class" href="#Sort">Sort</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#Sort.key">key</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -90,9 +147,24 @@
|
|||
<li>
|
||||
<a class="function" href="#SetOperation.__init__">SetOperation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SetOperation.op">op</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SetOperation.left">left</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SetOperation.right">right</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SetOperation.distinct">distinct</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#SetOperation.from_expression">from_expression</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#SetOperation.type_name">type_name</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -597,6 +669,50 @@
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Plan.expression" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">expression</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Plan.expression"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Plan.root" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">root</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Plan.root"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Plan.dag" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">dag</span><span class="annotation">: Dict[<a href="#Step">sqlglot.planner.Step</a>, Set[<a href="#Step">sqlglot.planner.Step</a>]]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Plan.dag"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Plan.leaves" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">leaves</span><span class="annotation">: Iterator[<a href="#Step">sqlglot.planner.Step</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Plan.leaves"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="Step">
|
||||
|
@ -1076,6 +1192,72 @@ Projections:</li>
|
|||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.name" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">name</span><span class="annotation">: Optional[str]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Step.name"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.dependencies" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">dependencies</span><span class="annotation">: Set[<a href="#Step">sqlglot.planner.Step</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Step.dependencies"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.dependents" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">dependents</span><span class="annotation">: Set[<a href="#Step">sqlglot.planner.Step</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Step.dependents"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.projections" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">projections</span><span class="annotation">: Sequence[<a href="expressions.html#Expression">sqlglot.expressions.Expression</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Step.projections"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.limit" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">limit</span><span class="annotation">: float</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Step.limit"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.condition" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">condition</span><span class="annotation">: Optional[<a href="expressions.html#Expression">sqlglot.expressions.Expression</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Step.condition"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.add_dependency" class="classattr">
|
||||
<input id="Step.add_dependency-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -1143,6 +1325,28 @@ Projections:</li>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.type_name" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">type_name</span><span class="annotation">: str</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Step.type_name"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Step.id" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">id</span><span class="annotation">: str</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Step.id"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="Scan">
|
||||
|
@ -1284,13 +1488,32 @@ Projections:</li>
|
|||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Scan.source" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">source</span><span class="annotation">: Optional[<a href="expressions.html#Expression">sqlglot.expressions.Expression</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Scan.source"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="inherited">
|
||||
<h5>Inherited Members</h5>
|
||||
<dl>
|
||||
<div><dt><a href="#Step">Step</a></dt>
|
||||
<dd id="Scan.add_dependency" class="function"><a href="#Step.add_dependency">add_dependency</a></dd>
|
||||
<dd id="Scan.name" class="variable"><a href="#Step.name">name</a></dd>
|
||||
<dd id="Scan.dependencies" class="variable"><a href="#Step.dependencies">dependencies</a></dd>
|
||||
<dd id="Scan.dependents" class="variable"><a href="#Step.dependents">dependents</a></dd>
|
||||
<dd id="Scan.projections" class="variable"><a href="#Step.projections">projections</a></dd>
|
||||
<dd id="Scan.limit" class="variable"><a href="#Step.limit">limit</a></dd>
|
||||
<dd id="Scan.condition" class="variable"><a href="#Step.condition">condition</a></dd>
|
||||
<dd id="Scan.add_dependency" class="function"><a href="#Step.add_dependency">add_dependency</a></dd>
|
||||
<dd id="Scan.to_s" class="function"><a href="#Step.to_s">to_s</a></dd>
|
||||
<dd id="Scan.type_name" class="variable"><a href="#Step.type_name">type_name</a></dd>
|
||||
<dd id="Scan.id" class="variable"><a href="#Step.id">id</a></dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -1378,14 +1601,33 @@ Projections:</li>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Join.joins" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">joins</span><span class="annotation">: Dict[str, Dict[str, Union[List[str], <a href="expressions.html#Expression">sqlglot.expressions.Expression</a>]]]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Join.joins"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="inherited">
|
||||
<h5>Inherited Members</h5>
|
||||
<dl>
|
||||
<div><dt><a href="#Step">Step</a></dt>
|
||||
<dd id="Join.from_expression" class="function"><a href="#Step.from_expression">from_expression</a></dd>
|
||||
<dd id="Join.name" class="variable"><a href="#Step.name">name</a></dd>
|
||||
<dd id="Join.dependencies" class="variable"><a href="#Step.dependencies">dependencies</a></dd>
|
||||
<dd id="Join.dependents" class="variable"><a href="#Step.dependents">dependents</a></dd>
|
||||
<dd id="Join.projections" class="variable"><a href="#Step.projections">projections</a></dd>
|
||||
<dd id="Join.limit" class="variable"><a href="#Step.limit">limit</a></dd>
|
||||
<dd id="Join.condition" class="variable"><a href="#Step.condition">condition</a></dd>
|
||||
<dd id="Join.add_dependency" class="function"><a href="#Step.add_dependency">add_dependency</a></dd>
|
||||
<dd id="Join.to_s" class="function"><a href="#Step.to_s">to_s</a></dd>
|
||||
<dd id="Join.type_name" class="variable"><a href="#Step.type_name">type_name</a></dd>
|
||||
<dd id="Join.id" class="variable"><a href="#Step.id">id</a></dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -1434,13 +1676,65 @@ Projections:</li>
|
|||
|
||||
|
||||
|
||||
<div id="Aggregate.aggregations" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">aggregations</span><span class="annotation">: List[<a href="expressions.html#Expression">sqlglot.expressions.Expression</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Aggregate.aggregations"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Aggregate.operands" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">operands</span><span class="annotation">: Tuple[<a href="expressions.html#Expression">sqlglot.expressions.Expression</a>, ...]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Aggregate.operands"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Aggregate.group" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">group</span><span class="annotation">: Dict[str, <a href="expressions.html#Expression">sqlglot.expressions.Expression</a>]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Aggregate.group"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Aggregate.source" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">source</span><span class="annotation">: Optional[str]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Aggregate.source"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="inherited">
|
||||
<h5>Inherited Members</h5>
|
||||
<dl>
|
||||
<div><dt><a href="#Step">Step</a></dt>
|
||||
<dd id="Aggregate.from_expression" class="function"><a href="#Step.from_expression">from_expression</a></dd>
|
||||
<dd id="Aggregate.name" class="variable"><a href="#Step.name">name</a></dd>
|
||||
<dd id="Aggregate.dependencies" class="variable"><a href="#Step.dependencies">dependencies</a></dd>
|
||||
<dd id="Aggregate.dependents" class="variable"><a href="#Step.dependents">dependents</a></dd>
|
||||
<dd id="Aggregate.projections" class="variable"><a href="#Step.projections">projections</a></dd>
|
||||
<dd id="Aggregate.limit" class="variable"><a href="#Step.limit">limit</a></dd>
|
||||
<dd id="Aggregate.condition" class="variable"><a href="#Step.condition">condition</a></dd>
|
||||
<dd id="Aggregate.add_dependency" class="function"><a href="#Step.add_dependency">add_dependency</a></dd>
|
||||
<dd id="Aggregate.to_s" class="function"><a href="#Step.to_s">to_s</a></dd>
|
||||
<dd id="Aggregate.type_name" class="variable"><a href="#Step.type_name">type_name</a></dd>
|
||||
<dd id="Aggregate.id" class="variable"><a href="#Step.id">id</a></dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -1474,13 +1768,32 @@ Projections:</li>
|
|||
|
||||
|
||||
|
||||
<div id="Sort.key" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">key</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Sort.key"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="inherited">
|
||||
<h5>Inherited Members</h5>
|
||||
<dl>
|
||||
<div><dt><a href="#Step">Step</a></dt>
|
||||
<dd id="Sort.from_expression" class="function"><a href="#Step.from_expression">from_expression</a></dd>
|
||||
<dd id="Sort.name" class="variable"><a href="#Step.name">name</a></dd>
|
||||
<dd id="Sort.dependencies" class="variable"><a href="#Step.dependencies">dependencies</a></dd>
|
||||
<dd id="Sort.dependents" class="variable"><a href="#Step.dependents">dependents</a></dd>
|
||||
<dd id="Sort.projections" class="variable"><a href="#Step.projections">projections</a></dd>
|
||||
<dd id="Sort.limit" class="variable"><a href="#Step.limit">limit</a></dd>
|
||||
<dd id="Sort.condition" class="variable"><a href="#Step.condition">condition</a></dd>
|
||||
<dd id="Sort.add_dependency" class="function"><a href="#Step.add_dependency">add_dependency</a></dd>
|
||||
<dd id="Sort.to_s" class="function"><a href="#Step.to_s">to_s</a></dd>
|
||||
<dd id="Sort.type_name" class="variable"><a href="#Step.type_name">type_name</a></dd>
|
||||
<dd id="Sort.id" class="variable"><a href="#Step.id">id</a></dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
@ -1569,6 +1882,50 @@ Projections:</li>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SetOperation.op" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">op</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SetOperation.op"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SetOperation.left" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">left</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SetOperation.left"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SetOperation.right" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">right</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SetOperation.right"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SetOperation.distinct" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">distinct</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SetOperation.distinct"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SetOperation.from_expression" class="classattr">
|
||||
<input id="SetOperation.from_expression-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -1661,13 +2018,31 @@ Projections:</li>
|
|||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="SetOperation.type_name" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">type_name</span><span class="annotation">: str</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#SetOperation.type_name"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="inherited">
|
||||
<h5>Inherited Members</h5>
|
||||
<dl>
|
||||
<div><dt><a href="#Step">Step</a></dt>
|
||||
<dd id="SetOperation.add_dependency" class="function"><a href="#Step.add_dependency">add_dependency</a></dd>
|
||||
<dd id="SetOperation.name" class="variable"><a href="#Step.name">name</a></dd>
|
||||
<dd id="SetOperation.dependencies" class="variable"><a href="#Step.dependencies">dependencies</a></dd>
|
||||
<dd id="SetOperation.dependents" class="variable"><a href="#Step.dependents">dependents</a></dd>
|
||||
<dd id="SetOperation.projections" class="variable"><a href="#Step.projections">projections</a></dd>
|
||||
<dd id="SetOperation.limit" class="variable"><a href="#Step.limit">limit</a></dd>
|
||||
<dd id="SetOperation.condition" class="variable"><a href="#Step.condition">condition</a></dd>
|
||||
<dd id="SetOperation.add_dependency" class="function"><a href="#Step.add_dependency">add_dependency</a></dd>
|
||||
<dd id="SetOperation.to_s" class="function"><a href="#Step.to_s">to_s</a></dd>
|
||||
<dd id="SetOperation.id" class="variable"><a href="#Step.id">id</a></dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.schema API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -30,9 +30,15 @@
|
|||
|
||||
<h2>API Documentation</h2>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#TABLE_ARGS">TABLE_ARGS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="class" href="#Schema">Schema</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#Schema.dialect">dialect</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#Schema.add_table">add_table</a>
|
||||
</li>
|
||||
|
@ -57,6 +63,18 @@
|
|||
<li>
|
||||
<a class="function" href="#AbstractMappingSchema.__init__">AbstractMappingSchema</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#AbstractMappingSchema.mapping">mapping</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#AbstractMappingSchema.mapping_trie">mapping_trie</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#AbstractMappingSchema.empty">empty</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#AbstractMappingSchema.supported_table_args">supported_table_args</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#AbstractMappingSchema.table_parts">table_parts</a>
|
||||
</li>
|
||||
|
@ -75,21 +93,18 @@
|
|||
<li>
|
||||
<a class="function" href="#MappingSchema.__init__">MappingSchema</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#MappingSchema.visible">visible</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#MappingSchema.normalize">normalize</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#MappingSchema.from_mapping_schema">from_mapping_schema</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#MappingSchema.copy">copy</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#MappingSchema.add_table">add_table</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#MappingSchema.column_names">column_names</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#MappingSchema.get_column_type">get_column_type</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
@ -142,7 +157,7 @@
|
|||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</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><span id="L-10"><a href="#L-10"><span class="linenos"> 10</span></a><span class="kn">from</span> <span class="nn">sqlglot.errors</span> <span class="kn">import</span> <span class="n">ParseError</span><span class="p">,</span> <span class="n">SchemaError</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.helper</span> <span class="kn">import</span> <span class="n">dict_depth</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.trie</span> <span class="kn">import</span> <span class="n">in_trie</span><span class="p">,</span> <span class="n">new_trie</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.trie</span> <span class="kn">import</span> <span class="n">TrieResult</span><span class="p">,</span> <span class="n">in_trie</span><span class="p">,</span> <span class="n">new_trie</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos"> 13</span></a>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos"> 14</span></a><span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">TYPE_CHECKING</span><span class="p">:</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos"> 15</span></a> <span class="kn">from</span> <span class="nn">sqlglot.dataframe.sql.types</span> <span class="kn">import</span> <span class="n">StructType</span>
|
||||
|
@ -268,10 +283,10 @@
|
|||
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="n">parts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table_parts</span><span class="p">(</span><span class="n">table</span><span class="p">)[</span><span class="mi">0</span> <span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">supported_table_args</span><span class="p">)]</span>
|
||||
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="n">value</span><span class="p">,</span> <span class="n">trie</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapping_trie</span> <span class="k">if</span> <span class="n">trie</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">trie</span><span class="p">,</span> <span class="n">parts</span><span class="p">)</span>
|
||||
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a>
|
||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
|
||||
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a>
|
||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span><span class="p">:</span>
|
||||
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a> <span class="n">possibilities</span> <span class="o">=</span> <span class="n">flatten_schema</span><span class="p">(</span><span class="n">trie</span><span class="p">,</span> <span class="n">depth</span><span class="o">=</span><span class="n">dict_depth</span><span class="p">(</span><span class="n">trie</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a>
|
||||
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">possibilities</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
|
@ -618,6 +633,18 @@
|
|||
|
||||
|
||||
</section>
|
||||
<section id="TABLE_ARGS">
|
||||
<div class="attr variable">
|
||||
<span class="name">TABLE_ARGS</span> =
|
||||
<span class="default_value">('this', 'db', 'catalog')</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#TABLE_ARGS"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="Schema">
|
||||
<input id="Schema-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr class">
|
||||
|
@ -706,6 +733,17 @@
|
|||
</div>
|
||||
|
||||
|
||||
<div id="Schema.dialect" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">dialect</span><span class="annotation">: Union[str, <a href="dialects/dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a>, Type[<a href="dialects/dialect.html#Dialect">sqlglot.dialects.dialect.Dialect</a>], NoneType]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#Schema.dialect"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="Schema.add_table" class="classattr">
|
||||
<input id="Schema.add_table-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
@ -934,10 +972,10 @@
|
|||
</span><span id="AbstractMappingSchema-136"><a href="#AbstractMappingSchema-136"><span class="linenos">136</span></a> <span class="n">parts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table_parts</span><span class="p">(</span><span class="n">table</span><span class="p">)[</span><span class="mi">0</span> <span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">supported_table_args</span><span class="p">)]</span>
|
||||
</span><span id="AbstractMappingSchema-137"><a href="#AbstractMappingSchema-137"><span class="linenos">137</span></a> <span class="n">value</span><span class="p">,</span> <span class="n">trie</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapping_trie</span> <span class="k">if</span> <span class="n">trie</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">trie</span><span class="p">,</span> <span class="n">parts</span><span class="p">)</span>
|
||||
</span><span id="AbstractMappingSchema-138"><a href="#AbstractMappingSchema-138"><span class="linenos">138</span></a>
|
||||
</span><span id="AbstractMappingSchema-139"><a href="#AbstractMappingSchema-139"><span class="linenos">139</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="AbstractMappingSchema-139"><a href="#AbstractMappingSchema-139"><span class="linenos">139</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
|
||||
</span><span id="AbstractMappingSchema-140"><a href="#AbstractMappingSchema-140"><span class="linenos">140</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="AbstractMappingSchema-141"><a href="#AbstractMappingSchema-141"><span class="linenos">141</span></a>
|
||||
</span><span id="AbstractMappingSchema-142"><a href="#AbstractMappingSchema-142"><span class="linenos">142</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="AbstractMappingSchema-142"><a href="#AbstractMappingSchema-142"><span class="linenos">142</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span><span class="p">:</span>
|
||||
</span><span id="AbstractMappingSchema-143"><a href="#AbstractMappingSchema-143"><span class="linenos">143</span></a> <span class="n">possibilities</span> <span class="o">=</span> <span class="n">flatten_schema</span><span class="p">(</span><span class="n">trie</span><span class="p">,</span> <span class="n">depth</span><span class="o">=</span><span class="n">dict_depth</span><span class="p">(</span><span class="n">trie</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||
</span><span id="AbstractMappingSchema-144"><a href="#AbstractMappingSchema-144"><span class="linenos">144</span></a>
|
||||
</span><span id="AbstractMappingSchema-145"><a href="#AbstractMappingSchema-145"><span class="linenos">145</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">possibilities</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
|
@ -1006,6 +1044,50 @@ For example, a generic mapping type might be defined as::</p>
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="AbstractMappingSchema.mapping" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">mapping</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#AbstractMappingSchema.mapping"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="AbstractMappingSchema.mapping_trie" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">mapping_trie</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#AbstractMappingSchema.mapping_trie"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="AbstractMappingSchema.empty" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">empty</span><span class="annotation">: bool</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#AbstractMappingSchema.empty"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="AbstractMappingSchema.supported_table_args" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">supported_table_args</span><span class="annotation">: Tuple[str, ...]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#AbstractMappingSchema.supported_table_args"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="AbstractMappingSchema.table_parts" class="classattr">
|
||||
<input id="AbstractMappingSchema.table_parts-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -1045,10 +1127,10 @@ For example, a generic mapping type might be defined as::</p>
|
|||
</span><span id="AbstractMappingSchema.find-136"><a href="#AbstractMappingSchema.find-136"><span class="linenos">136</span></a> <span class="n">parts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table_parts</span><span class="p">(</span><span class="n">table</span><span class="p">)[</span><span class="mi">0</span> <span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">supported_table_args</span><span class="p">)]</span>
|
||||
</span><span id="AbstractMappingSchema.find-137"><a href="#AbstractMappingSchema.find-137"><span class="linenos">137</span></a> <span class="n">value</span><span class="p">,</span> <span class="n">trie</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapping_trie</span> <span class="k">if</span> <span class="n">trie</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">trie</span><span class="p">,</span> <span class="n">parts</span><span class="p">)</span>
|
||||
</span><span id="AbstractMappingSchema.find-138"><a href="#AbstractMappingSchema.find-138"><span class="linenos">138</span></a>
|
||||
</span><span id="AbstractMappingSchema.find-139"><a href="#AbstractMappingSchema.find-139"><span class="linenos">139</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="AbstractMappingSchema.find-139"><a href="#AbstractMappingSchema.find-139"><span class="linenos">139</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
|
||||
</span><span id="AbstractMappingSchema.find-140"><a href="#AbstractMappingSchema.find-140"><span class="linenos">140</span></a> <span class="k">return</span> <span class="kc">None</span>
|
||||
</span><span id="AbstractMappingSchema.find-141"><a href="#AbstractMappingSchema.find-141"><span class="linenos">141</span></a>
|
||||
</span><span id="AbstractMappingSchema.find-142"><a href="#AbstractMappingSchema.find-142"><span class="linenos">142</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
</span><span id="AbstractMappingSchema.find-142"><a href="#AbstractMappingSchema.find-142"><span class="linenos">142</span></a> <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span><span class="p">:</span>
|
||||
</span><span id="AbstractMappingSchema.find-143"><a href="#AbstractMappingSchema.find-143"><span class="linenos">143</span></a> <span class="n">possibilities</span> <span class="o">=</span> <span class="n">flatten_schema</span><span class="p">(</span><span class="n">trie</span><span class="p">,</span> <span class="n">depth</span><span class="o">=</span><span class="n">dict_depth</span><span class="p">(</span><span class="n">trie</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
|
||||
</span><span id="AbstractMappingSchema.find-144"><a href="#AbstractMappingSchema.find-144"><span class="linenos">144</span></a>
|
||||
</span><span id="AbstractMappingSchema.find-145"><a href="#AbstractMappingSchema.find-145"><span class="linenos">145</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">possibilities</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
|
||||
|
@ -1374,6 +1456,28 @@ are assumed to be visible. The nesting should mirror that of the schema:
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="MappingSchema.visible" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">visible</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#MappingSchema.visible"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="MappingSchema.normalize" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">normalize</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#MappingSchema.normalize"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="MappingSchema.from_mapping_schema" class="classattr">
|
||||
<input id="MappingSchema.from_mapping_schema-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
|
@ -1425,178 +1529,22 @@ are assumed to be visible. The nesting should mirror that of the schema:
|
|||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="MappingSchema.add_table" class="classattr">
|
||||
<input id="MappingSchema.add_table-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">add_table</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">column_mapping</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="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">types</span><span class="o">.</span><span class="n">StructType</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">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="return-annotation">) -> <span class="kc">None</span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="MappingSchema.add_table-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#MappingSchema.add_table"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="MappingSchema.add_table-216"><a href="#MappingSchema.add_table-216"><span class="linenos">216</span></a> <span class="k">def</span> <span class="nf">add_table</span><span class="p">(</span>
|
||||
</span><span id="MappingSchema.add_table-217"><a href="#MappingSchema.add_table-217"><span class="linenos">217</span></a> <span class="bp">self</span><span class="p">,</span>
|
||||
</span><span id="MappingSchema.add_table-218"><a href="#MappingSchema.add_table-218"><span class="linenos">218</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">Table</span> <span class="o">|</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="MappingSchema.add_table-219"><a href="#MappingSchema.add_table-219"><span class="linenos">219</span></a> <span class="n">column_mapping</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Optional</span><span class="p">[</span><span class="n">ColumnMapping</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||||
</span><span id="MappingSchema.add_table-220"><a href="#MappingSchema.add_table-220"><span class="linenos">220</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="MappingSchema.add_table-221"><a href="#MappingSchema.add_table-221"><span class="linenos">221</span></a> <span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="MappingSchema.add_table-222"><a href="#MappingSchema.add_table-222"><span class="linenos">222</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="MappingSchema.add_table-223"><a href="#MappingSchema.add_table-223"><span class="linenos">223</span></a><span class="sd"> Register or update a table. Updates are only performed if a new column mapping is provided.</span>
|
||||
</span><span id="MappingSchema.add_table-224"><a href="#MappingSchema.add_table-224"><span class="linenos">224</span></a>
|
||||
</span><span id="MappingSchema.add_table-225"><a href="#MappingSchema.add_table-225"><span class="linenos">225</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="MappingSchema.add_table-226"><a href="#MappingSchema.add_table-226"><span class="linenos">226</span></a><span class="sd"> table: the `Table` expression instance or string representing the table.</span>
|
||||
</span><span id="MappingSchema.add_table-227"><a href="#MappingSchema.add_table-227"><span class="linenos">227</span></a><span class="sd"> column_mapping: a column mapping that describes the structure of the table.</span>
|
||||
</span><span id="MappingSchema.add_table-228"><a href="#MappingSchema.add_table-228"><span class="linenos">228</span></a><span class="sd"> dialect: the SQL dialect that will be used to parse `table` if it's a string.</span>
|
||||
</span><span id="MappingSchema.add_table-229"><a href="#MappingSchema.add_table-229"><span class="linenos">229</span></a><span class="sd"> """</span>
|
||||
</span><span id="MappingSchema.add_table-230"><a href="#MappingSchema.add_table-230"><span class="linenos">230</span></a> <span class="n">normalized_table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_normalize_table</span><span class="p">(</span>
|
||||
</span><span id="MappingSchema.add_table-231"><a href="#MappingSchema.add_table-231"><span class="linenos">231</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_ensure_table</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">),</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span>
|
||||
</span><span id="MappingSchema.add_table-232"><a href="#MappingSchema.add_table-232"><span class="linenos">232</span></a> <span class="p">)</span>
|
||||
</span><span id="MappingSchema.add_table-233"><a href="#MappingSchema.add_table-233"><span class="linenos">233</span></a> <span class="n">normalized_column_mapping</span> <span class="o">=</span> <span class="p">{</span>
|
||||
</span><span id="MappingSchema.add_table-234"><a href="#MappingSchema.add_table-234"><span class="linenos">234</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_normalize_name</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">):</span> <span class="n">value</span>
|
||||
</span><span id="MappingSchema.add_table-235"><a href="#MappingSchema.add_table-235"><span class="linenos">235</span></a> <span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">ensure_column_mapping</span><span class="p">(</span><span class="n">column_mapping</span><span class="p">)</span><span class="o">.</span><span class="n">items</span><span class="p">()</span>
|
||||
</span><span id="MappingSchema.add_table-236"><a href="#MappingSchema.add_table-236"><span class="linenos">236</span></a> <span class="p">}</span>
|
||||
</span><span id="MappingSchema.add_table-237"><a href="#MappingSchema.add_table-237"><span class="linenos">237</span></a>
|
||||
</span><span id="MappingSchema.add_table-238"><a href="#MappingSchema.add_table-238"><span class="linenos">238</span></a> <span class="n">schema</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">normalized_table</span><span class="p">,</span> <span class="n">raise_on_missing</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||
</span><span id="MappingSchema.add_table-239"><a href="#MappingSchema.add_table-239"><span class="linenos">239</span></a> <span class="k">if</span> <span class="n">schema</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">normalized_column_mapping</span><span class="p">:</span>
|
||||
</span><span id="MappingSchema.add_table-240"><a href="#MappingSchema.add_table-240"><span class="linenos">240</span></a> <span class="k">return</span>
|
||||
</span><span id="MappingSchema.add_table-241"><a href="#MappingSchema.add_table-241"><span class="linenos">241</span></a>
|
||||
</span><span id="MappingSchema.add_table-242"><a href="#MappingSchema.add_table-242"><span class="linenos">242</span></a> <span class="n">parts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">table_parts</span><span class="p">(</span><span class="n">normalized_table</span><span class="p">)</span>
|
||||
</span><span id="MappingSchema.add_table-243"><a href="#MappingSchema.add_table-243"><span class="linenos">243</span></a>
|
||||
</span><span id="MappingSchema.add_table-244"><a href="#MappingSchema.add_table-244"><span class="linenos">244</span></a> <span class="n">nested_set</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">mapping</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">(</span><span class="nb">reversed</span><span class="p">(</span><span class="n">parts</span><span class="p">)),</span> <span class="n">normalized_column_mapping</span><span class="p">)</span>
|
||||
</span><span id="MappingSchema.add_table-245"><a href="#MappingSchema.add_table-245"><span class="linenos">245</span></a> <span class="n">new_trie</span><span class="p">([</span><span class="n">parts</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">mapping_trie</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
<div class="docstring"><p>Register or update a table. Updates are only performed if a new column mapping is provided.</p>
|
||||
|
||||
<h6 id="arguments">Arguments:</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>table:</strong> the <code>Table</code> expression instance or string representing the table.</li>
|
||||
<li><strong>column_mapping:</strong> a column mapping that describes the structure of the table.</li>
|
||||
<li><strong>dialect:</strong> the SQL dialect that will be used to parse <code>table</code> if it's a string.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="MappingSchema.column_names" class="classattr">
|
||||
<input id="MappingSchema.column_names-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">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="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="MappingSchema.column_names-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#MappingSchema.column_names"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="MappingSchema.column_names-247"><a href="#MappingSchema.column_names-247"><span class="linenos">247</span></a> <span class="k">def</span> <span class="nf">column_names</span><span class="p">(</span>
|
||||
</span><span id="MappingSchema.column_names-248"><a href="#MappingSchema.column_names-248"><span class="linenos">248</span></a> <span class="bp">self</span><span class="p">,</span>
|
||||
</span><span id="MappingSchema.column_names-249"><a href="#MappingSchema.column_names-249"><span class="linenos">249</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">Table</span> <span class="o">|</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="MappingSchema.column_names-250"><a href="#MappingSchema.column_names-250"><span class="linenos">250</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="MappingSchema.column_names-251"><a href="#MappingSchema.column_names-251"><span class="linenos">251</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="MappingSchema.column_names-252"><a href="#MappingSchema.column_names-252"><span class="linenos">252</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="MappingSchema.column_names-253"><a href="#MappingSchema.column_names-253"><span class="linenos">253</span></a> <span class="n">normalized_table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_normalize_table</span><span class="p">(</span>
|
||||
</span><span id="MappingSchema.column_names-254"><a href="#MappingSchema.column_names-254"><span class="linenos">254</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_ensure_table</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">),</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span>
|
||||
</span><span id="MappingSchema.column_names-255"><a href="#MappingSchema.column_names-255"><span class="linenos">255</span></a> <span class="p">)</span>
|
||||
</span><span id="MappingSchema.column_names-256"><a href="#MappingSchema.column_names-256"><span class="linenos">256</span></a>
|
||||
</span><span id="MappingSchema.column_names-257"><a href="#MappingSchema.column_names-257"><span class="linenos">257</span></a> <span class="n">schema</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">normalized_table</span><span class="p">)</span>
|
||||
</span><span id="MappingSchema.column_names-258"><a href="#MappingSchema.column_names-258"><span class="linenos">258</span></a> <span class="k">if</span> <span class="n">schema</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
</span><span id="MappingSchema.column_names-259"><a href="#MappingSchema.column_names-259"><span class="linenos">259</span></a> <span class="k">return</span> <span class="p">[]</span>
|
||||
</span><span id="MappingSchema.column_names-260"><a href="#MappingSchema.column_names-260"><span class="linenos">260</span></a>
|
||||
</span><span id="MappingSchema.column_names-261"><a href="#MappingSchema.column_names-261"><span class="linenos">261</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">only_visible</span> <span class="ow">or</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">visible</span><span class="p">:</span>
|
||||
</span><span id="MappingSchema.column_names-262"><a href="#MappingSchema.column_names-262"><span class="linenos">262</span></a> <span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="n">schema</span><span class="p">)</span>
|
||||
</span><span id="MappingSchema.column_names-263"><a href="#MappingSchema.column_names-263"><span class="linenos">263</span></a>
|
||||
</span><span id="MappingSchema.column_names-264"><a href="#MappingSchema.column_names-264"><span class="linenos">264</span></a> <span class="n">visible</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">nested_get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">table_parts</span><span class="p">(</span><span class="n">normalized_table</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">visible</span><span class="p">)</span> <span class="ow">or</span> <span class="p">[]</span>
|
||||
</span><span id="MappingSchema.column_names-265"><a href="#MappingSchema.column_names-265"><span class="linenos">265</span></a> <span class="k">return</span> <span class="p">[</span><span class="n">col</span> <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">schema</span> <span class="k">if</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">visible</span><span class="p">]</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
<div class="docstring"><p>Get the column names for a table.</p>
|
||||
|
||||
<h6 id="arguments">Arguments:</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>table:</strong> the <code>Table</code> expression instance.</li>
|
||||
<li><strong>only_visible:</strong> whether to include invisible columns.</li>
|
||||
<li><strong>dialect:</strong> the SQL dialect that will be used to parse <code>table</code> if it's a string.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="returns">Returns:</h6>
|
||||
|
||||
<blockquote>
|
||||
<p>The list of column names.</p>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="MappingSchema.get_column_type" class="classattr">
|
||||
<input id="MappingSchema.get_column_type-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">get_column_type</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">column</span><span class="p">:</span> <span class="n"><a href="expressions.html#Column">sqlglot.expressions.Column</a></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="return-annotation">) -> <span class="n"><a href="expressions.html#DataType">sqlglot.expressions.DataType</a></span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="MappingSchema.get_column_type-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#MappingSchema.get_column_type"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="MappingSchema.get_column_type-267"><a href="#MappingSchema.get_column_type-267"><span class="linenos">267</span></a> <span class="k">def</span> <span class="nf">get_column_type</span><span class="p">(</span>
|
||||
</span><span id="MappingSchema.get_column_type-268"><a href="#MappingSchema.get_column_type-268"><span class="linenos">268</span></a> <span class="bp">self</span><span class="p">,</span>
|
||||
</span><span id="MappingSchema.get_column_type-269"><a href="#MappingSchema.get_column_type-269"><span class="linenos">269</span></a> <span class="n">table</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">Table</span> <span class="o">|</span> <span class="nb">str</span><span class="p">,</span>
|
||||
</span><span id="MappingSchema.get_column_type-270"><a href="#MappingSchema.get_column_type-270"><span class="linenos">270</span></a> <span class="n">column</span><span class="p">:</span> <span class="n">exp</span><span class="o">.</span><span class="n">Column</span><span class="p">,</span>
|
||||
</span><span id="MappingSchema.get_column_type-271"><a href="#MappingSchema.get_column_type-271"><span class="linenos">271</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="MappingSchema.get_column_type-272"><a href="#MappingSchema.get_column_type-272"><span class="linenos">272</span></a> <span class="p">)</span> <span class="o">-></span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="p">:</span>
|
||||
</span><span id="MappingSchema.get_column_type-273"><a href="#MappingSchema.get_column_type-273"><span class="linenos">273</span></a> <span class="n">normalized_table</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_normalize_table</span><span class="p">(</span>
|
||||
</span><span id="MappingSchema.get_column_type-274"><a href="#MappingSchema.get_column_type-274"><span class="linenos">274</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_ensure_table</span><span class="p">(</span><span class="n">table</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">),</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span>
|
||||
</span><span id="MappingSchema.get_column_type-275"><a href="#MappingSchema.get_column_type-275"><span class="linenos">275</span></a> <span class="p">)</span>
|
||||
</span><span id="MappingSchema.get_column_type-276"><a href="#MappingSchema.get_column_type-276"><span class="linenos">276</span></a> <span class="n">normalized_column_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_normalize_name</span><span class="p">(</span>
|
||||
</span><span id="MappingSchema.get_column_type-277"><a href="#MappingSchema.get_column_type-277"><span class="linenos">277</span></a> <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">this</span><span class="p">,</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span>
|
||||
</span><span id="MappingSchema.get_column_type-278"><a href="#MappingSchema.get_column_type-278"><span class="linenos">278</span></a> <span class="p">)</span>
|
||||
</span><span id="MappingSchema.get_column_type-279"><a href="#MappingSchema.get_column_type-279"><span class="linenos">279</span></a>
|
||||
</span><span id="MappingSchema.get_column_type-280"><a href="#MappingSchema.get_column_type-280"><span class="linenos">280</span></a> <span class="n">table_schema</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">normalized_table</span><span class="p">,</span> <span class="n">raise_on_missing</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
|
||||
</span><span id="MappingSchema.get_column_type-281"><a href="#MappingSchema.get_column_type-281"><span class="linenos">281</span></a> <span class="k">if</span> <span class="n">table_schema</span><span class="p">:</span>
|
||||
</span><span id="MappingSchema.get_column_type-282"><a href="#MappingSchema.get_column_type-282"><span class="linenos">282</span></a> <span class="n">column_type</span> <span class="o">=</span> <span class="n">table_schema</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">normalized_column_name</span><span class="p">)</span>
|
||||
</span><span id="MappingSchema.get_column_type-283"><a href="#MappingSchema.get_column_type-283"><span class="linenos">283</span></a>
|
||||
</span><span id="MappingSchema.get_column_type-284"><a href="#MappingSchema.get_column_type-284"><span class="linenos">284</span></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">column_type</span><span class="p">,</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="p">):</span>
|
||||
</span><span id="MappingSchema.get_column_type-285"><a href="#MappingSchema.get_column_type-285"><span class="linenos">285</span></a> <span class="k">return</span> <span class="n">column_type</span>
|
||||
</span><span id="MappingSchema.get_column_type-286"><a href="#MappingSchema.get_column_type-286"><span class="linenos">286</span></a> <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">column_type</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
|
||||
</span><span id="MappingSchema.get_column_type-287"><a href="#MappingSchema.get_column_type-287"><span class="linenos">287</span></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_to_data_type</span><span class="p">(</span><span class="n">column_type</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">dialect</span><span class="o">=</span><span class="n">dialect</span><span class="p">)</span>
|
||||
</span><span id="MappingSchema.get_column_type-288"><a href="#MappingSchema.get_column_type-288"><span class="linenos">288</span></a>
|
||||
</span><span id="MappingSchema.get_column_type-289"><a href="#MappingSchema.get_column_type-289"><span class="linenos">289</span></a> <span class="k">return</span> <span class="n">exp</span><span class="o">.</span><span class="n">DataType</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="s2">"unknown"</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
<div class="docstring"><p>Get the <code>sqlglot.exp.DataType</code> type of a column in the schema.</p>
|
||||
|
||||
<h6 id="arguments">Arguments:</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>table:</strong> the source table.</li>
|
||||
<li><strong>column:</strong> the target column.</li>
|
||||
<li><strong>dialect:</strong> the SQL dialect that will be used to parse <code>table</code> if it's a string.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="returns">Returns:</h6>
|
||||
|
||||
<blockquote>
|
||||
<p>The resulting column type.</p>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="inherited">
|
||||
<h5>Inherited Members</h5>
|
||||
<dl>
|
||||
<div><dt><a href="#AbstractMappingSchema">AbstractMappingSchema</a></dt>
|
||||
<dd id="MappingSchema.empty" class="variable"><a href="#AbstractMappingSchema.empty">empty</a></dd>
|
||||
<dd id="MappingSchema.supported_table_args" class="variable"><a href="#AbstractMappingSchema.supported_table_args">supported_table_args</a></dd>
|
||||
<div><dt><a href="#Schema">Schema</a></dt>
|
||||
<dd id="MappingSchema.dialect" class="variable"><a href="#Schema.dialect">dialect</a></dd>
|
||||
<dd id="MappingSchema.add_table" class="function"><a href="#Schema.add_table">add_table</a></dd>
|
||||
<dd id="MappingSchema.column_names" class="function"><a href="#Schema.column_names">column_names</a></dd>
|
||||
<dd id="MappingSchema.get_column_type" class="function"><a href="#Schema.get_column_type">get_column_type</a></dd>
|
||||
<dd id="MappingSchema.supported_table_args" class="variable"><a href="#Schema.supported_table_args">supported_table_args</a></dd>
|
||||
<dd id="MappingSchema.empty" class="variable"><a href="#Schema.empty">empty</a></dd>
|
||||
|
||||
</div>
|
||||
<div><dt><a href="#AbstractMappingSchema">AbstractMappingSchema</a></dt>
|
||||
<dd id="MappingSchema.mapping" class="variable"><a href="#AbstractMappingSchema.mapping">mapping</a></dd>
|
||||
<dd id="MappingSchema.mapping_trie" class="variable"><a href="#AbstractMappingSchema.mapping_trie">mapping_trie</a></dd>
|
||||
<dd id="MappingSchema.table_parts" class="function"><a href="#AbstractMappingSchema.table_parts">table_parts</a></dd>
|
||||
<dd id="MappingSchema.find" class="function"><a href="#AbstractMappingSchema.find">find</a></dd>
|
||||
<dd id="MappingSchema.nested_get" class="function"><a href="#AbstractMappingSchema.nested_get">nested_get</a></dd>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.serde API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.time API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -60,7 +60,7 @@
|
|||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="c1"># The generic time format is based on python time.strftime.</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="c1"># https://docs.python.org/3/library/time.html#time.strftime</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">from</span> <span class="nn">sqlglot.trie</span> <span class="kn">import</span> <span class="n">in_trie</span><span class="p">,</span> <span class="n">new_trie</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a><span class="kn">from</span> <span class="nn">sqlglot.trie</span> <span class="kn">import</span> <span class="n">TrieResult</span><span class="p">,</span> <span class="n">in_trie</span><span class="p">,</span> <span class="n">new_trie</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="k">def</span> <span class="nf">format_time</span><span class="p">(</span>
|
||||
|
@ -95,7 +95,7 @@
|
|||
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="n">chars</span> <span class="o">=</span> <span class="n">string</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span>
|
||||
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="n">result</span><span class="p">,</span> <span class="n">current</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="n">current</span><span class="p">,</span> <span class="n">chars</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
||||
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a>
|
||||
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
|
||||
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a> <span class="k">if</span> <span class="n">sym</span><span class="p">:</span>
|
||||
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a> <span class="n">end</span> <span class="o">-=</span> <span class="mi">1</span>
|
||||
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="n">chars</span> <span class="o">=</span> <span class="n">sym</span>
|
||||
|
@ -103,14 +103,15 @@
|
|||
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a> <span class="n">start</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">chars</span><span class="p">)</span>
|
||||
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a> <span class="n">chunks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">chars</span><span class="p">)</span>
|
||||
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a> <span class="k">elif</span> <span class="n">result</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
|
||||
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a> <span class="k">elif</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">:</span>
|
||||
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a> <span class="n">sym</span> <span class="o">=</span> <span class="n">chars</span>
|
||||
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a>
|
||||
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="n">end</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a>
|
||||
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="k">if</span> <span class="n">result</span> <span class="ow">and</span> <span class="n">end</span> <span class="o">></span> <span class="n">size</span><span class="p">:</span>
|
||||
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">!=</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span> <span class="ow">and</span> <span class="n">end</span> <span class="o">></span> <span class="n">size</span><span class="p">:</span>
|
||||
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="n">chunks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">chars</span><span class="p">)</span>
|
||||
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="k">return</span> <span class="s2">""</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">mapping</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">chars</span><span class="p">,</span> <span class="n">chars</span><span class="p">)</span> <span class="k">for</span> <span class="n">chars</span> <span class="ow">in</span> <span class="n">chunks</span><span class="p">)</span>
|
||||
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a>
|
||||
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a> <span class="k">return</span> <span class="s2">""</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">mapping</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">chars</span><span class="p">,</span> <span class="n">chars</span><span class="p">)</span> <span class="k">for</span> <span class="n">chars</span> <span class="ow">in</span> <span class="n">chunks</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -158,7 +159,7 @@
|
|||
</span><span id="format_time-38"><a href="#format_time-38"><span class="linenos">38</span></a> <span class="n">chars</span> <span class="o">=</span> <span class="n">string</span><span class="p">[</span><span class="n">start</span><span class="p">:</span><span class="n">end</span><span class="p">]</span>
|
||||
</span><span id="format_time-39"><a href="#format_time-39"><span class="linenos">39</span></a> <span class="n">result</span><span class="p">,</span> <span class="n">current</span> <span class="o">=</span> <span class="n">in_trie</span><span class="p">(</span><span class="n">current</span><span class="p">,</span> <span class="n">chars</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
||||
</span><span id="format_time-40"><a href="#format_time-40"><span class="linenos">40</span></a>
|
||||
</span><span id="format_time-41"><a href="#format_time-41"><span class="linenos">41</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
</span><span id="format_time-41"><a href="#format_time-41"><span class="linenos">41</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">:</span>
|
||||
</span><span id="format_time-42"><a href="#format_time-42"><span class="linenos">42</span></a> <span class="k">if</span> <span class="n">sym</span><span class="p">:</span>
|
||||
</span><span id="format_time-43"><a href="#format_time-43"><span class="linenos">43</span></a> <span class="n">end</span> <span class="o">-=</span> <span class="mi">1</span>
|
||||
</span><span id="format_time-44"><a href="#format_time-44"><span class="linenos">44</span></a> <span class="n">chars</span> <span class="o">=</span> <span class="n">sym</span>
|
||||
|
@ -166,14 +167,15 @@
|
|||
</span><span id="format_time-46"><a href="#format_time-46"><span class="linenos">46</span></a> <span class="n">start</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">chars</span><span class="p">)</span>
|
||||
</span><span id="format_time-47"><a href="#format_time-47"><span class="linenos">47</span></a> <span class="n">chunks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">chars</span><span class="p">)</span>
|
||||
</span><span id="format_time-48"><a href="#format_time-48"><span class="linenos">48</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="format_time-49"><a href="#format_time-49"><span class="linenos">49</span></a> <span class="k">elif</span> <span class="n">result</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
|
||||
</span><span id="format_time-49"><a href="#format_time-49"><span class="linenos">49</span></a> <span class="k">elif</span> <span class="n">result</span> <span class="o">==</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">:</span>
|
||||
</span><span id="format_time-50"><a href="#format_time-50"><span class="linenos">50</span></a> <span class="n">sym</span> <span class="o">=</span> <span class="n">chars</span>
|
||||
</span><span id="format_time-51"><a href="#format_time-51"><span class="linenos">51</span></a>
|
||||
</span><span id="format_time-52"><a href="#format_time-52"><span class="linenos">52</span></a> <span class="n">end</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||
</span><span id="format_time-53"><a href="#format_time-53"><span class="linenos">53</span></a>
|
||||
</span><span id="format_time-54"><a href="#format_time-54"><span class="linenos">54</span></a> <span class="k">if</span> <span class="n">result</span> <span class="ow">and</span> <span class="n">end</span> <span class="o">></span> <span class="n">size</span><span class="p">:</span>
|
||||
</span><span id="format_time-54"><a href="#format_time-54"><span class="linenos">54</span></a> <span class="k">if</span> <span class="n">result</span> <span class="o">!=</span> <span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span> <span class="ow">and</span> <span class="n">end</span> <span class="o">></span> <span class="n">size</span><span class="p">:</span>
|
||||
</span><span id="format_time-55"><a href="#format_time-55"><span class="linenos">55</span></a> <span class="n">chunks</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">chars</span><span class="p">)</span>
|
||||
</span><span id="format_time-56"><a href="#format_time-56"><span class="linenos">56</span></a> <span class="k">return</span> <span class="s2">""</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">mapping</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">chars</span><span class="p">,</span> <span class="n">chars</span><span class="p">)</span> <span class="k">for</span> <span class="n">chars</span> <span class="ow">in</span> <span class="n">chunks</span><span class="p">)</span>
|
||||
</span><span id="format_time-56"><a href="#format_time-56"><span class="linenos">56</span></a>
|
||||
</span><span id="format_time-57"><a href="#format_time-57"><span class="linenos">57</span></a> <span class="k">return</span> <span class="s2">""</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">mapping</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">chars</span><span class="p">,</span> <span class="n">chars</span><span class="p">)</span> <span class="k">for</span> <span class="n">chars</span> <span class="ow">in</span> <span class="n">chunks</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.transforms API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="generator" content="pdoc 13.1.1"/>
|
||||
<meta name="generator" content="pdoc 14.0.0"/>
|
||||
<title>sqlglot.trie API documentation</title>
|
||||
|
||||
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
||||
|
@ -30,6 +30,24 @@
|
|||
|
||||
<h2>API Documentation</h2>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#key">key</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="class" href="#TrieResult">TrieResult</a>
|
||||
<ul class="memberlist">
|
||||
<li>
|
||||
<a class="variable" href="#TrieResult.FAILED">FAILED</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#TrieResult.PREFIX">PREFIX</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="variable" href="#TrieResult.EXISTS">EXISTS</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<a class="function" href="#new_trie">new_trie</a>
|
||||
</li>
|
||||
|
@ -60,79 +78,171 @@
|
|||
<label class="view-source-button" for="mod-trie-view-source"><span>View Source</span></label>
|
||||
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos"> 1</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-2"><a href="#L-2"><span class="linenos"> 2</span></a>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a><span class="n">key</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="n">t</span><span class="o">.</span><span class="n">Hashable</span><span class="p">]</span>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a>
|
||||
</span><span id="L-2"><a href="#L-2"><span class="linenos"> 2</span></a><span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">Enum</span><span class="p">,</span> <span class="n">auto</span>
|
||||
</span><span id="L-3"><a href="#L-3"><span class="linenos"> 3</span></a>
|
||||
</span><span id="L-4"><a href="#L-4"><span class="linenos"> 4</span></a><span class="n">key</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="n">t</span><span class="o">.</span><span class="n">Hashable</span><span class="p">]</span>
|
||||
</span><span id="L-5"><a href="#L-5"><span class="linenos"> 5</span></a>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a><span class="k">def</span> <span class="nf">new_trie</span><span class="p">(</span><span class="n">keywords</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Iterable</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="n">trie</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 class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a><span class="sd"> Creates a new trie out of a collection of keywords.</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a><span class="sd"> The trie is represented as a sequence of nested dictionaries keyed by either single character</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a><span class="sd"> strings, or by 0, which is used to designate that a keyword is in the trie.</span>
|
||||
</span><span id="L-6"><a href="#L-6"><span class="linenos"> 6</span></a>
|
||||
</span><span id="L-7"><a href="#L-7"><span class="linenos"> 7</span></a><span class="k">class</span> <span class="nc">TrieResult</span><span class="p">(</span><span class="n">Enum</span><span class="p">):</span>
|
||||
</span><span id="L-8"><a href="#L-8"><span class="linenos"> 8</span></a> <span class="n">FAILED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
|
||||
</span><span id="L-9"><a href="#L-9"><span class="linenos"> 9</span></a> <span class="n">PREFIX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
|
||||
</span><span id="L-10"><a href="#L-10"><span class="linenos">10</span></a> <span class="n">EXISTS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
|
||||
</span><span id="L-11"><a href="#L-11"><span class="linenos">11</span></a>
|
||||
</span><span id="L-12"><a href="#L-12"><span class="linenos">12</span></a>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="sd"> Example:</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="sd"> >>> new_trie(["bla", "foo", "blab"])</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="sd"> {'b': {'l': {'a': {0: True, 'b': {0: True}}}}, 'f': {'o': {'o': {0: True}}}}</span>
|
||||
</span><span id="L-13"><a href="#L-13"><span class="linenos">13</span></a><span class="k">def</span> <span class="nf">new_trie</span><span class="p">(</span><span class="n">keywords</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Iterable</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="n">trie</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 class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
||||
</span><span id="L-14"><a href="#L-14"><span class="linenos">14</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-15"><a href="#L-15"><span class="linenos">15</span></a><span class="sd"> Creates a new trie out of a collection of keywords.</span>
|
||||
</span><span id="L-16"><a href="#L-16"><span class="linenos">16</span></a>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a><span class="sd"> keywords: the keywords to create the trie from.</span>
|
||||
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a><span class="sd"> trie: a trie to mutate instead of creating a new one</span>
|
||||
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a>
|
||||
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a><span class="sd"> The trie corresponding to `keywords`.</span>
|
||||
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a> <span class="n">trie</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">trie</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">trie</span>
|
||||
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a>
|
||||
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keywords</span><span class="p">:</span>
|
||||
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a>
|
||||
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">current</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">char</span><span class="p">,</span> <span class="p">{})</span>
|
||||
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="n">current</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="L-17"><a href="#L-17"><span class="linenos">17</span></a><span class="sd"> The trie is represented as a sequence of nested dictionaries keyed by either single</span>
|
||||
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a><span class="sd"> character strings, or by 0, which is used to designate that a keyword is in the trie.</span>
|
||||
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a>
|
||||
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a><span class="sd"> Example:</span>
|
||||
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a><span class="sd"> >>> new_trie(["bla", "foo", "blab"])</span>
|
||||
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a><span class="sd"> {'b': {'l': {'a': {0: True, 'b': {0: True}}}}, 'f': {'o': {'o': {0: True}}}}</span>
|
||||
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a>
|
||||
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a><span class="sd"> keywords: the keywords to create the trie from.</span>
|
||||
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a><span class="sd"> trie: a trie to mutate instead of creating a new one</span>
|
||||
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a>
|
||||
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> The trie corresponding to `keywords`.</span>
|
||||
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="n">trie</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">trie</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">trie</span>
|
||||
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a>
|
||||
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="k">return</span> <span class="n">trie</span>
|
||||
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a>
|
||||
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a>
|
||||
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a><span class="k">def</span> <span class="nf">in_trie</span><span class="p">(</span><span class="n">trie</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">key</span><span class="p">:</span> <span class="n">key</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]:</span>
|
||||
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a><span class="sd"> Checks whether a key is in a trie.</span>
|
||||
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keywords</span><span class="p">:</span>
|
||||
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">current</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">char</span><span class="p">,</span> <span class="p">{})</span>
|
||||
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a>
|
||||
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="n">current</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a>
|
||||
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a><span class="sd"> Examples:</span>
|
||||
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "bob")</span>
|
||||
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a><span class="sd"> (0, {'c': {'a': {'t': {0: True}}}})</span>
|
||||
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a>
|
||||
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "ca")</span>
|
||||
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a><span class="sd"> (1, {'t': {0: True}})</span>
|
||||
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a> <span class="k">return</span> <span class="n">trie</span>
|
||||
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a>
|
||||
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a>
|
||||
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a><span class="k">def</span> <span class="nf">in_trie</span><span class="p">(</span><span class="n">trie</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">key</span><span class="p">:</span> <span class="n">key</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="n">TrieResult</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]:</span>
|
||||
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a><span class="sd"> Checks whether a key is in a trie.</span>
|
||||
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a>
|
||||
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "cat")</span>
|
||||
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="sd"> (2, {0: True})</span>
|
||||
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a>
|
||||
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a><span class="sd"> trie: the trie to be searched.</span>
|
||||
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a><span class="sd"> key: the target key.</span>
|
||||
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a><span class="sd"> Examples:</span>
|
||||
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "bob")</span>
|
||||
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="sd"> (<TrieResult.FAILED: 1>, {'c': {'a': {'t': {0: True}}}})</span>
|
||||
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a>
|
||||
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "ca")</span>
|
||||
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a><span class="sd"> (<TrieResult.PREFIX: 2>, {'t': {0: True}})</span>
|
||||
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a>
|
||||
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a><span class="sd"> A pair `(value, subtrie)`, where `subtrie` is the sub-trie we get at the point where the search stops, and `value`</span>
|
||||
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a><span class="sd"> is either 0 (search was unsuccessful), 1 (`value` is a prefix of a keyword in `trie`) or 2 (`key is in `trie`).</span>
|
||||
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a> <span class="k">return</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">trie</span><span class="p">)</span>
|
||||
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "cat")</span>
|
||||
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a><span class="sd"> (<TrieResult.EXISTS: 3>, {0: True})</span>
|
||||
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a>
|
||||
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a><span class="sd"> trie: The trie to be searched.</span>
|
||||
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a><span class="sd"> key: The target key.</span>
|
||||
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a>
|
||||
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a>
|
||||
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">current</span><span class="p">:</span>
|
||||
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a> <span class="k">return</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">current</span><span class="p">[</span><span class="n">char</span><span class="p">]</span>
|
||||
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a>
|
||||
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="k">if</span> <span class="mi">0</span> <span class="ow">in</span> <span class="n">current</span><span class="p">:</span>
|
||||
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="k">return</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a> <span class="k">return</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a><span class="sd"> A pair `(value, subtrie)`, where `subtrie` is the sub-trie we get at the point</span>
|
||||
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a><span class="sd"> where the search stops, and `value` is a TrieResult value that can be one of:</span>
|
||||
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a>
|
||||
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a><span class="sd"> - TrieResult.FAILED: the search was unsuccessful</span>
|
||||
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a><span class="sd"> - TrieResult.PREFIX: `value` is a prefix of a keyword in `trie`</span>
|
||||
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a><span class="sd"> - TrieResult.EXISTS: `key` exists in `trie`</span>
|
||||
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a><span class="sd"> """</span>
|
||||
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="n">trie</span><span class="p">)</span>
|
||||
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a>
|
||||
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">current</span><span class="p">:</span>
|
||||
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">current</span><span class="p">[</span><span class="n">char</span><span class="p">]</span>
|
||||
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a>
|
||||
</span><span id="L-78"><a href="#L-78"><span class="linenos">78</span></a> <span class="k">if</span> <span class="mi">0</span> <span class="ow">in</span> <span class="n">current</span><span class="p">:</span>
|
||||
</span><span id="L-79"><a href="#L-79"><span class="linenos">79</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">TrieResult</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="L-80"><a href="#L-80"><span class="linenos">80</span></a>
|
||||
</span><span id="L-81"><a href="#L-81"><span class="linenos">81</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
</section>
|
||||
<section id="key">
|
||||
<div class="attr variable">
|
||||
<span class="name">key</span> =
|
||||
<span class="default_value">typing.Sequence[typing.Hashable]</span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#key"></a>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<section id="TrieResult">
|
||||
<input id="TrieResult-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">TrieResult</span><wbr>(<span class="base">enum.Enum</span>):
|
||||
|
||||
<label class="view-source-button" for="TrieResult-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#TrieResult"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="TrieResult-8"><a href="#TrieResult-8"><span class="linenos"> 8</span></a><span class="k">class</span> <span class="nc">TrieResult</span><span class="p">(</span><span class="n">Enum</span><span class="p">):</span>
|
||||
</span><span id="TrieResult-9"><a href="#TrieResult-9"><span class="linenos"> 9</span></a> <span class="n">FAILED</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
|
||||
</span><span id="TrieResult-10"><a href="#TrieResult-10"><span class="linenos">10</span></a> <span class="n">PREFIX</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
|
||||
</span><span id="TrieResult-11"><a href="#TrieResult-11"><span class="linenos">11</span></a> <span class="n">EXISTS</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
<div class="docstring"><p>An enumeration.</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="TrieResult.FAILED" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">FAILED</span> =
|
||||
<span class="default_value"><<a href="#TrieResult.FAILED">TrieResult.FAILED</a>: 1></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#TrieResult.FAILED"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="TrieResult.PREFIX" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">PREFIX</span> =
|
||||
<span class="default_value"><<a href="#TrieResult.PREFIX">TrieResult.PREFIX</a>: 2></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#TrieResult.PREFIX"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="TrieResult.EXISTS" class="classattr">
|
||||
<div class="attr variable">
|
||||
<span class="name">EXISTS</span> =
|
||||
<span class="default_value"><<a href="#TrieResult.EXISTS">TrieResult.EXISTS</a>: 3></span>
|
||||
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#TrieResult.EXISTS"></a>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="inherited">
|
||||
<h5>Inherited Members</h5>
|
||||
<dl>
|
||||
<div><dt>enum.Enum</dt>
|
||||
<dd id="TrieResult.name" class="variable">name</dd>
|
||||
<dd id="TrieResult.value" class="variable">value</dd>
|
||||
|
||||
</div>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section id="new_trie">
|
||||
<input id="new_trie-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
|
||||
<div class="attr function">
|
||||
|
@ -144,41 +254,41 @@
|
|||
|
||||
</div>
|
||||
<a class="headerlink" href="#new_trie"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="new_trie-7"><a href="#new_trie-7"><span class="linenos"> 7</span></a><span class="k">def</span> <span class="nf">new_trie</span><span class="p">(</span><span class="n">keywords</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Iterable</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="n">trie</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 class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
||||
</span><span id="new_trie-8"><a href="#new_trie-8"><span class="linenos"> 8</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="new_trie-9"><a href="#new_trie-9"><span class="linenos"> 9</span></a><span class="sd"> Creates a new trie out of a collection of keywords.</span>
|
||||
</span><span id="new_trie-10"><a href="#new_trie-10"><span class="linenos">10</span></a>
|
||||
</span><span id="new_trie-11"><a href="#new_trie-11"><span class="linenos">11</span></a><span class="sd"> The trie is represented as a sequence of nested dictionaries keyed by either single character</span>
|
||||
</span><span id="new_trie-12"><a href="#new_trie-12"><span class="linenos">12</span></a><span class="sd"> strings, or by 0, which is used to designate that a keyword is in the trie.</span>
|
||||
</span><span id="new_trie-13"><a href="#new_trie-13"><span class="linenos">13</span></a>
|
||||
</span><span id="new_trie-14"><a href="#new_trie-14"><span class="linenos">14</span></a><span class="sd"> Example:</span>
|
||||
</span><span id="new_trie-15"><a href="#new_trie-15"><span class="linenos">15</span></a><span class="sd"> >>> new_trie(["bla", "foo", "blab"])</span>
|
||||
</span><span id="new_trie-16"><a href="#new_trie-16"><span class="linenos">16</span></a><span class="sd"> {'b': {'l': {'a': {0: True, 'b': {0: True}}}}, 'f': {'o': {'o': {0: True}}}}</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="new_trie-14"><a href="#new_trie-14"><span class="linenos">14</span></a><span class="k">def</span> <span class="nf">new_trie</span><span class="p">(</span><span class="n">keywords</span><span class="p">:</span> <span class="n">t</span><span class="o">.</span><span class="n">Iterable</span><span class="p">[</span><span class="n">key</span><span class="p">],</span> <span class="n">trie</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 class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">:</span>
|
||||
</span><span id="new_trie-15"><a href="#new_trie-15"><span class="linenos">15</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="new_trie-16"><a href="#new_trie-16"><span class="linenos">16</span></a><span class="sd"> Creates a new trie out of a collection of keywords.</span>
|
||||
</span><span id="new_trie-17"><a href="#new_trie-17"><span class="linenos">17</span></a>
|
||||
</span><span id="new_trie-18"><a href="#new_trie-18"><span class="linenos">18</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="new_trie-19"><a href="#new_trie-19"><span class="linenos">19</span></a><span class="sd"> keywords: the keywords to create the trie from.</span>
|
||||
</span><span id="new_trie-20"><a href="#new_trie-20"><span class="linenos">20</span></a><span class="sd"> trie: a trie to mutate instead of creating a new one</span>
|
||||
</span><span id="new_trie-21"><a href="#new_trie-21"><span class="linenos">21</span></a>
|
||||
</span><span id="new_trie-22"><a href="#new_trie-22"><span class="linenos">22</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="new_trie-23"><a href="#new_trie-23"><span class="linenos">23</span></a><span class="sd"> The trie corresponding to `keywords`.</span>
|
||||
</span><span id="new_trie-24"><a href="#new_trie-24"><span class="linenos">24</span></a><span class="sd"> """</span>
|
||||
</span><span id="new_trie-25"><a href="#new_trie-25"><span class="linenos">25</span></a> <span class="n">trie</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">trie</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">trie</span>
|
||||
</span><span id="new_trie-26"><a href="#new_trie-26"><span class="linenos">26</span></a>
|
||||
</span><span id="new_trie-27"><a href="#new_trie-27"><span class="linenos">27</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keywords</span><span class="p">:</span>
|
||||
</span><span id="new_trie-28"><a href="#new_trie-28"><span class="linenos">28</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="new_trie-29"><a href="#new_trie-29"><span class="linenos">29</span></a>
|
||||
</span><span id="new_trie-30"><a href="#new_trie-30"><span class="linenos">30</span></a> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="new_trie-31"><a href="#new_trie-31"><span class="linenos">31</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">current</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">char</span><span class="p">,</span> <span class="p">{})</span>
|
||||
</span><span id="new_trie-32"><a href="#new_trie-32"><span class="linenos">32</span></a> <span class="n">current</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="new_trie-18"><a href="#new_trie-18"><span class="linenos">18</span></a><span class="sd"> The trie is represented as a sequence of nested dictionaries keyed by either single</span>
|
||||
</span><span id="new_trie-19"><a href="#new_trie-19"><span class="linenos">19</span></a><span class="sd"> character strings, or by 0, which is used to designate that a keyword is in the trie.</span>
|
||||
</span><span id="new_trie-20"><a href="#new_trie-20"><span class="linenos">20</span></a>
|
||||
</span><span id="new_trie-21"><a href="#new_trie-21"><span class="linenos">21</span></a><span class="sd"> Example:</span>
|
||||
</span><span id="new_trie-22"><a href="#new_trie-22"><span class="linenos">22</span></a><span class="sd"> >>> new_trie(["bla", "foo", "blab"])</span>
|
||||
</span><span id="new_trie-23"><a href="#new_trie-23"><span class="linenos">23</span></a><span class="sd"> {'b': {'l': {'a': {0: True, 'b': {0: True}}}}, 'f': {'o': {'o': {0: True}}}}</span>
|
||||
</span><span id="new_trie-24"><a href="#new_trie-24"><span class="linenos">24</span></a>
|
||||
</span><span id="new_trie-25"><a href="#new_trie-25"><span class="linenos">25</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="new_trie-26"><a href="#new_trie-26"><span class="linenos">26</span></a><span class="sd"> keywords: the keywords to create the trie from.</span>
|
||||
</span><span id="new_trie-27"><a href="#new_trie-27"><span class="linenos">27</span></a><span class="sd"> trie: a trie to mutate instead of creating a new one</span>
|
||||
</span><span id="new_trie-28"><a href="#new_trie-28"><span class="linenos">28</span></a>
|
||||
</span><span id="new_trie-29"><a href="#new_trie-29"><span class="linenos">29</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="new_trie-30"><a href="#new_trie-30"><span class="linenos">30</span></a><span class="sd"> The trie corresponding to `keywords`.</span>
|
||||
</span><span id="new_trie-31"><a href="#new_trie-31"><span class="linenos">31</span></a><span class="sd"> """</span>
|
||||
</span><span id="new_trie-32"><a href="#new_trie-32"><span class="linenos">32</span></a> <span class="n">trie</span> <span class="o">=</span> <span class="p">{}</span> <span class="k">if</span> <span class="n">trie</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">trie</span>
|
||||
</span><span id="new_trie-33"><a href="#new_trie-33"><span class="linenos">33</span></a>
|
||||
</span><span id="new_trie-34"><a href="#new_trie-34"><span class="linenos">34</span></a> <span class="k">return</span> <span class="n">trie</span>
|
||||
</span><span id="new_trie-34"><a href="#new_trie-34"><span class="linenos">34</span></a> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keywords</span><span class="p">:</span>
|
||||
</span><span id="new_trie-35"><a href="#new_trie-35"><span class="linenos">35</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="new_trie-36"><a href="#new_trie-36"><span class="linenos">36</span></a> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="new_trie-37"><a href="#new_trie-37"><span class="linenos">37</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">current</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="n">char</span><span class="p">,</span> <span class="p">{})</span>
|
||||
</span><span id="new_trie-38"><a href="#new_trie-38"><span class="linenos">38</span></a>
|
||||
</span><span id="new_trie-39"><a href="#new_trie-39"><span class="linenos">39</span></a> <span class="n">current</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
</span><span id="new_trie-40"><a href="#new_trie-40"><span class="linenos">40</span></a>
|
||||
</span><span id="new_trie-41"><a href="#new_trie-41"><span class="linenos">41</span></a> <span class="k">return</span> <span class="n">trie</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
<div class="docstring"><p>Creates a new trie out of a collection of keywords.</p>
|
||||
|
||||
<p>The trie is represented as a sequence of nested dictionaries keyed by either single character
|
||||
strings, or by 0, which is used to designate that a keyword is in the trie.</p>
|
||||
<p>The trie is represented as a sequence of nested dictionaries keyed by either single
|
||||
character strings, or by 0, which is used to designate that a keyword is in the trie.</p>
|
||||
|
||||
<h6 id="example">Example:</h6>
|
||||
|
||||
|
@ -211,47 +321,51 @@ strings, or by 0, which is used to designate that a keyword is in the trie.</p>
|
|||
<div class="attr function">
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">in_trie</span><span class="signature pdoc-code condensed">(<span class="param"><span class="n">trie</span><span class="p">:</span> <span class="n">Dict</span>, </span><span class="param"><span class="n">key</span><span class="p">:</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">Hashable</span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n">Tuple</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="n">Dict</span><span class="p">]</span>:</span></span>
|
||||
<span class="name">in_trie</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="n">trie</span><span class="p">:</span> <span class="n">Dict</span>,</span><span class="param"> <span class="n">key</span><span class="p">:</span> <span class="n">Sequence</span><span class="p">[</span><span class="n">Hashable</span><span class="p">]</span></span><span class="return-annotation">) -> <span class="n">Tuple</span><span class="p">[</span><span class="n"><a href="#TrieResult">sqlglot.trie.TrieResult</a></span><span class="p">,</span> <span class="n">Dict</span><span class="p">]</span>:</span></span>
|
||||
|
||||
<label class="view-source-button" for="in_trie-view-source"><span>View Source</span></label>
|
||||
|
||||
</div>
|
||||
<a class="headerlink" href="#in_trie"></a>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="in_trie-37"><a href="#in_trie-37"><span class="linenos">37</span></a><span class="k">def</span> <span class="nf">in_trie</span><span class="p">(</span><span class="n">trie</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">key</span><span class="p">:</span> <span class="n">key</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]:</span>
|
||||
</span><span id="in_trie-38"><a href="#in_trie-38"><span class="linenos">38</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="in_trie-39"><a href="#in_trie-39"><span class="linenos">39</span></a><span class="sd"> Checks whether a key is in a trie.</span>
|
||||
</span><span id="in_trie-40"><a href="#in_trie-40"><span class="linenos">40</span></a>
|
||||
</span><span id="in_trie-41"><a href="#in_trie-41"><span class="linenos">41</span></a><span class="sd"> Examples:</span>
|
||||
</span><span id="in_trie-42"><a href="#in_trie-42"><span class="linenos">42</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "bob")</span>
|
||||
</span><span id="in_trie-43"><a href="#in_trie-43"><span class="linenos">43</span></a><span class="sd"> (0, {'c': {'a': {'t': {0: True}}}})</span>
|
||||
</span><span id="in_trie-44"><a href="#in_trie-44"><span class="linenos">44</span></a>
|
||||
</span><span id="in_trie-45"><a href="#in_trie-45"><span class="linenos">45</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "ca")</span>
|
||||
</span><span id="in_trie-46"><a href="#in_trie-46"><span class="linenos">46</span></a><span class="sd"> (1, {'t': {0: True}})</span>
|
||||
<div class="pdoc-code codehilite"><pre><span></span><span id="in_trie-44"><a href="#in_trie-44"><span class="linenos">44</span></a><span class="k">def</span> <span class="nf">in_trie</span><span class="p">(</span><span class="n">trie</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">key</span><span class="p">:</span> <span class="n">key</span><span class="p">)</span> <span class="o">-></span> <span class="n">t</span><span class="o">.</span><span class="n">Tuple</span><span class="p">[</span><span class="n">TrieResult</span><span class="p">,</span> <span class="n">t</span><span class="o">.</span><span class="n">Dict</span><span class="p">]:</span>
|
||||
</span><span id="in_trie-45"><a href="#in_trie-45"><span class="linenos">45</span></a><span class="w"> </span><span class="sd">"""</span>
|
||||
</span><span id="in_trie-46"><a href="#in_trie-46"><span class="linenos">46</span></a><span class="sd"> Checks whether a key is in a trie.</span>
|
||||
</span><span id="in_trie-47"><a href="#in_trie-47"><span class="linenos">47</span></a>
|
||||
</span><span id="in_trie-48"><a href="#in_trie-48"><span class="linenos">48</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "cat")</span>
|
||||
</span><span id="in_trie-49"><a href="#in_trie-49"><span class="linenos">49</span></a><span class="sd"> (2, {0: True})</span>
|
||||
</span><span id="in_trie-50"><a href="#in_trie-50"><span class="linenos">50</span></a>
|
||||
</span><span id="in_trie-51"><a href="#in_trie-51"><span class="linenos">51</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="in_trie-52"><a href="#in_trie-52"><span class="linenos">52</span></a><span class="sd"> trie: the trie to be searched.</span>
|
||||
</span><span id="in_trie-53"><a href="#in_trie-53"><span class="linenos">53</span></a><span class="sd"> key: the target key.</span>
|
||||
</span><span id="in_trie-48"><a href="#in_trie-48"><span class="linenos">48</span></a><span class="sd"> Examples:</span>
|
||||
</span><span id="in_trie-49"><a href="#in_trie-49"><span class="linenos">49</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "bob")</span>
|
||||
</span><span id="in_trie-50"><a href="#in_trie-50"><span class="linenos">50</span></a><span class="sd"> (<TrieResult.FAILED: 1>, {'c': {'a': {'t': {0: True}}}})</span>
|
||||
</span><span id="in_trie-51"><a href="#in_trie-51"><span class="linenos">51</span></a>
|
||||
</span><span id="in_trie-52"><a href="#in_trie-52"><span class="linenos">52</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "ca")</span>
|
||||
</span><span id="in_trie-53"><a href="#in_trie-53"><span class="linenos">53</span></a><span class="sd"> (<TrieResult.PREFIX: 2>, {'t': {0: True}})</span>
|
||||
</span><span id="in_trie-54"><a href="#in_trie-54"><span class="linenos">54</span></a>
|
||||
</span><span id="in_trie-55"><a href="#in_trie-55"><span class="linenos">55</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="in_trie-56"><a href="#in_trie-56"><span class="linenos">56</span></a><span class="sd"> A pair `(value, subtrie)`, where `subtrie` is the sub-trie we get at the point where the search stops, and `value`</span>
|
||||
</span><span id="in_trie-57"><a href="#in_trie-57"><span class="linenos">57</span></a><span class="sd"> is either 0 (search was unsuccessful), 1 (`value` is a prefix of a keyword in `trie`) or 2 (`key is in `trie`).</span>
|
||||
</span><span id="in_trie-58"><a href="#in_trie-58"><span class="linenos">58</span></a><span class="sd"> """</span>
|
||||
</span><span id="in_trie-59"><a href="#in_trie-59"><span class="linenos">59</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="in_trie-60"><a href="#in_trie-60"><span class="linenos">60</span></a> <span class="k">return</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">trie</span><span class="p">)</span>
|
||||
</span><span id="in_trie-55"><a href="#in_trie-55"><span class="linenos">55</span></a><span class="sd"> >>> in_trie(new_trie(["cat"]), "cat")</span>
|
||||
</span><span id="in_trie-56"><a href="#in_trie-56"><span class="linenos">56</span></a><span class="sd"> (<TrieResult.EXISTS: 3>, {0: True})</span>
|
||||
</span><span id="in_trie-57"><a href="#in_trie-57"><span class="linenos">57</span></a>
|
||||
</span><span id="in_trie-58"><a href="#in_trie-58"><span class="linenos">58</span></a><span class="sd"> Args:</span>
|
||||
</span><span id="in_trie-59"><a href="#in_trie-59"><span class="linenos">59</span></a><span class="sd"> trie: The trie to be searched.</span>
|
||||
</span><span id="in_trie-60"><a href="#in_trie-60"><span class="linenos">60</span></a><span class="sd"> key: The target key.</span>
|
||||
</span><span id="in_trie-61"><a href="#in_trie-61"><span class="linenos">61</span></a>
|
||||
</span><span id="in_trie-62"><a href="#in_trie-62"><span class="linenos">62</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="in_trie-63"><a href="#in_trie-63"><span class="linenos">63</span></a>
|
||||
</span><span id="in_trie-64"><a href="#in_trie-64"><span class="linenos">64</span></a> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="in_trie-65"><a href="#in_trie-65"><span class="linenos">65</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">current</span><span class="p">:</span>
|
||||
</span><span id="in_trie-66"><a href="#in_trie-66"><span class="linenos">66</span></a> <span class="k">return</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="in_trie-67"><a href="#in_trie-67"><span class="linenos">67</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">current</span><span class="p">[</span><span class="n">char</span><span class="p">]</span>
|
||||
</span><span id="in_trie-68"><a href="#in_trie-68"><span class="linenos">68</span></a>
|
||||
</span><span id="in_trie-69"><a href="#in_trie-69"><span class="linenos">69</span></a> <span class="k">if</span> <span class="mi">0</span> <span class="ow">in</span> <span class="n">current</span><span class="p">:</span>
|
||||
</span><span id="in_trie-70"><a href="#in_trie-70"><span class="linenos">70</span></a> <span class="k">return</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="in_trie-71"><a href="#in_trie-71"><span class="linenos">71</span></a> <span class="k">return</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="in_trie-62"><a href="#in_trie-62"><span class="linenos">62</span></a><span class="sd"> Returns:</span>
|
||||
</span><span id="in_trie-63"><a href="#in_trie-63"><span class="linenos">63</span></a><span class="sd"> A pair `(value, subtrie)`, where `subtrie` is the sub-trie we get at the point</span>
|
||||
</span><span id="in_trie-64"><a href="#in_trie-64"><span class="linenos">64</span></a><span class="sd"> where the search stops, and `value` is a TrieResult value that can be one of:</span>
|
||||
</span><span id="in_trie-65"><a href="#in_trie-65"><span class="linenos">65</span></a>
|
||||
</span><span id="in_trie-66"><a href="#in_trie-66"><span class="linenos">66</span></a><span class="sd"> - TrieResult.FAILED: the search was unsuccessful</span>
|
||||
</span><span id="in_trie-67"><a href="#in_trie-67"><span class="linenos">67</span></a><span class="sd"> - TrieResult.PREFIX: `value` is a prefix of a keyword in `trie`</span>
|
||||
</span><span id="in_trie-68"><a href="#in_trie-68"><span class="linenos">68</span></a><span class="sd"> - TrieResult.EXISTS: `key` exists in `trie`</span>
|
||||
</span><span id="in_trie-69"><a href="#in_trie-69"><span class="linenos">69</span></a><span class="sd"> """</span>
|
||||
</span><span id="in_trie-70"><a href="#in_trie-70"><span class="linenos">70</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="in_trie-71"><a href="#in_trie-71"><span class="linenos">71</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="n">trie</span><span class="p">)</span>
|
||||
</span><span id="in_trie-72"><a href="#in_trie-72"><span class="linenos">72</span></a>
|
||||
</span><span id="in_trie-73"><a href="#in_trie-73"><span class="linenos">73</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">trie</span>
|
||||
</span><span id="in_trie-74"><a href="#in_trie-74"><span class="linenos">74</span></a> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span>
|
||||
</span><span id="in_trie-75"><a href="#in_trie-75"><span class="linenos">75</span></a> <span class="k">if</span> <span class="n">char</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">current</span><span class="p">:</span>
|
||||
</span><span id="in_trie-76"><a href="#in_trie-76"><span class="linenos">76</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">TrieResult</span><span class="o">.</span><span class="n">FAILED</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="in_trie-77"><a href="#in_trie-77"><span class="linenos">77</span></a> <span class="n">current</span> <span class="o">=</span> <span class="n">current</span><span class="p">[</span><span class="n">char</span><span class="p">]</span>
|
||||
</span><span id="in_trie-78"><a href="#in_trie-78"><span class="linenos">78</span></a>
|
||||
</span><span id="in_trie-79"><a href="#in_trie-79"><span class="linenos">79</span></a> <span class="k">if</span> <span class="mi">0</span> <span class="ow">in</span> <span class="n">current</span><span class="p">:</span>
|
||||
</span><span id="in_trie-80"><a href="#in_trie-80"><span class="linenos">80</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">TrieResult</span><span class="o">.</span><span class="n">EXISTS</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span><span id="in_trie-81"><a href="#in_trie-81"><span class="linenos">81</span></a>
|
||||
</span><span id="in_trie-82"><a href="#in_trie-82"><span class="linenos">82</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">TrieResult</span><span class="o">.</span><span class="n">PREFIX</span><span class="p">,</span> <span class="n">current</span><span class="p">)</span>
|
||||
</span></pre></div>
|
||||
|
||||
|
||||
|
@ -262,19 +376,19 @@ strings, or by 0, which is used to designate that a keyword is in the trie.</p>
|
|||
<blockquote>
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="n">in_trie</span><span class="p">(</span><span class="n">new_trie</span><span class="p">([</span><span class="s2">"cat"</span><span class="p">]),</span> <span class="s2">"bob"</span><span class="p">)</span>
|
||||
<span class="go">(0, {'c': {'a': {'t': {0: True}}}})</span>
|
||||
<span class="go">(<<a href="#TrieResult.FAILED">TrieResult.FAILED</a>: 1>, {'c': {'a': {'t': {0: True}}}})</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="n">in_trie</span><span class="p">(</span><span class="n">new_trie</span><span class="p">([</span><span class="s2">"cat"</span><span class="p">]),</span> <span class="s2">"ca"</span><span class="p">)</span>
|
||||
<span class="go">(1, {'t': {0: True}})</span>
|
||||
<span class="go">(<<a href="#TrieResult.PREFIX">TrieResult.PREFIX</a>: 2>, {'t': {0: True}})</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="pdoc-code codehilite">
|
||||
<pre><span></span><code><span class="gp">>>> </span><span class="n">in_trie</span><span class="p">(</span><span class="n">new_trie</span><span class="p">([</span><span class="s2">"cat"</span><span class="p">]),</span> <span class="s2">"cat"</span><span class="p">)</span>
|
||||
<span class="go">(2, {0: True})</span>
|
||||
<span class="go">(<<a href="#TrieResult.EXISTS">TrieResult.EXISTS</a>: 3>, {0: True})</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
</blockquote>
|
||||
|
@ -282,15 +396,21 @@ strings, or by 0, which is used to designate that a keyword is in the trie.</p>
|
|||
<h6 id="arguments">Arguments:</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>trie:</strong> the trie to be searched.</li>
|
||||
<li><strong>key:</strong> the target key.</li>
|
||||
<li><strong>trie:</strong> The trie to be searched.</li>
|
||||
<li><strong>key:</strong> The target key.</li>
|
||||
</ul>
|
||||
|
||||
<h6 id="returns">Returns:</h6>
|
||||
|
||||
<blockquote>
|
||||
<p>A pair <code>(value, subtrie)</code>, where <code>subtrie</code> is the sub-trie we get at the point where the search stops, and <code>value</code>
|
||||
is either 0 (search was unsuccessful), 1 (<code>value</code> is a prefix of a keyword in <code>trie</code>) or 2 (<code>key is in</code>trie`).</p>
|
||||
<p>A pair <code>(value, subtrie)</code>, where <code>subtrie</code> is the sub-trie we get at the point
|
||||
where the search stops, and <code>value</code> is a TrieResult value that can be one of:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="#TrieResult.FAILED">TrieResult.FAILED</a>: the search was unsuccessful</li>
|
||||
<li><a href="#TrieResult.PREFIX">TrieResult.PREFIX</a>: <code>value</code> is a prefix of a keyword in <code>trie</code></li>
|
||||
<li><a href="#TrieResult.EXISTS">TrieResult.EXISTS</a>: <code><a href="#key">key</a></code> exists in <code>trie</code></li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue